Top Description Inners Fields Constructors Methods
org.lwjgl.vulkan

public Class VkPhysicalDeviceSubgroupSizeControlFeatures

extends Struct<VkPhysicalDeviceSubgroupSizeControlFeatures>
implements NativeResource
Class Inheritance
All Implemented Interfaces
org.lwjgl.system.NativeResource, java.lang.AutoCloseable
Known Direct Subclasses
org.lwjgl.vulkan.VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
Imports
javax.annotation.*, java.nio.*, org.lwjgl.*, org.lwjgl.system.*

Structure describing the subgroup size control features that can be supported by an implementation.
Description

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.

Note

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.

Valid Usage (Implicit)

Layout


struct VkPhysicalDeviceSubgroupSizeControlFeatures {
    VkStructureType sType;
    void * pNext;
    VkBool32 subgroupSizeControl;
    VkBool32 computeFullSubgroups;
}

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Field Summary

Modifier and TypeField 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.

Inherited from org.lwjgl.system.Struct:
containerDEFAULT_ALIGN_ASDEFAULT_PACK_ALIGNMENT

Constructor Summary

AccessConstructor and Description
protected
public
VkPhysicalDeviceSubgroupSizeControlFeatures(ByteBuffer container)

Creates a VkPhysicalDeviceSubgroupSizeControlFeatures instance at the current position of the specified ByteBuffer container.

Method Summary

Modifier and TypeMethod and Description
public static VkPhysicalDeviceSubgroupSizeControlFeatures
calloc()

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures instance allocated with memCalloc.

public static VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer
calloc(int
the buffer capacity
capacity
)

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer instance allocated with memCalloc.

public static VkPhysicalDeviceSubgroupSizeControlFeatures
calloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures instance allocated on the specified MemoryStack and initializes all its bits to zero.

public static VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer
calloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.

public boolean
computeFullSubgroups()

indicates whether the implementation supports requiring full subgroups in compute , mesh, or task shaders via the PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT flag.

public VkPhysicalDeviceSubgroupSizeControlFeatures
computeFullSubgroups(boolean value)

Sets the specified value to the computeFullSubgroups field.

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.lwjgl.system.Struct.create.

Similar to the constructor, but returns the exact type of the Struct subclass.
public static VkPhysicalDeviceSubgroupSizeControlFeatures
create()

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures instance allocated with BufferUtils.

public static VkPhysicalDeviceSubgroupSizeControlFeatures
create(long address)

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures instance for the specified memory address.

public static VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer
create(int
the buffer capacity
capacity
)

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer instance allocated with BufferUtils.

public static VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer
create(long
the memory address
address
,
int
the buffer capacity
capacity
)

Create a VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer instance at the specified memory.

public static VkPhysicalDeviceSubgroupSizeControlFeatures
createSafe(long address)

Like create, but returns null if address is NULL.

public static VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer
createSafe(long address, int capacity)

Like create, but returns null if address is NULL.

public static VkPhysicalDeviceSubgroupSizeControlFeatures
malloc()

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures instance allocated with memAlloc.

public static VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer
malloc(int
the buffer capacity
capacity
)

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer instance allocated with memAlloc.

public static VkPhysicalDeviceSubgroupSizeControlFeatures
malloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures instance allocated on the specified MemoryStack.

public static VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer
malloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer instance allocated on the specified MemoryStack.

public static int
ncomputeFullSubgroups(long struct)

Unsafe version of computeFullSubgroups.

public static void
ncomputeFullSubgroups(long struct, int value)

Unsafe version of computeFullSubgroups.

public static long
npNext(long struct)

Unsafe version of pNext.

public static void
npNext(long struct, long value)

Unsafe version of pNext.

public static int
nsType(long struct)

Unsafe version of sType.

public static void
nsType(long struct, int value)

Unsafe version of sType.

public static int
nsubgroupSizeControl(long struct)

Unsafe version of subgroupSizeControl.

public static void
nsubgroupSizeControl(long struct, int value)

Unsafe version of subgroupSizeControl.

public long
pNext()

NULL or a pointer to a structure extending this structure.

public VkPhysicalDeviceSubgroupSizeControlFeatures
pNext(long value)

Sets the specified value to the pNext field.

public VkPhysicalDeviceSubgroupSizeControlFeatures
set(int sType, long pNext, boolean subgroupSizeControl, boolean computeFullSubgroups)

