Package org.lwjgl.vulkan
Class VkPhysicalDeviceShaderCorePropertiesAMD
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkPhysicalDeviceShaderCorePropertiesAMD
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,org.lwjgl.system.NativeResource
,org.lwjgl.system.Pointer
public class VkPhysicalDeviceShaderCorePropertiesAMD extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResource
Structure describing shader core properties that can be supported by an implementation.Description
If the
VkPhysicalDeviceShaderCorePropertiesAMD
structure is included in thepNext
chain ofVkPhysicalDeviceProperties2
, it is filled with the implementation-dependent limits.Valid Usage (Implicit)
Member documentation
sType
– the type of this structure.pNext
–NULL
or a pointer to an extension-specific structure.shaderEngineCount
– an unsigned integer value indicating the number of shader engines found inside the shader core of the physical device.shaderArraysPerEngineCount
– an unsigned integer value indicating the number of shader arrays inside a shader engine. Each shader array has its own scan converter, set of compute units, and a render back end (color and depth buffers). Shader arrays within a shader engine share shader processor input (wave launcher) and shader export (export buffer) units. Currently, a shader engine can have one or two shader arrays.computeUnitsPerShaderArray
– an unsigned integer value indicating the physical number of compute units within a shader array. The active number of compute units in a shader array may be lower. A compute unit houses a set of SIMDs along with a sequencer module and a local data store.simdPerComputeUnit
– an unsigned integer value indicating the number of SIMDs inside a compute unit. Each SIMD processes a single instruction at a time.wavefrontSize
– an unsigned integer value indicating the maximum size of a subgroup.sgprsPerSimd
– an unsigned integer value indicating the number of physical Scalar General Purpose Registers (SGPRs) per SIMD.minSgprAllocation
– an unsigned integer value indicating the minimum number of SGPRs allocated for a wave.maxSgprAllocation
– an unsigned integer value indicating the maximum number of SGPRs allocated for a wave.sgprAllocationGranularity
– an unsigned integer value indicating the granularity of SGPR allocation for a wave.vgprsPerSimd
– an unsigned integer value indicating the number of physical Vector General Purpose Registers (VGPRs) per SIMD.minVgprAllocation
– an unsigned integer value indicating the minimum number of VGPRs allocated for a wave.maxVgprAllocation
– an unsigned integer value indicating the maximum number of VGPRs allocated for a wave.vgprAllocationGranularity
– an unsigned integer value indicating the granularity of VGPR allocation for a wave.
Layout
struct VkPhysicalDeviceShaderCorePropertiesAMD { VkStructureType sType; void * pNext; uint32_t shaderEngineCount; uint32_t shaderArraysPerEngineCount; uint32_t computeUnitsPerShaderArray; uint32_t simdPerComputeUnit; uint32_t wavefrontsPerSimd; uint32_t wavefrontSize; uint32_t sgprsPerSimd; uint32_t minSgprAllocation; uint32_t maxSgprAllocation; uint32_t sgprAllocationGranularity; uint32_t vgprsPerSimd; uint32_t minVgprAllocation; uint32_t maxVgprAllocation; uint32_t vgprAllocationGranularity; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VkPhysicalDeviceShaderCorePropertiesAMD.Buffer
An array ofVkPhysicalDeviceShaderCorePropertiesAMD
structs.
-
Field Summary
Fields Modifier and Type Field Description static int
ALIGNOF
The struct alignment in bytes.static int
COMPUTEUNITSPERSHADERARRAY
MAXSGPRALLOCATION
MAXVGPRALLOCATION
MINSGPRALLOCATION
MINVGPRALLOCATION
PNEXT
SGPRALLOCATIONGRANULARITY
SGPRSPERSIMD
SHADERARRAYSPERENGINECOUNT
SHADERENGINECOUNT
SIMDPERCOMPUTEUNITThe struct member offsets.static int
SIZEOF
The struct size in bytes.static int
STYPE
VGPRALLOCATIONGRANULARITY
VGPRSPERSIMD
WAVEFRONTSIZE
WAVEFRONTSPERSIMDThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkPhysicalDeviceShaderCorePropertiesAMD(java.nio.ByteBuffer container)
Creates aVkPhysicalDeviceShaderCorePropertiesAMD
instance at the current position of the specifiedByteBuffer
container.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static VkPhysicalDeviceShaderCorePropertiesAMD
calloc()
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD
instance allocated withmemCalloc
.static VkPhysicalDeviceShaderCorePropertiesAMD.Buffer
calloc(int capacity)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD.Buffer
instance allocated withmemCalloc
.static VkPhysicalDeviceShaderCorePropertiesAMD
callocStack()
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkPhysicalDeviceShaderCorePropertiesAMD.Buffer
callocStack(int capacity)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkPhysicalDeviceShaderCorePropertiesAMD.Buffer
callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkPhysicalDeviceShaderCorePropertiesAMD
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.int
computeUnitsPerShaderArray()
Returns the value of thecomputeUnitsPerShaderArray
field.static VkPhysicalDeviceShaderCorePropertiesAMD
create()
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD
instance allocated withBufferUtils
.static VkPhysicalDeviceShaderCorePropertiesAMD.Buffer
create(int capacity)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD.Buffer
instance allocated withBufferUtils
.static VkPhysicalDeviceShaderCorePropertiesAMD
create(long address)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD
instance for the specified memory address.static VkPhysicalDeviceShaderCorePropertiesAMD.Buffer
create(long address, int capacity)
Create aVkPhysicalDeviceShaderCorePropertiesAMD.Buffer
instance at the specified memory.static VkPhysicalDeviceShaderCorePropertiesAMD
createSafe(long address)
static VkPhysicalDeviceShaderCorePropertiesAMD.Buffer
createSafe(long address, int capacity)
static VkPhysicalDeviceShaderCorePropertiesAMD
malloc()
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD
instance allocated withmemAlloc
.static VkPhysicalDeviceShaderCorePropertiesAMD.Buffer
malloc(int capacity)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD.Buffer
instance allocated withmemAlloc
.static VkPhysicalDeviceShaderCorePropertiesAMD
mallocStack()
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD
instance allocated on the thread-localMemoryStack
.static VkPhysicalDeviceShaderCorePropertiesAMD.Buffer
mallocStack(int capacity)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD.Buffer
instance allocated on the thread-localMemoryStack
.static VkPhysicalDeviceShaderCorePropertiesAMD.Buffer
mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD.Buffer
instance allocated on the specifiedMemoryStack
.static VkPhysicalDeviceShaderCorePropertiesAMD
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD
instance allocated on the specifiedMemoryStack
.int
maxSgprAllocation()
Returns the value of themaxSgprAllocation
field.int
maxVgprAllocation()
Returns the value of themaxVgprAllocation
field.int
minSgprAllocation()
Returns the value of theminSgprAllocation
field.int
minVgprAllocation()
Returns the value of theminVgprAllocation
field.static int
ncomputeUnitsPerShaderArray(long struct)
Unsafe version ofcomputeUnitsPerShaderArray()
.static int
nmaxSgprAllocation(long struct)
Unsafe version ofmaxSgprAllocation()
.static int
nmaxVgprAllocation(long struct)
Unsafe version ofmaxVgprAllocation()
.static int
nminSgprAllocation(long struct)
Unsafe version ofminSgprAllocation()
.static int
nminVgprAllocation(long struct)
Unsafe version ofminVgprAllocation()
.static long
npNext(long struct)
Unsafe version ofpNext()
.static void
npNext(long struct, long value)
Unsafe version ofpNext
.static int
nsgprAllocationGranularity(long struct)
Unsafe version ofsgprAllocationGranularity()
.static int
nsgprsPerSimd(long struct)
Unsafe version ofsgprsPerSimd()
.static int
nshaderArraysPerEngineCount(long struct)
Unsafe version ofshaderArraysPerEngineCount()
.static int
nshaderEngineCount(long struct)
Unsafe version ofshaderEngineCount()
.static int
nsimdPerComputeUnit(long struct)
Unsafe version ofsimdPerComputeUnit()
.static int
nsType(long struct)
Unsafe version ofsType()
.static void
nsType(long struct, int value)
Unsafe version ofsType
.static int
nvgprAllocationGranularity(long struct)
Unsafe version ofvgprAllocationGranularity()
.static int
nvgprsPerSimd(long struct)
Unsafe version ofvgprsPerSimd()
.static int
nwavefrontSize(long struct)
Unsafe version ofwavefrontSize()
.static int
nwavefrontsPerSimd(long struct)
Unsafe version ofwavefrontsPerSimd()
.long
pNext()
Returns the value of thepNext
field.VkPhysicalDeviceShaderCorePropertiesAMD
pNext(long value)
Sets the specified value to thepNext
field.VkPhysicalDeviceShaderCorePropertiesAMD
set(int sType, long pNext)
Initializes this struct with the specified values.VkPhysicalDeviceShaderCorePropertiesAMD
set(VkPhysicalDeviceShaderCorePropertiesAMD src)
Copies the specified struct data to this struct.int
sgprAllocationGranularity()
Returns the value of thesgprAllocationGranularity
field.int
sgprsPerSimd()
Returns the value of thesgprsPerSimd
field.int
shaderArraysPerEngineCount()
Returns the value of theshaderArraysPerEngineCount
field.int
shaderEngineCount()
Returns the value of theshaderEngineCount
field.int
simdPerComputeUnit()
Returns the value of thesimdPerComputeUnit
field.int
sizeof()
int
sType()
Returns the value of thesType
field.VkPhysicalDeviceShaderCorePropertiesAMD
sType(int value)
Sets the specified value to thesType
field.int
vgprAllocationGranularity()
Returns the value of thevgprAllocationGranularity
field.int
vgprsPerSimd()
Returns the value of thevgprsPerSimd
field.int
wavefrontSize()
Returns the value of thewavefrontSize
field.int
wavefrontsPerSimd()
Returns the value of thewavefrontsPerSimd
field.
-
-
-
Field Detail
-
SIZEOF
The struct size in bytes.
-
ALIGNOF
The struct alignment in bytes.
-
STYPE, PNEXT, SHADERENGINECOUNT, SHADERARRAYSPERENGINECOUNT, COMPUTEUNITSPERSHADERARRAY, SIMDPERCOMPUTEUNIT, WAVEFRONTSPERSIMD, WAVEFRONTSIZE, SGPRSPERSIMD, MINSGPRALLOCATION, MAXSGPRALLOCATION, SGPRALLOCATIONGRANULARITY, VGPRSPERSIMD, MINVGPRALLOCATION, MAXVGPRALLOCATION, VGPRALLOCATIONGRANULARITY
The struct member offsets.
-
-
Constructor Detail
-
VkPhysicalDeviceShaderCorePropertiesAMD
public VkPhysicalDeviceShaderCorePropertiesAMD(java.nio.ByteBuffer container)
Creates aVkPhysicalDeviceShaderCorePropertiesAMD
instance at the current position of the specifiedByteBuffer
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.
-
-
Method Detail
-
sizeof
public int sizeof()
- Specified by:
sizeof
in classorg.lwjgl.system.Struct
-
sType
public int sType()
Returns the value of thesType
field.
-
pNext
public long pNext()
Returns the value of thepNext
field.
-
shaderEngineCount
public int shaderEngineCount()
Returns the value of theshaderEngineCount
field.
-
shaderArraysPerEngineCount
public int shaderArraysPerEngineCount()
Returns the value of theshaderArraysPerEngineCount
field.
-
computeUnitsPerShaderArray
public int computeUnitsPerShaderArray()
Returns the value of thecomputeUnitsPerShaderArray
field.
-
simdPerComputeUnit
public int simdPerComputeUnit()
Returns the value of thesimdPerComputeUnit
field.
-
wavefrontsPerSimd
public int wavefrontsPerSimd()
Returns the value of thewavefrontsPerSimd
field.
-
wavefrontSize
public int wavefrontSize()
Returns the value of thewavefrontSize
field.
-
sgprsPerSimd
public int sgprsPerSimd()
Returns the value of thesgprsPerSimd
field.
-
minSgprAllocation
public int minSgprAllocation()
Returns the value of theminSgprAllocation
field.
-
maxSgprAllocation
public int maxSgprAllocation()
Returns the value of themaxSgprAllocation
field.
-
sgprAllocationGranularity
public int sgprAllocationGranularity()
Returns the value of thesgprAllocationGranularity
field.
-
vgprsPerSimd
public int vgprsPerSimd()
Returns the value of thevgprsPerSimd
field.
-
minVgprAllocation
public int minVgprAllocation()
Returns the value of theminVgprAllocation
field.
-
maxVgprAllocation
public int maxVgprAllocation()
Returns the value of themaxVgprAllocation
field.
-
vgprAllocationGranularity
public int vgprAllocationGranularity()
Returns the value of thevgprAllocationGranularity
field.
-
sType
public VkPhysicalDeviceShaderCorePropertiesAMD sType(int value)
Sets the specified value to thesType
field.
-
pNext
public VkPhysicalDeviceShaderCorePropertiesAMD pNext(long value)
Sets the specified value to thepNext
field.
-
set
public VkPhysicalDeviceShaderCorePropertiesAMD set(int sType, long pNext)
Initializes this struct with the specified values.
-
set
public VkPhysicalDeviceShaderCorePropertiesAMD set(VkPhysicalDeviceShaderCorePropertiesAMD src)
Copies the specified struct data to this struct.- Parameters:
src
- the source struct- Returns:
- this struct
-
malloc
public static VkPhysicalDeviceShaderCorePropertiesAMD malloc()
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD
instance allocated withmemAlloc
. The instance must be explicitly freed.
-
calloc
public static VkPhysicalDeviceShaderCorePropertiesAMD calloc()
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD
instance allocated withmemCalloc
. The instance must be explicitly freed.
-
create
public static VkPhysicalDeviceShaderCorePropertiesAMD create()
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD
instance allocated withBufferUtils
.
-
create
public static VkPhysicalDeviceShaderCorePropertiesAMD create(long address)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD
instance for the specified memory address.
-
createSafe
@Nullable public static VkPhysicalDeviceShaderCorePropertiesAMD createSafe(long address)
-
malloc
public static VkPhysicalDeviceShaderCorePropertiesAMD.Buffer malloc(int capacity)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
public static VkPhysicalDeviceShaderCorePropertiesAMD.Buffer calloc(int capacity)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
public static VkPhysicalDeviceShaderCorePropertiesAMD.Buffer create(int capacity)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static VkPhysicalDeviceShaderCorePropertiesAMD.Buffer create(long address, int capacity)
Create aVkPhysicalDeviceShaderCorePropertiesAMD.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
@Nullable public static VkPhysicalDeviceShaderCorePropertiesAMD.Buffer createSafe(long address, int capacity)
-
mallocStack
public static VkPhysicalDeviceShaderCorePropertiesAMD mallocStack()
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD
instance allocated on the thread-localMemoryStack
.
-
callocStack
public static VkPhysicalDeviceShaderCorePropertiesAMD callocStack()
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.
-
mallocStack
public static VkPhysicalDeviceShaderCorePropertiesAMD mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static VkPhysicalDeviceShaderCorePropertiesAMD callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
mallocStack
public static VkPhysicalDeviceShaderCorePropertiesAMD.Buffer mallocStack(int capacity)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD.Buffer
instance allocated on the thread-localMemoryStack
.- Parameters:
capacity
- the buffer capacity
-
callocStack
public static VkPhysicalDeviceShaderCorePropertiesAMD.Buffer callocStack(int capacity)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.- Parameters:
capacity
- the buffer capacity
-
mallocStack
public static VkPhysicalDeviceShaderCorePropertiesAMD.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
callocStack
public static VkPhysicalDeviceShaderCorePropertiesAMD.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceShaderCorePropertiesAMD.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
nsType
public static int nsType(long struct)
Unsafe version ofsType()
.
-
npNext
public static long npNext(long struct)
Unsafe version ofpNext()
.
-
nshaderEngineCount
public static int nshaderEngineCount(long struct)
Unsafe version ofshaderEngineCount()
.
-
nshaderArraysPerEngineCount
public static int nshaderArraysPerEngineCount(long struct)
Unsafe version ofshaderArraysPerEngineCount()
.
-
ncomputeUnitsPerShaderArray
public static int ncomputeUnitsPerShaderArray(long struct)
Unsafe version ofcomputeUnitsPerShaderArray()
.
-
nsimdPerComputeUnit
public static int nsimdPerComputeUnit(long struct)
Unsafe version ofsimdPerComputeUnit()
.
-
nwavefrontsPerSimd
public static int nwavefrontsPerSimd(long struct)
Unsafe version ofwavefrontsPerSimd()
.
-
nwavefrontSize
public static int nwavefrontSize(long struct)
Unsafe version ofwavefrontSize()
.
-
nsgprsPerSimd
public static int nsgprsPerSimd(long struct)
Unsafe version ofsgprsPerSimd()
.
-
nminSgprAllocation
public static int nminSgprAllocation(long struct)
Unsafe version ofminSgprAllocation()
.
-
nmaxSgprAllocation
public static int nmaxSgprAllocation(long struct)
Unsafe version ofmaxSgprAllocation()
.
-
nsgprAllocationGranularity
public static int nsgprAllocationGranularity(long struct)
Unsafe version ofsgprAllocationGranularity()
.
-
nvgprsPerSimd
public static int nvgprsPerSimd(long struct)
Unsafe version ofvgprsPerSimd()
.
-
nminVgprAllocation
public static int nminVgprAllocation(long struct)
Unsafe version ofminVgprAllocation()
.
-
nmaxVgprAllocation
public static int nmaxVgprAllocation(long struct)
Unsafe version ofmaxVgprAllocation()
.
-
nvgprAllocationGranularity
public static int nvgprAllocationGranularity(long struct)
Unsafe version ofvgprAllocationGranularity()
.
-
nsType
public static void nsType(long struct, int value)
Unsafe version ofsType
.
-
npNext
public static void npNext(long struct, long value)
Unsafe version ofpNext
.
-
-