public class VkPhysicalDeviceSubgroupProperties
extends org.lwjgl.system.Struct
implements org.lwjgl.system.NativeResource
If the VkPhysicalDeviceSubgroupProperties structure is included in the pNext chain of VkPhysicalDeviceProperties2, it is filled with the implementation-dependent limits.
sType must be STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIESsType – the type of this structure.pNext – NULL or a pointer to an extension-specific structure.subgroupSize – the default number of invocations in each subgroup. subgroupSize is at least 1 if any of the physical device’s queues support QUEUE_GRAPHICS_BIT or QUEUE_COMPUTE_BIT. subgroupSize is a power-of-two.supportedStages – a bitfield of VkShaderStageFlagBits describing the shader stages that subgroup operations are supported in. supportedStages will have the SHADER_STAGE_COMPUTE_BIT bit set if any of the physical device’s queues support QUEUE_COMPUTE_BIT.supportedOperations – a bitmask of VkSubgroupFeatureFlagBits specifying the sets of subgroup operations supported on this device. supportedOperations will have the SUBGROUP_FEATURE_BASIC_BIT bit set if any of the physical device’s queues support QUEUE_GRAPHICS_BIT or QUEUE_COMPUTE_BIT.quadOperationsInAllStages – a boolean specifying whether quad subgroup operations are available in all stages, or are restricted to fragment and compute stages.
struct VkPhysicalDeviceSubgroupProperties {
VkStructureType sType;
void * pNext;
uint32_t subgroupSize;
VkShaderStageFlags supportedStages;
VkSubgroupFeatureFlags supportedOperations;
VkBool32 quadOperationsInAllStages;
}| Modifier and Type | Class and Description |
|---|---|
static class |
VkPhysicalDeviceSubgroupProperties.Buffer
An array of
VkPhysicalDeviceSubgroupProperties structs. |
| Modifier and Type | Field and Description |
|---|---|
static int |
ALIGNOF
The struct alignment in bytes.
|
static int |
PNEXT
The struct member offsets.
|
static int |
QUADOPERATIONSINALLSTAGES
The struct member offsets.
|
static int |
SIZEOF
The struct size in bytes.
|
static int |
STYPE
The struct member offsets.
|
static int |
SUBGROUPSIZE
The struct member offsets.
|
static int |
SUPPORTEDOPERATIONS
The struct member offsets.
|
static int |
SUPPORTEDSTAGES
The struct member offsets.
|
| Constructor and Description |
|---|
VkPhysicalDeviceSubgroupProperties(java.nio.ByteBuffer container)
Creates a
VkPhysicalDeviceSubgroupProperties instance at the current position of the specified ByteBuffer container. |
| Modifier and Type | Method and Description |
|---|---|
static VkPhysicalDeviceSubgroupProperties |
calloc()
Returns a new
VkPhysicalDeviceSubgroupProperties instance allocated with memCalloc. |
static VkPhysicalDeviceSubgroupProperties.Buffer |
calloc(int capacity)
Returns a new
VkPhysicalDeviceSubgroupProperties.Buffer instance allocated with memCalloc. |
static VkPhysicalDeviceSubgroupProperties |
callocStack()
Returns a new
VkPhysicalDeviceSubgroupProperties instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkPhysicalDeviceSubgroupProperties.Buffer |
callocStack(int capacity)
Returns a new
VkPhysicalDeviceSubgroupProperties.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkPhysicalDeviceSubgroupProperties.Buffer |
callocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkPhysicalDeviceSubgroupProperties.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkPhysicalDeviceSubgroupProperties |
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkPhysicalDeviceSubgroupProperties instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkPhysicalDeviceSubgroupProperties |
create()
Returns a new
VkPhysicalDeviceSubgroupProperties instance allocated with BufferUtils. |
static VkPhysicalDeviceSubgroupProperties.Buffer |
create(int capacity)
Returns a new
VkPhysicalDeviceSubgroupProperties.Buffer instance allocated with BufferUtils. |
static VkPhysicalDeviceSubgroupProperties |
create(long address)
Returns a new
VkPhysicalDeviceSubgroupProperties instance for the specified memory address. |
static VkPhysicalDeviceSubgroupProperties.Buffer |
create(long address,
int capacity)
Create a
VkPhysicalDeviceSubgroupProperties.Buffer instance at the specified memory. |
static VkPhysicalDeviceSubgroupProperties |
createSafe(long address)
|
static VkPhysicalDeviceSubgroupProperties.Buffer |
createSafe(long address,
int capacity)
|
static VkPhysicalDeviceSubgroupProperties |
malloc()
Returns a new
VkPhysicalDeviceSubgroupProperties instance allocated with memAlloc. |
static VkPhysicalDeviceSubgroupProperties.Buffer |
malloc(int capacity)
Returns a new
VkPhysicalDeviceSubgroupProperties.Buffer instance allocated with memAlloc. |
static VkPhysicalDeviceSubgroupProperties |
mallocStack()
Returns a new
VkPhysicalDeviceSubgroupProperties instance allocated on the thread-local MemoryStack. |
static VkPhysicalDeviceSubgroupProperties.Buffer |
mallocStack(int capacity)
Returns a new
VkPhysicalDeviceSubgroupProperties.Buffer instance allocated on the thread-local MemoryStack. |
static VkPhysicalDeviceSubgroupProperties.Buffer |
mallocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkPhysicalDeviceSubgroupProperties.Buffer instance allocated on the specified MemoryStack. |
static VkPhysicalDeviceSubgroupProperties |
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkPhysicalDeviceSubgroupProperties instance allocated on the specified MemoryStack. |
static long |
npNext(long struct)
Unsafe version of
pNext(). |
static void |
npNext(long struct,
long value)
Unsafe version of
pNext. |
static int |
nquadOperationsInAllStages(long struct)
Unsafe version of
quadOperationsInAllStages(). |
static int |
nsType(long struct)
Unsafe version of
sType(). |
static void |
nsType(long struct,
int value)
Unsafe version of
sType. |
static int |
nsubgroupSize(long struct)
Unsafe version of
subgroupSize(). |
static int |
nsupportedOperations(long struct)
Unsafe version of
supportedOperations(). |
static int |
nsupportedStages(long struct)
Unsafe version of
supportedStages(). |
long |
pNext()
Returns the value of the
pNext field. |
VkPhysicalDeviceSubgroupProperties |
pNext(long value)
Sets the specified value to the
pNext field. |
boolean |
quadOperationsInAllStages()
Returns the value of the
quadOperationsInAllStages field. |
VkPhysicalDeviceSubgroupProperties |
set(int sType,
long pNext)
Initializes this struct with the specified values.
|
VkPhysicalDeviceSubgroupProperties |
set(VkPhysicalDeviceSubgroupProperties src)
Copies the specified struct data to this struct.
|
int |
sizeof() |
int |
sType()
Returns the value of the
sType field. |
VkPhysicalDeviceSubgroupProperties |
sType(int value)
Sets the specified value to the
sType field. |
int |
subgroupSize()
Returns the value of the
subgroupSize field. |
int |
supportedOperations()
Returns the value of the
supportedOperations field. |
int |
supportedStages()
Returns the value of the
supportedStages field. |
public static final int SIZEOF
public static final int ALIGNOF
public static final int STYPE
public static final int PNEXT
public static final int SUBGROUPSIZE
public static final int SUPPORTEDSTAGES
public static final int SUPPORTEDOPERATIONS
public static final int QUADOPERATIONSINALLSTAGES
public VkPhysicalDeviceSubgroupProperties(java.nio.ByteBuffer container)
VkPhysicalDeviceSubgroupProperties 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 sType()
sType field.public long pNext()
pNext field.public int subgroupSize()
subgroupSize field.public int supportedStages()
supportedStages field.public int supportedOperations()
supportedOperations field.public boolean quadOperationsInAllStages()
quadOperationsInAllStages field.public VkPhysicalDeviceSubgroupProperties sType(int value)
sType field.public VkPhysicalDeviceSubgroupProperties pNext(long value)
pNext field.public VkPhysicalDeviceSubgroupProperties set(int sType, long pNext)
public VkPhysicalDeviceSubgroupProperties set(VkPhysicalDeviceSubgroupProperties src)
src - the source structpublic static VkPhysicalDeviceSubgroupProperties malloc()
VkPhysicalDeviceSubgroupProperties instance allocated with memAlloc. The instance must be explicitly freed.public static VkPhysicalDeviceSubgroupProperties calloc()
VkPhysicalDeviceSubgroupProperties instance allocated with memCalloc. The instance must be explicitly freed.public static VkPhysicalDeviceSubgroupProperties create()
VkPhysicalDeviceSubgroupProperties instance allocated with BufferUtils.public static VkPhysicalDeviceSubgroupProperties create(long address)
VkPhysicalDeviceSubgroupProperties instance for the specified memory address.@Nullable public static VkPhysicalDeviceSubgroupProperties createSafe(long address)
public static VkPhysicalDeviceSubgroupProperties.Buffer malloc(int capacity)
VkPhysicalDeviceSubgroupProperties.Buffer instance allocated with memAlloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkPhysicalDeviceSubgroupProperties.Buffer calloc(int capacity)
VkPhysicalDeviceSubgroupProperties.Buffer instance allocated with memCalloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkPhysicalDeviceSubgroupProperties.Buffer create(int capacity)
VkPhysicalDeviceSubgroupProperties.Buffer instance allocated with BufferUtils.capacity - the buffer capacitypublic static VkPhysicalDeviceSubgroupProperties.Buffer create(long address, int capacity)
VkPhysicalDeviceSubgroupProperties.Buffer instance at the specified memory.address - the memory addresscapacity - the buffer capacity@Nullable public static VkPhysicalDeviceSubgroupProperties.Buffer createSafe(long address, int capacity)
public static VkPhysicalDeviceSubgroupProperties mallocStack()
VkPhysicalDeviceSubgroupProperties instance allocated on the thread-local MemoryStack.public static VkPhysicalDeviceSubgroupProperties callocStack()
VkPhysicalDeviceSubgroupProperties instance allocated on the thread-local MemoryStack and initializes all its bits to zero.public static VkPhysicalDeviceSubgroupProperties mallocStack(org.lwjgl.system.MemoryStack stack)
VkPhysicalDeviceSubgroupProperties instance allocated on the specified MemoryStack.stack - the stack from which to allocatepublic static VkPhysicalDeviceSubgroupProperties callocStack(org.lwjgl.system.MemoryStack stack)
VkPhysicalDeviceSubgroupProperties instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatepublic static VkPhysicalDeviceSubgroupProperties.Buffer mallocStack(int capacity)
VkPhysicalDeviceSubgroupProperties.Buffer instance allocated on the thread-local MemoryStack.capacity - the buffer capacitypublic static VkPhysicalDeviceSubgroupProperties.Buffer callocStack(int capacity)
VkPhysicalDeviceSubgroupProperties.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.capacity - the buffer capacitypublic static VkPhysicalDeviceSubgroupProperties.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkPhysicalDeviceSubgroupProperties.Buffer instance allocated on the specified MemoryStack.stack - the stack from which to allocatecapacity - the buffer capacitypublic static VkPhysicalDeviceSubgroupProperties.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkPhysicalDeviceSubgroupProperties.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatecapacity - the buffer capacitypublic static int nsType(long struct)
sType().public static long npNext(long struct)
pNext().public static int nsubgroupSize(long struct)
subgroupSize().public static int nsupportedStages(long struct)
supportedStages().public static int nsupportedOperations(long struct)
supportedOperations().public static int nquadOperationsInAllStages(long struct)
quadOperationsInAllStages().public static void nsType(long struct,
int value)
sType.public static void npNext(long struct,
long value)
pNext.Copyright LWJGL. All Rights Reserved. License terms.