Initializes this struct with the specified values.

public VkPhysicalDeviceSubgroupSizeControlFeatures

Returns:

this struct
set
(VkPhysicalDeviceSubgroupSizeControlFeatures
the source struct
src
)

Copies the specified struct data to this struct.

public int
sizeof()

Implements abstract org.lwjgl.system.Struct.sizeof.

Returns sizeof(struct).
public int
sType()

a VkStructureType value identifying this structure.

public VkPhysicalDeviceSubgroupSizeControlFeatures
sType(int value)

Sets the specified value to the sType field.

public VkPhysicalDeviceSubgroupSizeControlFeatures
public boolean
subgroupSizeControl()

indicates whether the implementation supports controlling shader subgroup sizes via the PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT flag and the VkPipelineShaderStageRequiredSubgroupSizeCreateInfo structure.

public VkPhysicalDeviceSubgroupSizeControlFeatures
subgroupSizeControl(boolean value)

Sets the specified value to the subgroupSizeControl field.

Inherited from org.lwjgl.system.Struct:
__array__array__array__checkContainer__checkMalloc__create__getContainer__getContainer__member__member__member__padding__padding__struct__struct__union__unionclearfreeisNullvalidate

Field Detail

ALIGNOFback to summary
public static final int ALIGNOF

The struct alignment in bytes.

COMPUTEFULLSUBGROUPSback to summary
public static final int COMPUTEFULLSUBGROUPS

The struct member offsets.

PNEXTback to summary
public static final int PNEXT

The struct member offsets.

SIZEOFback to summary
public static final int SIZEOF

The struct size in bytes.

STYPEback to summary
public static final int STYPE

The struct member offsets.

SUBGROUPSIZECONTROLback to summary
public static final int SUBGROUPSIZECONTROL

The struct member offsets.

Constructor Detail

VkPhysicalDeviceSubgroupSizeControlFeaturesback to summary
protected VkPhysicalDeviceSubgroupSizeControlFeatures(long address, ByteBuffer container)
VkPhysicalDeviceSubgroupSizeControlFeaturesback to summary
public VkPhysicalDeviceSubgroupSizeControlFeatures(ByteBuffer container)

Creates a VkPhysicalDeviceSubgroupSizeControlFeatures 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.

Method Detail

callocback to summary
public static VkPhysicalDeviceSubgroupSizeControlFeatures calloc()

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures instance allocated with memCalloc. The instance must be explicitly freed.

callocback to summary
public static VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer calloc(int capacity)

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer instance allocated with memCalloc. The instance must be explicitly freed.

Parameters
capacity:int

the buffer capacity

callocback to summary
public static VkPhysicalDeviceSubgroupSizeControlFeatures calloc(MemoryStack stack)

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures instance allocated on the specified MemoryStack and initializes all its bits to zero.

Parameters
stack:MemoryStack

the stack from which to allocate

callocback to summary
public static VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer calloc(int capacity, MemoryStack stack)

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.

Parameters
capacity:int

the buffer capacity

stack:MemoryStack

the stack from which to allocate

computeFullSubgroupsback to summary
public boolean computeFullSubgroups()

indicates whether the implementation supports requiring full subgroups in compute , mesh, or task shaders via the PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT flag.

Annotations
@NativeType:VkBool32
computeFullSubgroupsback to summary
public VkPhysicalDeviceSubgroupSizeControlFeatures computeFullSubgroups(boolean value)

Sets the specified value to the computeFullSubgroups field.

createback to summary
protected VkPhysicalDeviceSubgroupSizeControlFeatures create(long address, ByteBuffer container)

Implements abstract org.lwjgl.system.Struct.create.

Doc from org.lwjgl.system.Struct.create.

Similar to the constructor, but returns the exact type of the Struct subclass.

Effectively, every Struct instance is a factory for more instances of the same type. This is used by StructBuffer.

Parameters
address:long

the struct memory address

container:ByteBuffer

an optional container buffer, to be referenced strongly by the struct instance.

Annotations
@Override
createback to summary
public static VkPhysicalDeviceSubgroupSizeControlFeatures create()

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures instance allocated with BufferUtils.

createback to summary
public static VkPhysicalDeviceSubgroupSizeControlFeatures create(long address)

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures instance for the specified memory address.

createback to summary
public static VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer create(int capacity)

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer instance allocated with BufferUtils.

