Class VkShaderStatisticsInfoAMD
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkShaderStatisticsInfoAMD
-
- All Implemented Interfaces:
org.lwjgl.system.Pointer
public class VkShaderStatisticsInfoAMD extends org.lwjgl.system.StructStatistical information about a particular shader within a pipeline.Description
Some implementations may merge multiple logical shader stages together in a single shader. In such cases,
shaderStageMaskwill contain a bitmask of all of the stages that are active within that shader. Consequently, if specifying those stages as input toGetShaderInfoAMD, the same output information may be returned for all such shader stage queries.The number of available VGPRs and SGPRs (
numAvailableVgprsandnumAvailableSgprsrespectively) are the shader-addressable subset of physical registers that is given as a limit to the compiler for register assignment. These values may further be limited by implementations due to performance optimizations where register pressure is a bottleneck.See Also
Layout
struct VkShaderStatisticsInfoAMD { VkShaderStageFlagsshaderStageMask();VkShaderResourceUsageAMDresourceUsage(); uint32_tnumPhysicalVgprs(); uint32_tnumPhysicalSgprs(); uint32_tnumAvailableVgprs(); uint32_tnumAvailableSgprs(); uint32_tcomputeWorkGroupSize()[3]; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkShaderStatisticsInfoAMD.BufferAn array ofVkShaderStatisticsInfoAMDstructs.
-
Field Summary
Fields Modifier and Type Field Description static intALIGNOFThe struct alignment in bytes.static intCOMPUTEWORKGROUPSIZE
NUMAVAILABLESGPRS
NUMAVAILABLEVGPRS
NUMPHYSICALSGPRS
NUMPHYSICALVGPRS
RESOURCEUSAGE
SHADERSTAGEMASKThe struct member offsets.static intSIZEOFThe struct size in bytes.
-
Constructor Summary
Constructors Constructor Description VkShaderStatisticsInfoAMD(java.nio.ByteBuffer container)Creates aVkShaderStatisticsInfoAMDinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.nio.IntBuffercomputeWorkGroupSize()the local workgroup size of this shader in { X, Y, Z } dimensions.intcomputeWorkGroupSize(int index)the local workgroup size of this shader in { X, Y, Z } dimensions.static VkShaderStatisticsInfoAMDcreate(long address)Returns a newVkShaderStatisticsInfoAMDinstance for the specified memory address.static VkShaderStatisticsInfoAMD.Buffercreate(long address, int capacity)Create aVkShaderStatisticsInfoAMD.Bufferinstance at the specified memory.static VkShaderStatisticsInfoAMDcreateSafe(long address)static VkShaderStatisticsInfoAMD.BuffercreateSafe(long address, int capacity)static java.nio.IntBufferncomputeWorkGroupSize(long struct)Unsafe version ofcomputeWorkGroupSize().static intncomputeWorkGroupSize(long struct, int index)Unsafe version ofcomputeWorkGroupSize.static intnnumAvailableSgprs(long struct)Unsafe version ofnumAvailableSgprs().static intnnumAvailableVgprs(long struct)Unsafe version ofnumAvailableVgprs().static intnnumPhysicalSgprs(long struct)Unsafe version ofnumPhysicalSgprs().static intnnumPhysicalVgprs(long struct)Unsafe version ofnumPhysicalVgprs().static VkShaderResourceUsageAMDnresourceUsage(long struct)Unsafe version ofresourceUsage().static intnshaderStageMask(long struct)Unsafe version ofshaderStageMask().intnumAvailableSgprs()the maximum limit of SGPRs made available to the shader compiler.intnumAvailableVgprs()the maximum limit of VGPRs made available to the shader compiler.intnumPhysicalSgprs()the maximum number of scalar instruction general-purpose registers (SGPRs) available to the physical device.intnumPhysicalVgprs()the maximum number of vector instruction general-purpose registers (VGPRs) available to the physical device.VkShaderResourceUsageAMDresourceUsage()aVkShaderResourceUsageAMDstructure describing internal physical device resources used by this shader.intshaderStageMask()are the combination of logical shader stages contained within this shader.intsizeof()
-
-
-
Constructor Detail
-
VkShaderStatisticsInfoAMD
public VkShaderStatisticsInfoAMD(java.nio.ByteBuffer container)
Creates aVkShaderStatisticsInfoAMDinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Detail
-
sizeof
public int sizeof()
- Specified by:
sizeofin classorg.lwjgl.system.Struct
-
shaderStageMask
public int shaderStageMask()
are the combination of logical shader stages contained within this shader.
-
resourceUsage
public VkShaderResourceUsageAMD resourceUsage()
aVkShaderResourceUsageAMDstructure describing internal physical device resources used by this shader.
-
numPhysicalVgprs
public int numPhysicalVgprs()
the maximum number of vector instruction general-purpose registers (VGPRs) available to the physical device.
-
numPhysicalSgprs
public int numPhysicalSgprs()
the maximum number of scalar instruction general-purpose registers (SGPRs) available to the physical device.
-
numAvailableVgprs
public int numAvailableVgprs()
the maximum limit of VGPRs made available to the shader compiler.
-
numAvailableSgprs
public int numAvailableSgprs()
the maximum limit of SGPRs made available to the shader compiler.
-
computeWorkGroupSize
public java.nio.IntBuffer computeWorkGroupSize() public int computeWorkGroupSize(int index)
the local workgroup size of this shader in { X, Y, Z } dimensions.
-
create
public static VkShaderStatisticsInfoAMD create(long address)
Returns a newVkShaderStatisticsInfoAMDinstance for the specified memory address.
-
createSafe
@Nullable public static VkShaderStatisticsInfoAMD createSafe(long address)
-
create
public static VkShaderStatisticsInfoAMD.Buffer create(long address, int capacity)
Create aVkShaderStatisticsInfoAMD.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkShaderStatisticsInfoAMD.Buffer createSafe(long address, int capacity)
-
nshaderStageMask
public static int nshaderStageMask(long struct)
Unsafe version ofshaderStageMask().
-
nresourceUsage
public static VkShaderResourceUsageAMD nresourceUsage(long struct)
Unsafe version ofresourceUsage().
-
nnumPhysicalVgprs
public static int nnumPhysicalVgprs(long struct)
Unsafe version ofnumPhysicalVgprs().
-
nnumPhysicalSgprs
public static int nnumPhysicalSgprs(long struct)
Unsafe version ofnumPhysicalSgprs().
-
nnumAvailableVgprs
public static int nnumAvailableVgprs(long struct)
Unsafe version ofnumAvailableVgprs().
-
nnumAvailableSgprs
public static int nnumAvailableSgprs(long struct)
Unsafe version ofnumAvailableSgprs().
-
ncomputeWorkGroupSize
public static java.nio.IntBuffer ncomputeWorkGroupSize(long struct)
Unsafe version ofcomputeWorkGroupSize().
-
ncomputeWorkGroupSize
public static int ncomputeWorkGroupSize(long struct, int index)Unsafe version ofcomputeWorkGroupSize.
-
-