Class VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkPhysicalDeviceSubgroupSizeControlFeaturesEXT extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResourceStructure describing the subgroup size control features that can be supported by an implementation.Description
If the
VkPhysicalDeviceSubgroupSizeControlFeaturesEXTstructure is included in thepNextchain ofVkPhysicalDeviceFeatures2, it is filled with values indicating whether the feature is supported.VkPhysicalDeviceSubgroupSizeControlFeaturesEXTcan also be used in thepNextchain ofVkDeviceCreateInfoto enable the feature.Note
The
VkPhysicalDeviceSubgroupSizeControlFeaturesEXTstructure was added in version 2 of theVK_EXT_subgroup_size_controlextension. Version 1 implementations of this extension will not fill out the features structure but applications may assume that bothsubgroupSizeControlandcomputeFullSubgroupsare supported if the extension is supported. (See also the Feature Requirements section.) Applications are advised to add aVkPhysicalDeviceSubgroupSizeControlFeaturesEXTstructure to thepNextchain ofVkDeviceCreateInfoto 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 theVkPhysicalDeviceSubgroupSizeControlFeaturesEXTstructure.Valid Usage (Implicit)
Member documentation
subgroupSizeControl– indicates whether the implementation supports controlling shader subgroup sizes via thePIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXTflag and theVkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXTstructure.computeFullSubgroups– indicates whether the implementation supports requiring full subgroups in compute shaders via thePIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXTflag.
Layout
struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT { VkStructureType sType; void * pNext; VkBool32 subgroupSizeControl; VkBool32 computeFullSubgroups; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.BufferAn array ofVkPhysicalDeviceSubgroupSizeControlFeaturesEXTstructs.
-
Field Summary
Fields Modifier and Type Field Description static intALIGNOFThe struct alignment in bytes.static intCOMPUTEFULLSUBGROUPS
PNEXTThe struct member offsets.static intSIZEOFThe struct size in bytes.static intSTYPE
SUBGROUPSIZECONTROLThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkPhysicalDeviceSubgroupSizeControlFeaturesEXT(java.nio.ByteBuffer container)Creates aVkPhysicalDeviceSubgroupSizeControlFeaturesEXTinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static VkPhysicalDeviceSubgroupSizeControlFeaturesEXTcalloc()Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXTinstance allocated withmemCalloc.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffercalloc(int capacity)Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Bufferinstance allocated withmemCalloc.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXTcallocStack()Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXTinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.BuffercallocStack(int capacity)Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXTcallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.booleancomputeFullSubgroups()Returns the value of thecomputeFullSubgroupsfield.VkPhysicalDeviceSubgroupSizeControlFeaturesEXTcomputeFullSubgroups(boolean value)Sets the specified value to thecomputeFullSubgroupsfield.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXTcreate()Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXTinstance allocated withBufferUtils.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffercreate(int capacity)Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Bufferinstance allocated withBufferUtils.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXTcreate(long address)Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXTinstance for the specified memory address.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffercreate(long address, int capacity)Create aVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Bufferinstance at the specified memory.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXTcreateSafe(long address)static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.BuffercreateSafe(long address, int capacity)static VkPhysicalDeviceSubgroupSizeControlFeaturesEXTmalloc()Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXTinstance allocated withmemAlloc.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffermalloc(int capacity)Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Bufferinstance allocated withmemAlloc.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXTmallocStack()Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXTinstance allocated on the thread-localMemoryStack.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.BuffermallocStack(int capacity)Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Bufferinstance allocated on the thread-localMemoryStack.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Bufferinstance allocated on the specifiedMemoryStack.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXTmallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXTinstance allocated on the specifiedMemoryStack.static intncomputeFullSubgroups(long struct)Unsafe version ofcomputeFullSubgroups().static voidncomputeFullSubgroups(long struct, int value)Unsafe version ofcomputeFullSubgroups.static longnpNext(long struct)Unsafe version ofpNext().static voidnpNext(long struct, long value)Unsafe version ofpNext.static intnsType(long struct)Unsafe version ofsType().static voidnsType(long struct, int value)Unsafe version ofsType.static intnsubgroupSizeControl(long struct)Unsafe version ofsubgroupSizeControl().static voidnsubgroupSizeControl(long struct, int value)Unsafe version ofsubgroupSizeControl.longpNext()Returns the value of thepNextfield.VkPhysicalDeviceSubgroupSizeControlFeaturesEXTpNext(long value)Sets the specified value to thepNextfield.VkPhysicalDeviceSubgroupSizeControlFeaturesEXTset(int sType, long pNext, boolean subgroupSizeControl, boolean computeFullSubgroups)Initializes this struct with the specified values.VkPhysicalDeviceSubgroupSizeControlFeaturesEXTset(VkPhysicalDeviceSubgroupSizeControlFeaturesEXT src)Copies the specified struct data to this struct.intsizeof()intsType()Returns the value of thesTypefield.VkPhysicalDeviceSubgroupSizeControlFeaturesEXTsType(int value)Sets the specified value to thesTypefield.booleansubgroupSizeControl()Returns the value of thesubgroupSizeControlfield.VkPhysicalDeviceSubgroupSizeControlFeaturesEXTsubgroupSizeControl(boolean value)Sets the specified value to thesubgroupSizeControlfield.
-
-
-
Constructor Detail
-
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
public VkPhysicalDeviceSubgroupSizeControlFeaturesEXT(java.nio.ByteBuffer container)
Creates aVkPhysicalDeviceSubgroupSizeControlFeaturesEXTinstance at the current position of the specifiedByteBuffercontainer. 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:
sizeofin classorg.lwjgl.system.Struct
-
sType
public int sType()
Returns the value of thesTypefield.
-
pNext
public long pNext()
Returns the value of thepNextfield.
-
subgroupSizeControl
public boolean subgroupSizeControl()
Returns the value of thesubgroupSizeControlfield.
-
computeFullSubgroups
public boolean computeFullSubgroups()
Returns the value of thecomputeFullSubgroupsfield.
-
sType
public VkPhysicalDeviceSubgroupSizeControlFeaturesEXT sType(int value)
Sets the specified value to thesTypefield.
-
pNext
public VkPhysicalDeviceSubgroupSizeControlFeaturesEXT pNext(long value)
Sets the specified value to thepNextfield.
-
subgroupSizeControl
public VkPhysicalDeviceSubgroupSizeControlFeaturesEXT subgroupSizeControl(boolean value)
Sets the specified value to thesubgroupSizeControlfield.
-
computeFullSubgroups
public VkPhysicalDeviceSubgroupSizeControlFeaturesEXT computeFullSubgroups(boolean value)
Sets the specified value to thecomputeFullSubgroupsfield.
-
set
public VkPhysicalDeviceSubgroupSizeControlFeaturesEXT set(int sType, long pNext, boolean subgroupSizeControl, boolean computeFullSubgroups)
Initializes this struct with the specified values.
-
set
public VkPhysicalDeviceSubgroupSizeControlFeaturesEXT set(VkPhysicalDeviceSubgroupSizeControlFeaturesEXT src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT malloc()
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXTinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT calloc()
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXTinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT create()
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXTinstance allocated withBufferUtils.
-
create
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT create(long address)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXTinstance for the specified memory address.
-
createSafe
@Nullable public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT createSafe(long address)
-
malloc
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer malloc(int capacity)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer calloc(int capacity)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer create(int capacity)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer create(long address, int capacity)
Create aVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer createSafe(long address, int capacity)
-
mallocStack
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT mallocStack()
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXTinstance allocated on the thread-localMemoryStack.
-
callocStack
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT callocStack()
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXTinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.
-
mallocStack
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXTinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
callocStack
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
mallocStack
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer mallocStack(int capacity)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Bufferinstance allocated on the thread-localMemoryStack.- Parameters:
capacity- the buffer capacity
-
callocStack
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer callocStack(int capacity)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacity
-
mallocStack
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
callocStack
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Bufferinstance allocated on the specifiedMemoryStackand 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().
-
nsubgroupSizeControl
public static int nsubgroupSizeControl(long struct)
Unsafe version ofsubgroupSizeControl().
-
ncomputeFullSubgroups
public static int ncomputeFullSubgroups(long struct)
Unsafe version ofcomputeFullSubgroups().
-
nsType
public static void nsType(long struct, int value)Unsafe version ofsType.
-
npNext
public static void npNext(long struct, long value)Unsafe version ofpNext.
-
nsubgroupSizeControl
public static void nsubgroupSizeControl(long struct, int value)Unsafe version ofsubgroupSizeControl.
-
ncomputeFullSubgroups
public static void ncomputeFullSubgroups(long struct, int value)Unsafe version ofcomputeFullSubgroups.
-
-