public class VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
extends org.lwjgl.system.Struct
implements org.lwjgl.system.NativeResource
If the VkPhysicalDeviceSubgroupSizeControlFeaturesEXT structure is included in the pNext chain of VkPhysicalDeviceFeatures2, it is filled with values indicating whether the feature is supported. VkPhysicalDeviceSubgroupSizeControlFeaturesEXT can also be included in the pNext chain of VkDeviceCreateInfo to enable the feature.
The VkPhysicalDeviceSubgroupSizeControlFeaturesEXT structure was added in version 2 of the VK_EXT_subgroup_size_control extension. Version 1 implementations of this extension will not fill out the features structure but applications may assume that both subgroupSizeControl and computeFullSubgroups are supported if the extension is supported. (See also the Feature Requirements section.) Applications are advised to add a VkPhysicalDeviceSubgroupSizeControlFeaturesEXT structure to the pNext chain of VkDeviceCreateInfo to enable the features regardless of the version of the extension supported by the implementation. If the implementation only supports version 1, it will safely ignore the VkPhysicalDeviceSubgroupSizeControlFeaturesEXT structure.
subgroupSizeControl – indicates whether the implementation supports controlling shader subgroup sizes via the PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT flag and the VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT structure.computeFullSubgroups – indicates whether the implementation supports requiring full subgroups in compute shaders via the PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT flag.
struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
VkStructureType sType;
void * pNext;
VkBool32 subgroupSizeControl;
VkBool32 computeFullSubgroups;
}| Modifier and Type | Class and Description |
|---|---|
static class |
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
An array of
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT structs. |
| Modifier and Type | Field and Description |
|---|---|
static int |
ALIGNOF
The struct alignment in bytes.
|
static int |
COMPUTEFULLSUBGROUPS
The struct member offsets.
|
static int |
PNEXT
The struct member offsets.
|
static int |
SIZEOF
The struct size in bytes.
|
static int |
STYPE
The struct member offsets.
|
static int |
SUBGROUPSIZECONTROL
The struct member offsets.
|
| Constructor and Description |
|---|
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT(java.nio.ByteBuffer container)
Creates a
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT instance at the current position of the specified ByteBuffer container. |
| Modifier and Type | Method and Description |
|---|---|
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT |
calloc()
Returns a new
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT instance allocated with memCalloc. |
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer |
calloc(int capacity)
Returns a new
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer instance allocated with memCalloc. |
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT |
callocStack()
Returns a new
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer |
callocStack(int capacity)
Returns a new
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer |
callocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT |
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT instance allocated on the specified MemoryStack and initializes all its bits to zero. |
boolean |
computeFullSubgroups()
Returns the value of the
computeFullSubgroups field. |
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT |
computeFullSubgroups(boolean value)
Sets the specified value to the
computeFullSubgroups field. |
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT |
create()
Returns a new
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT instance allocated with BufferUtils. |
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer |
create(int capacity)
Returns a new
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer instance allocated with BufferUtils. |
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT |
create(long address)
Returns a new
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT instance for the specified memory address. |
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer |
create(long address,
int capacity)
Create a
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer instance at the specified memory. |
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT |
createSafe(long address)
|
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer |
createSafe(long address,
int capacity)
|
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT |
malloc()
Returns a new
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT instance allocated with memAlloc. |
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer |
malloc(int capacity)
Returns a new
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer instance allocated with memAlloc. |
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT |
mallocStack()
Returns a new
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT instance allocated on the thread-local MemoryStack. |
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer |
mallocStack(int capacity)
Returns a new
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer instance allocated on the thread-local MemoryStack. |
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer |
mallocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer instance allocated on the specified MemoryStack. |
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT |
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT instance allocated on the specified MemoryStack. |
static int |
ncomputeFullSubgroups(long struct)
Unsafe version of
computeFullSubgroups(). |
static void |
ncomputeFullSubgroups(long struct,
int value)
Unsafe version of
computeFullSubgroups. |
static long |
npNext(long struct)
Unsafe version of
pNext(). |
static void |
npNext(long struct,
long value)
Unsafe version of
pNext. |
static int |
nsType(long struct)
Unsafe version of
sType(). |
static void |
nsType(long struct,
int value)
Unsafe version of
sType. |
static int |
nsubgroupSizeControl(long struct)
Unsafe version of
subgroupSizeControl(). |
static void |
nsubgroupSizeControl(long struct,
int value)
Unsafe version of
subgroupSizeControl. |
long |
pNext()
Returns the value of the
pNext field. |
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT |
pNext(long value)
Sets the specified value to the
pNext field. |
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT |
set(int sType,
long pNext,
boolean subgroupSizeControl,
boolean computeFullSubgroups)
Initializes this struct with the specified values.
|
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT |
set(VkPhysicalDeviceSubgroupSizeControlFeaturesEXT src)
Copies the specified struct data to this struct.
|
int |
sizeof() |
int |
sType()
Returns the value of the
sType field. |
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT |
sType(int value)
Sets the specified value to the
sType field. |
boolean |
subgroupSizeControl()
Returns the value of the
subgroupSizeControl field. |
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT |
subgroupSizeControl(boolean value)
Sets the specified value to the
subgroupSizeControl 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 SUBGROUPSIZECONTROL
public static final int COMPUTEFULLSUBGROUPS
public VkPhysicalDeviceSubgroupSizeControlFeaturesEXT(java.nio.ByteBuffer container)
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT 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 boolean subgroupSizeControl()
subgroupSizeControl field.public boolean computeFullSubgroups()
computeFullSubgroups field.public VkPhysicalDeviceSubgroupSizeControlFeaturesEXT sType(int value)
sType field.public VkPhysicalDeviceSubgroupSizeControlFeaturesEXT pNext(long value)
pNext field.public VkPhysicalDeviceSubgroupSizeControlFeaturesEXT subgroupSizeControl(boolean value)
subgroupSizeControl field.public VkPhysicalDeviceSubgroupSizeControlFeaturesEXT computeFullSubgroups(boolean value)
computeFullSubgroups field.public VkPhysicalDeviceSubgroupSizeControlFeaturesEXT set(int sType, long pNext, boolean subgroupSizeControl, boolean computeFullSubgroups)
public VkPhysicalDeviceSubgroupSizeControlFeaturesEXT set(VkPhysicalDeviceSubgroupSizeControlFeaturesEXT src)
src - the source structpublic static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT malloc()
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT instance allocated with memAlloc. The instance must be explicitly freed.public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT calloc()
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT instance allocated with memCalloc. The instance must be explicitly freed.public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT create()
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT instance allocated with BufferUtils.public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT create(long address)
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT instance for the specified memory address.@Nullable public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT createSafe(long address)
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer malloc(int capacity)
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer instance allocated with memAlloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer calloc(int capacity)
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer instance allocated with memCalloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer create(int capacity)
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer instance allocated with BufferUtils.capacity - the buffer capacitypublic static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer create(long address, int capacity)
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer instance at the specified memory.address - the memory addresscapacity - the buffer capacity@Nullable public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer createSafe(long address, int capacity)
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT mallocStack()
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT instance allocated on the thread-local MemoryStack.public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT callocStack()
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT instance allocated on the thread-local MemoryStack and initializes all its bits to zero.public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT mallocStack(org.lwjgl.system.MemoryStack stack)
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT instance allocated on the specified MemoryStack.stack - the stack from which to allocatepublic static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT callocStack(org.lwjgl.system.MemoryStack stack)
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatepublic static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer mallocStack(int capacity)
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer instance allocated on the thread-local MemoryStack.capacity - the buffer capacitypublic static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer callocStack(int capacity)
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.capacity - the buffer capacitypublic static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer instance allocated on the specified MemoryStack.stack - the stack from which to allocatecapacity - the buffer capacitypublic static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.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 nsubgroupSizeControl(long struct)
subgroupSizeControl().public static int ncomputeFullSubgroups(long struct)
computeFullSubgroups().public static void nsType(long struct,
int value)
sType.public static void npNext(long struct,
long value)
pNext.public static void nsubgroupSizeControl(long struct,
int value)
subgroupSizeControl.public static void ncomputeFullSubgroups(long struct,
int value)
computeFullSubgroups.Copyright LWJGL. All Rights Reserved. License terms.