Parameters
capacity:int

the buffer capacity

createback to summary
public static VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer create(long address, int capacity)

Create a VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer instance at the specified memory.

Parameters
address:long

the memory address

capacity:int

the buffer capacity

createSafeback to summary
public static VkPhysicalDeviceSubgroupSizeControlFeatures createSafe(long address)

Like create, but returns null if address is NULL.

Annotations
@Nullable
createSafeback to summary
public static VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer createSafe(long address, int capacity)

Like create, but returns null if address is NULL.

Annotations
@Nullable
mallocback to summary
public static VkPhysicalDeviceSubgroupSizeControlFeatures malloc()

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures instance allocated with memAlloc. The instance must be explicitly freed.

mallocback to summary
public static VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer malloc(int capacity)

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer instance allocated with memAlloc. The instance must be explicitly freed.

Parameters
capacity:int

the buffer capacity

mallocback to summary
public static VkPhysicalDeviceSubgroupSizeControlFeatures malloc(MemoryStack stack)

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures instance allocated on the specified MemoryStack.

Parameters
stack:MemoryStack

the stack from which to allocate

mallocback to summary
public static VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer malloc(int capacity, MemoryStack stack)

Returns a new VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer instance allocated on the specified MemoryStack.

Parameters
capacity:int

the buffer capacity

stack:MemoryStack

the stack from which to allocate

ncomputeFullSubgroupsback to summary
public static int ncomputeFullSubgroups(long struct)

Unsafe version of computeFullSubgroups.

ncomputeFullSubgroupsback to summary
public static void ncomputeFullSubgroups(long struct, int value)

Unsafe version of computeFullSubgroups.

npNextback to summary
public static long npNext(long struct)

Unsafe version of pNext.

npNextback to summary
public static void npNext(long struct, long value)

Unsafe version of pNext.

nsTypeback to summary
public static int nsType(long struct)

Unsafe version of sType.

nsTypeback to summary
public static void nsType(long struct, int value)

Unsafe version of sType.

nsubgroupSizeControlback to summary
public static int nsubgroupSizeControl(long struct)

Unsafe version of subgroupSizeControl.

nsubgroupSizeControlback to summary
public static void nsubgroupSizeControl(long struct, int value)

Unsafe version of subgroupSizeControl.

pNextback to summary
public long pNext()

NULL or a pointer to a structure extending this structure.

Annotations
@NativeType:void *
pNextback to summary
public VkPhysicalDeviceSubgroupSizeControlFeatures pNext(long value)

Sets the specified value to the pNext field.

setback to summary
public VkPhysicalDeviceSubgroupSizeControlFeatures set(int sType, long pNext, boolean subgroupSizeControl, boolean computeFullSubgroups)

Initializes this struct with the specified values.

setback to summary
public VkPhysicalDeviceSubgroupSizeControlFeatures set(VkPhysicalDeviceSubgroupSizeControlFeatures src)

Copies the specified struct data to this struct.

Parameters
src:VkPhysicalDeviceSubgroupSizeControlFeatures

the source struct

Returns:VkPhysicalDeviceSubgroupSizeControlFeatures

this struct

sizeofback to summary
public int sizeof()

Implements abstract org.lwjgl.system.Struct.sizeof.

Doc from org.lwjgl.system.Struct.sizeof.

Returns sizeof(struct).

Annotations
@Override
sTypeback to summary
public int sType()

a VkStructureType value identifying this structure.

Annotations
@NativeType:VkStructureType
sTypeback to summary
public VkPhysicalDeviceSubgroupSizeControlFeatures sType(int value)

Sets the specified value to the sType field.

sType$Defaultback to summary
public VkPhysicalDeviceSubgroupSizeControlFeatures sType$Default()

Sets the STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES value to the sType field.

subgroupSizeControlback to summary
public boolean subgroupSizeControl()

indicates whether the implementation supports controlling shader subgroup sizes via the PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT flag and the VkPipelineShaderStageRequiredSubgroupSizeCreateInfo structure.

Annotations
@NativeType:VkBool32
subgroupSizeControlback to summary
public VkPhysicalDeviceSubgroupSizeControlFeatures subgroupSizeControl(boolean value)

Sets the specified value to the subgroupSizeControl field.

org.lwjgl.vulkan back to summary

public Class VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer

