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.NativeResource
Structure describing the subgroup size control features that can be supported by an implementation.Description
If the
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
structure is included in thepNext
chain ofVkPhysicalDeviceFeatures2
, it is filled with values indicating whether the feature is supported.VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
can also be used in thepNext
chain ofVkDeviceCreateInfo
to enable the feature.Note
The
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
structure was added in version 2 of theVK_EXT_subgroup_size_control
extension. Version 1 implementations of this extension will not fill out the features structure but applications may assume that bothsubgroupSizeControl
andcomputeFullSubgroups
are supported if the extension is supported. (See also the Feature Requirements section.) Applications are advised to add aVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
structure to thepNext
chain ofVkDeviceCreateInfo
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 theVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
structure.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_EXT
flag and theVkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
structure.computeFullSubgroups
– indicates whether the implementation supports requiring full subgroups in compute shaders via thePIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT
flag.
Layout
struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT { VkStructureType sType; void * pNext; VkBool32 subgroupSizeControl; VkBool32 computeFullSubgroups; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
An array ofVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
structs.
-
Field Summary
Fields Modifier and Type Field Description static int
ALIGNOF
The struct alignment in bytes.static int
COMPUTEFULLSUBGROUPS
PNEXTThe struct member offsets.static int
SIZEOF
The struct size in bytes.static int
STYPE
SUBGROUPSIZECONTROLThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkPhysicalDeviceSubgroupSizeControlFeaturesEXT(java.nio.ByteBuffer container)
Creates aVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
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 VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
calloc()
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
instance allocated withmemCalloc
.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
calloc(int capacity)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
instance allocated withmemCalloc
.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
callocStack()
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
callocStack(int capacity)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.boolean
computeFullSubgroups()
Returns the value of thecomputeFullSubgroups
field.VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
computeFullSubgroups(boolean value)
Sets the specified value to thecomputeFullSubgroups
field.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
create()
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
instance allocated withBufferUtils
.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
create(int capacity)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
instance allocated withBufferUtils
.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
create(long address)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
instance for the specified memory address.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
create(long address, int capacity)
Create aVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
instance at the specified memory.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
createSafe(long address)
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
createSafe(long address, int capacity)
static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
malloc()
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
instance allocated withmemAlloc
.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
malloc(int capacity)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
instance allocated withmemAlloc
.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
mallocStack()
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
instance allocated on the thread-localMemoryStack
.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
mallocStack(int capacity)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
instance allocated on the thread-localMemoryStack
.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
instance allocated on the specifiedMemoryStack
.static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
instance allocated on the specifiedMemoryStack
.static int
ncomputeFullSubgroups(long struct)
Unsafe version ofcomputeFullSubgroups()
.static void
ncomputeFullSubgroups(long struct, int value)
Unsafe version ofcomputeFullSubgroups
.static long
npNext(long struct)
Unsafe version ofpNext()
.static void
npNext(long struct, long value)
Unsafe version ofpNext
.static int
nsType(long struct)
Unsafe version ofsType()
.static void
nsType(long struct, int value)
Unsafe version ofsType
.static int
nsubgroupSizeControl(long struct)
Unsafe version ofsubgroupSizeControl()
.static void
nsubgroupSizeControl(long struct, int value)
Unsafe version ofsubgroupSizeControl
.long
pNext()
Returns the value of thepNext
field.VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
pNext(long value)
Sets the specified value to thepNext
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 thesType
field.VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
sType(int value)
Sets the specified value to thesType
field.boolean
subgroupSizeControl()
Returns the value of thesubgroupSizeControl
field.VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
subgroupSizeControl(boolean value)
Sets the specified value to thesubgroupSizeControl
field.
-
-
-
Constructor Detail
-
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
public VkPhysicalDeviceSubgroupSizeControlFeaturesEXT(java.nio.ByteBuffer container)
Creates aVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
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.
-
subgroupSizeControl
public boolean subgroupSizeControl()
Returns the value of thesubgroupSizeControl
field.
-
computeFullSubgroups
public boolean computeFullSubgroups()
Returns the value of thecomputeFullSubgroups
field.
-
sType
public VkPhysicalDeviceSubgroupSizeControlFeaturesEXT sType(int value)
Sets the specified value to thesType
field.
-
pNext
public VkPhysicalDeviceSubgroupSizeControlFeaturesEXT pNext(long value)
Sets the specified value to thepNext
field.
-
subgroupSizeControl
public VkPhysicalDeviceSubgroupSizeControlFeaturesEXT subgroupSizeControl(boolean value)
Sets the specified value to thesubgroupSizeControl
field.
-
computeFullSubgroups
public VkPhysicalDeviceSubgroupSizeControlFeaturesEXT computeFullSubgroups(boolean value)
Sets the specified value to thecomputeFullSubgroups
field.
-
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 newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
instance allocated withmemAlloc
. The instance must be explicitly freed.
-
calloc
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT calloc()
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
instance allocated withmemCalloc
. The instance must be explicitly freed.
-
create
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT create()
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
instance allocated withBufferUtils
.
-
create
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT create(long address)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
instance for the specified memory address.
-
createSafe
@Nullable public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT createSafe(long address)
-
malloc
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer malloc(int capacity)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer calloc(int capacity)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer create(int capacity)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer create(long address, int capacity)
Create aVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
instance 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 newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
instance allocated on the thread-localMemoryStack
.
-
callocStack
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT callocStack()
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.
-
mallocStack
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT
instance allocated on the specifiedMemoryStack
and 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.Buffer
instance allocated on the thread-localMemoryStack
.- Parameters:
capacity
- the buffer capacity
-
callocStack
public static VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer callocStack(int capacity)
Returns a newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer
instance allocated on the thread-localMemoryStack
and 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.Buffer
instance 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.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()
.
-
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
.
-
-