Class VkShaderStatisticsInfoAMD
- All Implemented Interfaces:
org.lwjgl.system.Pointer
Description
Some implementations may merge multiple logical shader stages together in a single shader. In such cases, shaderStageMask will contain a bitmask of all of the stages that are active within that shader. Consequently, if specifying those stages as input to GetShaderInfoAMD, the same output information may be returned for all such shader stage queries.
The number of available VGPRs and SGPRs (numAvailableVgprs and numAvailableSgprs respectively) 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 {
VkShaderStageFlags shaderStageMask();
VkShaderResourceUsageAMD resourceUsage();
uint32_t numPhysicalVgprs();
uint32_t numPhysicalSgprs();
uint32_t numAvailableVgprs();
uint32_t numAvailableSgprs();
uint32_t computeWorkGroupSize()[3];
}-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkShaderStatisticsInfoAMD(ByteBuffer container) Creates aVkShaderStatisticsInfoAMDinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionthe 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.create(long address, int capacity) Create aVkShaderStatisticsInfoAMD.Bufferinstance at the specified memory.static @Nullable VkShaderStatisticsInfoAMDcreateSafe(long address) static @Nullable VkShaderStatisticsInfoAMD.BuffercreateSafe(long address, int capacity) static 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().intthe maximum limit of SGPRs made available to the shader compiler.intthe maximum limit of VGPRs made available to the shader compiler.intthe maximum number of scalar instruction general-purpose registers (SGPRs) available to the physical device.intthe maximum number of vector instruction general-purpose registers (VGPRs) available to the physical device.aVkShaderResourceUsageAMDstructure describing internal physical device resources used by this shader.intare the combination of logical shader stages contained within this shader.intsizeof()Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toString
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
SHADERSTAGEMASK
public static final int SHADERSTAGEMASKThe struct member offsets. -
RESOURCEUSAGE
public static final int RESOURCEUSAGEThe struct member offsets. -
NUMPHYSICALVGPRS
public static final int NUMPHYSICALVGPRSThe struct member offsets. -
NUMPHYSICALSGPRS
public static final int NUMPHYSICALSGPRSThe struct member offsets. -
NUMAVAILABLEVGPRS
public static final int NUMAVAILABLEVGPRSThe struct member offsets. -
NUMAVAILABLESGPRS
public static final int NUMAVAILABLESGPRSThe struct member offsets. -
COMPUTEWORKGROUPSIZE
public static final int COMPUTEWORKGROUPSIZEThe struct member offsets.
-
-
Constructor Details
-
VkShaderStatisticsInfoAMD
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 Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkShaderStatisticsInfoAMD>
-
shaderStageMask
public int shaderStageMask()are the combination of logical shader stages contained within this shader. -
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
the local workgroup size of this shader in { X, Y, Z } dimensions. -
computeWorkGroupSize
public int computeWorkGroupSize(int index) the local workgroup size of this shader in { X, Y, Z } dimensions. -
create
Returns a newVkShaderStatisticsInfoAMDinstance for the specified memory address. -
createSafe
-
create
Create aVkShaderStatisticsInfoAMD.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
nshaderStageMask
public static int nshaderStageMask(long struct) Unsafe version ofshaderStageMask(). -
nresourceUsage
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
Unsafe version ofcomputeWorkGroupSize(). -
ncomputeWorkGroupSize
public static int ncomputeWorkGroupSize(long struct, int index) Unsafe version ofcomputeWorkGroupSize.
-