If the VkPhysicalDeviceSubgroupSizeControlFeatures structure is included in the pNext chain of the VkPhysicalDeviceFeatures2 structure passed to GetPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. VkPhysicalDeviceSubgroupSizeControlFeatures can also be used in the pNext chain of VkDeviceCreateInfo to selectively enable these features.
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.
Vulkan 1.3 implementations always support the features structure.
struct VkPhysicalDeviceSubgroupSizeControlFeatures {
VkStructureType sType;
void * pNext;
VkBool32 subgroupSizeControl;
VkBool32 computeFullSubgroups;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | COMPUTEFULLSUBGROUPS
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STYPE
The struct member offsets. |
| public static final int | SUBGROUPSIZECONTROL
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkPhysicalDeviceSubgroupSizeControlFeatures(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkPhysicalDeviceSubgroupSizeControlFeatures | |
| public static VkPhysicalDeviceSubgroupSizeControlFeatures. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkPhysicalDeviceSubgroupSizeControlFeatures | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkPhysicalDeviceSubgroupSizeControlFeatures. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public boolean | computeFullSubgroups()
indicates whether the implementation supports requiring full subgroups in compute , mesh, or task shaders via the |
| public VkPhysicalDeviceSubgroupSizeControlFeatures | |
| protected VkPhysicalDeviceSubgroupSizeControlFeatures | 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 VkPhysicalDeviceSubgroupSizeControlFeatures | create()
Returns a new |
| public static VkPhysicalDeviceSubgroupSizeControlFeatures | create(long address)
Returns a new |
| public static VkPhysicalDeviceSubgroupSizeControlFeatures. | create(int
the buffer capacity capacity)Returns a new |
| public static VkPhysicalDeviceSubgroupSizeControlFeatures. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkPhysicalDeviceSubgroupSizeControlFeatures | |
| public static VkPhysicalDeviceSubgroupSizeControlFeatures. | |
| public static VkPhysicalDeviceSubgroupSizeControlFeatures | |
| public static VkPhysicalDeviceSubgroupSizeControlFeatures. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkPhysicalDeviceSubgroupSizeControlFeatures | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkPhysicalDeviceSubgroupSizeControlFeatures. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public long | |
| public VkPhysicalDeviceSubgroupSizeControlFeatures | |
| public VkPhysicalDeviceSubgroupSizeControlFeatures | set(int sType, long pNext, boolean subgroupSizeControl, boolean computeFullSubgroups)
Initializes this struct with the specified values. |
| public VkPhysicalDeviceSubgroupSizeControlFeatures | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkPhysicalDeviceSubgroupSizeControlFeatures | |
| public VkPhysicalDeviceSubgroupSizeControlFeatures | sType$Default()
Sets the |
| public boolean | subgroupSizeControl()
indicates whether the implementation supports controlling shader subgroup sizes via the |
| public VkPhysicalDeviceSubgroupSizeControlFeatures |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| COMPUTEFULLSUBGROUPS | back to summary |
|---|---|
| public static final int COMPUTEFULLSUBGROUPS The struct member offsets. | |
| PNEXT | back to summary |
|---|---|
| public static final int PNEXT The struct member offsets. | |
| SIZEOF | back to summary |
|---|---|
| public static final int SIZEOF The struct size in bytes. | |
| STYPE | back to summary |
|---|---|
| public static final int STYPE The struct member offsets. | |
| SUBGROUPSIZECONTROL | back to summary |
|---|---|
| public static final int SUBGROUPSIZECONTROL The struct member offsets. | |
| VkPhysicalDeviceSubgroupSizeControlFeatures | back to summary |
|---|---|
| protected VkPhysicalDeviceSubgroupSizeControlFeatures(long address, ByteBuffer container) | |
| VkPhysicalDeviceSubgroupSizeControlFeatures | back to summary |
|---|---|
| public VkPhysicalDeviceSubgroupSizeControlFeatures(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| calloc | back to summary |
|---|---|
| public static VkPhysicalDeviceSubgroupSizeControlFeatures calloc() Returns a new | |
| calloc | back to summary |
|---|---|
| public static VkPhysicalDeviceSubgroupSizeControlFeatures. Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkPhysicalDeviceSubgroupSizeControlFeatures calloc(MemoryStack stack) Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkPhysicalDeviceSubgroupSizeControlFeatures. Returns a new
| |
| computeFullSubgroups | back to summary |
|---|---|
| public boolean computeFullSubgroups() indicates whether the implementation supports requiring full subgroups in compute , mesh, or task shaders via the
| |
| computeFullSubgroups | back to summary |
|---|---|
| public VkPhysicalDeviceSubgroupSizeControlFeatures computeFullSubgroups(boolean value) Sets the specified value to the | |
| create | back to summary |
|---|---|
| protected VkPhysicalDeviceSubgroupSizeControlFeatures create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static VkPhysicalDeviceSubgroupSizeControlFeatures create() Returns a new | |
| create | back to summary |
|---|---|
| public static VkPhysicalDeviceSubgroupSizeControlFeatures create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static VkPhysicalDeviceSubgroupSizeControlFeatures. Returns a new
| |
| create | back to summary |
|---|---|
| public static VkPhysicalDeviceSubgroupSizeControlFeatures. Create a
| |
| createSafe | back to summary |
|---|---|
| public static VkPhysicalDeviceSubgroupSizeControlFeatures createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static VkPhysicalDeviceSubgroupSizeControlFeatures. Like
| |
| malloc | back to summary |
|---|---|
| public static VkPhysicalDeviceSubgroupSizeControlFeatures malloc() Returns a new | |
| malloc | back to summary |
|---|---|
| public static VkPhysicalDeviceSubgroupSizeControlFeatures. Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkPhysicalDeviceSubgroupSizeControlFeatures malloc(MemoryStack stack) Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkPhysicalDeviceSubgroupSizeControlFeatures. Returns a new
| |
| ncomputeFullSubgroups | back to summary |
|---|---|
| public static int ncomputeFullSubgroups(long struct) Unsafe version of | |
| ncomputeFullSubgroups | back to summary |
|---|---|
| public static void ncomputeFullSubgroups(long struct, int value) Unsafe version of | |
| npNext | back to summary |
|---|---|
| public static long npNext(long struct) Unsafe version of | |
| npNext | back to summary |
|---|---|
| public static void npNext(long struct, long value) Unsafe version of | |
| nsType | back to summary |
|---|---|
| public static int nsType(long struct) Unsafe version of | |
| nsType | back to summary |
|---|---|
| public static void nsType(long struct, int value) Unsafe version of | |
| nsubgroupSizeControl | back to summary |
|---|---|
| public static int nsubgroupSizeControl(long struct) Unsafe version of | |
| nsubgroupSizeControl | back to summary |
|---|---|
| public static void nsubgroupSizeControl(long struct, int value) Unsafe version of | |
| pNext | back to summary |
|---|---|
| public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkPhysicalDeviceSubgroupSizeControlFeatures pNext(long value) Sets the specified value to the | |
| set | back to summary |
|---|---|
| public VkPhysicalDeviceSubgroupSizeControlFeatures set(int sType, long pNext, boolean subgroupSizeControl, boolean computeFullSubgroups) Initializes this struct with the specified values. | |
| set | back to summary |
|---|---|
| public VkPhysicalDeviceSubgroupSizeControlFeatures set(VkPhysicalDeviceSubgroupSizeControlFeatures src) Copies the specified struct data to this struct.
| |
| sizeof | back to summary |
|---|---|
| public int sizeof() Implements abstract org. Doc from org. Returns
| |
| sType | back to summary |
|---|---|
| public int sType() a
| |
| sType | back to summary |
|---|---|
| public VkPhysicalDeviceSubgroupSizeControlFeatures sType(int value) Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkPhysicalDeviceSubgroupSizeControlFeatures sType$Default() Sets the | |
| subgroupSizeControl | back to summary |
|---|---|
| public boolean subgroupSizeControl() indicates whether the implementation supports controlling shader subgroup sizes via the
| |
| subgroupSizeControl | back to summary |
|---|---|
| public VkPhysicalDeviceSubgroupSizeControlFeatures subgroupSizeControl(boolean value) Sets the specified value to the | |
VkPhysicalDeviceSubgroupSizeControlFeatures structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final VkPhysicalDeviceSubgroupSizeControlFeatures |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final VkPhysicalDeviceSubgroupSizeControlFeatures 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) | |
| computeFullSubgroups | back to summary |
|---|---|
public boolean computeFullSubgroups()
| |
| computeFullSubgroups | back to summary |
|---|---|
| public VkPhysicalDeviceSubgroupSizeControlFeatures. Sets the specified value to the | |
| getElementFactory | back to summary |
|---|---|
| protected VkPhysicalDeviceSubgroupSizeControlFeatures getElementFactory() Implements abstract org.
| |
| pNext | back to summary |
|---|---|
public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkPhysicalDeviceSubgroupSizeControlFeatures. Sets the specified value to the | |
| self | back to summary |
|---|---|
| protected VkPhysicalDeviceSubgroupSizeControlFeatures. Implements abstract org.
| |
| sType | back to summary |
|---|---|
public int sType()
| |
| sType | back to summary |
|---|---|
| public VkPhysicalDeviceSubgroupSizeControlFeatures. Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkPhysicalDeviceSubgroupSizeControlFeatures. Sets the | |
| subgroupSizeControl | back to summary |
|---|---|
public boolean subgroupSizeControl()
| |
| subgroupSizeControl | back to summary |
|---|---|
| public VkPhysicalDeviceSubgroupSizeControlFeatures. Sets the specified value to the | |