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
Member documentation
shaderStageMask– are the combination of logical shader stages contained within this shader.resourceUsage– an instance ofVkShaderResourceUsageAMDdescribing internal physical device resources used by this shader.numPhysicalVgprs– the maximum number of vector instruction general-purpose registers (VGPRs) available to the physical device.numPhysicalSgprs– the maximum number of scalar instruction general-purpose registers (SGPRs) available to the physical device.numAvailableVgprs– the maximum limit of VGPRs made available to the shader compiler.numAvailableSgprs– the maximum limit of SGPRs made available to the shader compiler.computeWorkGroupSize[3]– the local workgroup size of this shader in { X, Y, Z } dimensions.
Layout
struct VkShaderStatisticsInfoAMD { VkShaderStageFlags shaderStageMask;VkShaderResourceUsageAMDresourceUsage; uint32_t numPhysicalVgprs; uint32_t numPhysicalSgprs; uint32_t numAvailableVgprs; uint32_t numAvailableSgprs; uint32_t computeWorkGroupSize[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()Returns aIntBufferview of thecomputeWorkGroupSizefield.intcomputeWorkGroupSize(int index)Returns the value at the specified index of thecomputeWorkGroupSizefield.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()Returns the value of thenumAvailableSgprsfield.intnumAvailableVgprs()Returns the value of thenumAvailableVgprsfield.intnumPhysicalSgprs()Returns the value of thenumPhysicalSgprsfield.intnumPhysicalVgprs()Returns the value of thenumPhysicalVgprsfield.VkShaderResourceUsageAMDresourceUsage()Returns aVkShaderResourceUsageAMDview of theresourceUsagefield.intshaderStageMask()Returns the value of theshaderStageMaskfield.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()
Returns the value of theshaderStageMaskfield.
-
resourceUsage
public VkShaderResourceUsageAMD resourceUsage()
Returns aVkShaderResourceUsageAMDview of theresourceUsagefield.
-
numPhysicalVgprs
public int numPhysicalVgprs()
Returns the value of thenumPhysicalVgprsfield.
-
numPhysicalSgprs
public int numPhysicalSgprs()
Returns the value of thenumPhysicalSgprsfield.
-
numAvailableVgprs
public int numAvailableVgprs()
Returns the value of thenumAvailableVgprsfield.
-
numAvailableSgprs
public int numAvailableSgprs()
Returns the value of thenumAvailableSgprsfield.
-
computeWorkGroupSize
public java.nio.IntBuffer computeWorkGroupSize()
Returns aIntBufferview of thecomputeWorkGroupSizefield.
-
computeWorkGroupSize
public int computeWorkGroupSize(int index)
Returns the value at the specified index of thecomputeWorkGroupSizefield.
-
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.
-
-