public class VkShaderStatisticsInfoAMD
extends org.lwjgl.system.Struct
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.
shaderStageMask – are the combination of logical shader stages contained within this shader.resourceUsage – a VkShaderResourceUsageAMD structure describing 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.
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 |
|---|---|
static class |
VkShaderStatisticsInfoAMD.Buffer
An array of
VkShaderStatisticsInfoAMD structs. |
| Modifier and Type | Field and Description |
|---|---|
static int |
ALIGNOF
The struct alignment in bytes.
|
static int |
COMPUTEWORKGROUPSIZE
The struct member offsets.
|
static int |
NUMAVAILABLESGPRS
The struct member offsets.
|
static int |
NUMAVAILABLEVGPRS
The struct member offsets.
|
static int |
NUMPHYSICALSGPRS
The struct member offsets.
|
static int |
NUMPHYSICALVGPRS
The struct member offsets.
|
static int |
RESOURCEUSAGE
The struct member offsets.
|
static int |
SHADERSTAGEMASK
The struct member offsets.
|
static int |
SIZEOF
The struct size in bytes.
|
| Constructor and Description |
|---|
VkShaderStatisticsInfoAMD(java.nio.ByteBuffer container)
Creates a
VkShaderStatisticsInfoAMD instance at the current position of the specified ByteBuffer container. |
| Modifier and Type | Method and Description |
|---|---|
java.nio.IntBuffer |
computeWorkGroupSize()
Returns a
IntBuffer view of the computeWorkGroupSize field. |
int |
computeWorkGroupSize(int index)
Returns the value at the specified index of the
computeWorkGroupSize field. |
static VkShaderStatisticsInfoAMD |
create(long address)
Returns a new
VkShaderStatisticsInfoAMD instance for the specified memory address. |
static VkShaderStatisticsInfoAMD.Buffer |
create(long address,
int capacity)
Create a
VkShaderStatisticsInfoAMD.Buffer instance at the specified memory. |
static VkShaderStatisticsInfoAMD |
createSafe(long address)
|
static VkShaderStatisticsInfoAMD.Buffer |
createSafe(long address,
int capacity)
|
static java.nio.IntBuffer |
ncomputeWorkGroupSize(long struct)
Unsafe version of
computeWorkGroupSize(). |
static int |
ncomputeWorkGroupSize(long struct,
int index)
Unsafe version of
computeWorkGroupSize. |
static int |
nnumAvailableSgprs(long struct)
Unsafe version of
numAvailableSgprs(). |
static int |
nnumAvailableVgprs(long struct)
Unsafe version of
numAvailableVgprs(). |
static int |
nnumPhysicalSgprs(long struct)
Unsafe version of
numPhysicalSgprs(). |
static int |
nnumPhysicalVgprs(long struct)
Unsafe version of
numPhysicalVgprs(). |
static VkShaderResourceUsageAMD |
nresourceUsage(long struct)
Unsafe version of
resourceUsage(). |
static int |
nshaderStageMask(long struct)
Unsafe version of
shaderStageMask(). |
int |
numAvailableSgprs()
Returns the value of the
numAvailableSgprs field. |
int |
numAvailableVgprs()
Returns the value of the
numAvailableVgprs field. |
int |
numPhysicalSgprs()
Returns the value of the
numPhysicalSgprs field. |
int |
numPhysicalVgprs()
Returns the value of the
numPhysicalVgprs field. |
VkShaderResourceUsageAMD |
resourceUsage()
Returns a
VkShaderResourceUsageAMD view of the resourceUsage field. |
int |
shaderStageMask()
Returns the value of the
shaderStageMask field. |
int |
sizeof() |
public static final int SIZEOF
public static final int ALIGNOF
public static final int SHADERSTAGEMASK
public static final int RESOURCEUSAGE
public static final int NUMPHYSICALVGPRS
public static final int NUMPHYSICALSGPRS
public static final int NUMAVAILABLEVGPRS
public static final int NUMAVAILABLESGPRS
public static final int COMPUTEWORKGROUPSIZE
public VkShaderStatisticsInfoAMD(java.nio.ByteBuffer container)
VkShaderStatisticsInfoAMD instance at the current position of the specified ByteBuffer container. 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.
public int sizeof()
sizeof in class org.lwjgl.system.Structpublic int shaderStageMask()
shaderStageMask field.public VkShaderResourceUsageAMD resourceUsage()
VkShaderResourceUsageAMD view of the resourceUsage field.public int numPhysicalVgprs()
numPhysicalVgprs field.public int numPhysicalSgprs()
numPhysicalSgprs field.public int numAvailableVgprs()
numAvailableVgprs field.public int numAvailableSgprs()
numAvailableSgprs field.public java.nio.IntBuffer computeWorkGroupSize()
IntBuffer view of the computeWorkGroupSize field.public int computeWorkGroupSize(int index)
computeWorkGroupSize field.public static VkShaderStatisticsInfoAMD create(long address)
VkShaderStatisticsInfoAMD instance for the specified memory address.@Nullable public static VkShaderStatisticsInfoAMD createSafe(long address)
public static VkShaderStatisticsInfoAMD.Buffer create(long address, int capacity)
VkShaderStatisticsInfoAMD.Buffer instance at the specified memory.address - the memory addresscapacity - the buffer capacity@Nullable public static VkShaderStatisticsInfoAMD.Buffer createSafe(long address, int capacity)
public static int nshaderStageMask(long struct)
shaderStageMask().public static VkShaderResourceUsageAMD nresourceUsage(long struct)
resourceUsage().public static int nnumPhysicalVgprs(long struct)
numPhysicalVgprs().public static int nnumPhysicalSgprs(long struct)
numPhysicalSgprs().public static int nnumAvailableVgprs(long struct)
numAvailableVgprs().public static int nnumAvailableSgprs(long struct)
numAvailableSgprs().public static java.nio.IntBuffer ncomputeWorkGroupSize(long struct)
computeWorkGroupSize().public static int ncomputeWorkGroupSize(long struct,
int index)
computeWorkGroupSize.Copyright LWJGL. All Rights Reserved. License terms.