extends StructBuffer<VkPhysicalDeviceSubgroupSizeControlFeatures, VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer>
implements NativeResource
Class Inheritance
All Implemented Interfaces
org.lwjgl.system.NativeResource, java.lang.AutoCloseable
Known Direct Subclasses
org.lwjgl.vulkan.VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.Buffer

An array of VkPhysicalDeviceSubgroupSizeControlFeatures structs.

Field Summary

Modifier and TypeField and Description
private static final VkPhysicalDeviceSubgroupSizeControlFeatures

Constructor Summary

AccessConstructor and Description
public
Buffer(ByteBuffer container)

Creates a new VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer instance backed by the specified container.

public
Buffer(long address, int cap)

pack-priv
Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap)

Method Summary

Modifier and TypeMethod and Description
public boolean
public VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer
protected VkPhysicalDeviceSubgroupSizeControlFeatures
public long

Returns:

the value of the VkPhysicalDeviceSubgroupSizeControlFeatures#pNext field.
pNext
()

public VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer
pNext(long value)

Sets the specified value to the VkPhysicalDeviceSubgroupSizeControlFeatures#pNext field.

protected VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer
public int

Returns:

the value of the VkPhysicalDeviceSubgroupSizeControlFeatures#sType field.
sType
()

public VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer
sType(int value)

Sets the specified value to the VkPhysicalDeviceSubgroupSizeControlFeatures#sType field.

public VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer
public boolean
public VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer
subgroupSizeControl(boolean value)

Sets the specified value to the VkPhysicalDeviceSubgroupSizeControlFeatures#subgroupSizeControl field.

Inherited from org.lwjgl.system.StructBuffer:
applyapplyforEachgetgetgetgetiteratorparallelStreamputputsizeofspliteratorstream

Field Detail

ELEMENT_FACTORYback to summary
private static final VkPhysicalDeviceSubgroupSizeControlFeatures ELEMENT_FACTORY

Constructor Detail

Bufferback to summary
public Buffer(ByteBuffer container)

Creates a new VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer instance backed by the specified container.

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 VkPhysicalDeviceSubgroupSizeControlFeatures#SIZEOF, and its mark will be undefined.

The created buffer instance holds a strong reference to the container object.

Bufferback to summary
public Buffer(long address, int cap)
Bufferback to summary
pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap)

Method Detail

computeFullSubgroupsback to summary
public boolean computeFullSubgroups()
Returns:boolean

the value of the VkPhysicalDeviceSubgroupSizeControlFeatures#computeFullSubgroups field.

Annotations
@NativeType:VkBool32
computeFullSubgroupsback to summary
public VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer computeFullSubgroups(boolean value)

Sets the specified value to the VkPhysicalDeviceSubgroupSizeControlFeatures#computeFullSubgroups field.

getElementFactoryback to summary
protected VkPhysicalDeviceSubgroupSizeControlFeatures getElementFactory()

Implements abstract org.lwjgl.system.StructBuffer.getElementFactory.

Annotations
@Override
pNextback to summary
public long pNext()
Returns:long

the value of the VkPhysicalDeviceSubgroupSizeControlFeatures#pNext field.

Annotations
@NativeType:void *
pNextback to summary
public VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer pNext(long value)

Sets the specified value to the VkPhysicalDeviceSubgroupSizeControlFeatures#pNext field.

selfback to summary
protected VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer self()

Implements abstract org.lwjgl.system.CustomBuffer.self.

Annotations
@Override
sTypeback to summary
public int sType()
Returns:int

the value of the VkPhysicalDeviceSubgroupSizeControlFeatures#sType field.

Annotations
@NativeType:VkStructureType
sTypeback to summary
public VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer sType(int value)

Sets the specified value to the VkPhysicalDeviceSubgroupSizeControlFeatures#sType field.

sType$Defaultback to summary
public VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer sType$Default()

Sets the STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES value to the VkPhysicalDeviceSubgroupSizeControlFeatures#sType field.

subgroupSizeControlback to summary
public boolean subgroupSizeControl()
Returns:boolean

the value of the VkPhysicalDeviceSubgroupSizeControlFeatures#subgroupSizeControl field.

Annotations
@NativeType:VkBool32
subgroupSizeControlback to summary
public VkPhysicalDeviceSubgroupSizeControlFeatures.Buffer subgroupSizeControl(boolean value)

Sets the specified value to the VkPhysicalDeviceSubgroupSizeControlFeatures#subgroupSizeControl field.