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.
struct VkShaderStatisticsInfoAMD {
VkShaderStageFlags shaderStageMask;
VkShaderResourceUsageAMD resourceUsage;
uint32_t numPhysicalVgprs;
uint32_t numPhysicalSgprs;
uint32_t numAvailableVgprs;
uint32_t numAvailableSgprs;
uint32_t computeWorkGroupSize[3];
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkShaderStatisticsInfoAMD.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | COMPUTEWORKGROUPSIZE
The struct member offsets. |
| public static final int | NUMAVAILABLESGPRS
The struct member offsets. |
| public static final int | NUMAVAILABLEVGPRS
The struct member offsets. |
| public static final int | NUMPHYSICALSGPRS
The struct member offsets. |
| public static final int | NUMPHYSICALVGPRS
The struct member offsets. |
| public static final int | RESOURCEUSAGE
The struct member offsets. |
| public static final int | SHADERSTAGEMASK
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkShaderStatisticsInfoAMD(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public IntBuffer | |
| public int | |
| protected VkShaderStatisticsInfoAMD | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkShaderStatisticsInfoAMD | create(long address)
Returns a new |
| public static VkShaderStatisticsInfoAMD. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkShaderStatisticsInfoAMD | |
| public static VkShaderStatisticsInfoAMD. | |
| public static IntBuffer | |
| public static int | |
| public static int | |
| public static int | |
| public static int | |
| public static int | |
| public static VkShaderResourceUsageAMD | |
| public static int | |
| public int | |
| public int | |
| public int | numPhysicalSgprs()
the maximum number of scalar instruction general-purpose registers (SGPRs) available to the physical device. |
| public int | numPhysicalVgprs()
the maximum number of vector instruction general-purpose registers (VGPRs) available to the physical device. |
| public VkShaderResourceUsageAMD | resourceUsage()
a |
| public int | |
| public int |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| COMPUTEWORKGROUPSIZE | back to summary |
|---|---|
| public static final int COMPUTEWORKGROUPSIZE The struct member offsets. | |
| NUMAVAILABLESGPRS | back to summary |
|---|---|
| public static final int NUMAVAILABLESGPRS The struct member offsets. | |
| NUMAVAILABLEVGPRS | back to summary |
|---|---|
| public static final int NUMAVAILABLEVGPRS The struct member offsets. | |
| NUMPHYSICALSGPRS | back to summary |
|---|---|
| public static final int NUMPHYSICALSGPRS The struct member offsets. | |
| NUMPHYSICALVGPRS | back to summary |
|---|---|
| public static final int NUMPHYSICALVGPRS The struct member offsets. | |
| RESOURCEUSAGE | back to summary |
|---|---|
| public static final int RESOURCEUSAGE The struct member offsets. | |
| SHADERSTAGEMASK | back to summary |
|---|---|
| public static final int SHADERSTAGEMASK The struct member offsets. | |
| SIZEOF | back to summary |
|---|---|
| public static final int SIZEOF The struct size in bytes. | |
| VkShaderStatisticsInfoAMD | back to summary |
|---|---|
| protected VkShaderStatisticsInfoAMD(long address, ByteBuffer container) | |
| VkShaderStatisticsInfoAMD | back to summary |
|---|---|
| public VkShaderStatisticsInfoAMD(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| computeWorkGroupSize | back to summary |
|---|---|
| public IntBuffer computeWorkGroupSize() the local workgroup size of this shader in { X, Y, Z } dimensions.
| |
| computeWorkGroupSize | back to summary |
|---|---|
| public int computeWorkGroupSize(int index) the local workgroup size of this shader in { X, Y, Z } dimensions.
| |
| create | back to summary |
|---|---|
| protected VkShaderStatisticsInfoAMD create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static VkShaderStatisticsInfoAMD create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static VkShaderStatisticsInfoAMD. Create a
| |
| createSafe | back to summary |
|---|---|
| public static VkShaderStatisticsInfoAMD createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static VkShaderStatisticsInfoAMD. Like
| |
| ncomputeWorkGroupSize | back to summary |
|---|---|
| public static IntBuffer ncomputeWorkGroupSize(long struct) Unsafe version of | |
| ncomputeWorkGroupSize | back to summary |
|---|---|
| public static int ncomputeWorkGroupSize(long struct, int index) Unsafe version of | |
| nnumAvailableSgprs | back to summary |
|---|---|
| public static int nnumAvailableSgprs(long struct) Unsafe version of | |
| nnumAvailableVgprs | back to summary |
|---|---|
| public static int nnumAvailableVgprs(long struct) Unsafe version of | |
| nnumPhysicalSgprs | back to summary |
|---|---|
| public static int nnumPhysicalSgprs(long struct) Unsafe version of | |
| nnumPhysicalVgprs | back to summary |
|---|---|
| public static int nnumPhysicalVgprs(long struct) Unsafe version of | |
| nresourceUsage | back to summary |
|---|---|
| public static VkShaderResourceUsageAMD nresourceUsage(long struct) Unsafe version of | |
| nshaderStageMask | back to summary |
|---|---|
| public static int nshaderStageMask(long struct) Unsafe version of | |
| numAvailableSgprs | back to summary |
|---|---|
| public int numAvailableSgprs() the maximum limit of SGPRs made available to the shader compiler.
| |
| numAvailableVgprs | back to summary |
|---|---|
| public int numAvailableVgprs() the maximum limit of VGPRs made available to the shader compiler.
| |
| numPhysicalSgprs | back to summary |
|---|---|
| public int numPhysicalSgprs() the maximum number of scalar instruction general-purpose registers (SGPRs) available to the physical device.
| |
| numPhysicalVgprs | back to summary |
|---|---|
| public int numPhysicalVgprs() the maximum number of vector instruction general-purpose registers (VGPRs) available to the physical device.
| |
| resourceUsage | back to summary |
|---|---|
| public VkShaderResourceUsageAMD resourceUsage() a | |
| shaderStageMask | back to summary |
|---|---|
| public int shaderStageMask() are the combination of logical shader stages contained within this shader.
| |
| sizeof | back to summary |
|---|---|
| public int sizeof() Implements abstract org. Doc from org. Returns
| |
VkShaderStatisticsInfoAMD structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final VkShaderStatisticsInfoAMD |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public IntBuffer | |
| public int | Returns: the value at the specified index of theVkShaderStatisticsInfoAMD#computeWorkGroupSize field.
|
| protected VkShaderStatisticsInfoAMD | |
| public int | |
| public int | |
| public int | |
| public int | |
| public VkShaderResourceUsageAMD | |
| protected VkShaderStatisticsInfoAMD. | |
| public int |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final VkShaderStatisticsInfoAMD ELEMENT_FACTORY | |
| Buffer | back to summary |
|---|---|
| public Buffer(ByteBuffer container) Creates a new Changes to the container's content will be visible to the struct buffer instance and vice versa. The two buffers' position, limit, and mark values
will be independent. The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided
by The created buffer instance holds a strong reference to the container object. | |
| Buffer | back to summary |
|---|---|
| public Buffer(long address, int cap) | |
| Buffer | back to summary |
|---|---|
| pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap) | |
| computeWorkGroupSize | back to summary |
|---|---|
public IntBuffer computeWorkGroupSize()
| |
| computeWorkGroupSize | back to summary |
|---|---|
public int computeWorkGroupSize(int index)
| |
| getElementFactory | back to summary |
|---|---|
| protected VkShaderStatisticsInfoAMD getElementFactory() Implements abstract org.
| |
| numAvailableSgprs | back to summary |
|---|---|
public int numAvailableSgprs()
| |
| numAvailableVgprs | back to summary |
|---|---|
public int numAvailableVgprs()
| |
| numPhysicalSgprs | back to summary |
|---|---|
public int numPhysicalSgprs()
| |
| numPhysicalVgprs | back to summary |
|---|---|
public int numPhysicalVgprs()
| |
| resourceUsage | back to summary |
|---|---|
public VkShaderResourceUsageAMD resourceUsage()
| |
| self | back to summary |
|---|---|
| protected VkShaderStatisticsInfoAMD. Implements abstract org.
| |
| shaderStageMask | back to summary |
|---|---|
public int shaderStageMask()
| |