Package org.lwjgl.vulkan
Class VkPhysicalDeviceSubgroupProperties
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkPhysicalDeviceSubgroupProperties
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkPhysicalDeviceSubgroupProperties extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResourceStructure describing subgroup support for an implementation.Description
If the
VkPhysicalDeviceSubgroupPropertiesstructure is included in thepNextchain ofVkPhysicalDeviceProperties2, it is filled with the implementation-dependent limits.Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES
Member documentation
sType– the type of this structure.pNext–NULLor a pointer to an extension-specific structure.subgroupSize– the default number of invocations in each subgroup.subgroupSizeis at least 1 if any of the physical device’s queues supportQUEUE_GRAPHICS_BITorQUEUE_COMPUTE_BIT.supportedStages– a bitfield ofVkShaderStageFlagBitsdescribing the shader stages that subgroup operations are supported in.supportedStageswill have theSHADER_STAGE_COMPUTE_BITbit set if any of the physical device’s queues supportQUEUE_COMPUTE_BIT.supportedOperations– a bitmask ofVkSubgroupFeatureFlagBitsspecifying the sets of subgroup operations supported on this device.supportedOperationswill have theSUBGROUP_FEATURE_BASIC_BITbit set if any of the physical device’s queues supportQUEUE_GRAPHICS_BITorQUEUE_COMPUTE_BIT.quadOperationsInAllStages– a boolean that specifies whether quad subgroup operations are available in all stages, or are restricted to fragment and compute stages.
Layout
struct VkPhysicalDeviceSubgroupProperties { VkStructureType sType; void * pNext; uint32_t subgroupSize; VkShaderStageFlags supportedStages; VkSubgroupFeatureFlags supportedOperations; VkBool32 quadOperationsInAllStages; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkPhysicalDeviceSubgroupProperties.BufferAn array ofVkPhysicalDeviceSubgroupPropertiesstructs.
-
Field Summary
Fields Modifier and Type Field Description static intALIGNOFThe struct alignment in bytes.static intPNEXT
QUADOPERATIONSINALLSTAGESThe struct member offsets.static intSIZEOFThe struct size in bytes.static intSTYPE
SUBGROUPSIZE
SUPPORTEDOPERATIONS
SUPPORTEDSTAGESThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkPhysicalDeviceSubgroupProperties(java.nio.ByteBuffer container)Creates aVkPhysicalDeviceSubgroupPropertiesinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static VkPhysicalDeviceSubgroupPropertiescalloc()Returns a newVkPhysicalDeviceSubgroupPropertiesinstance allocated withmemCalloc.static VkPhysicalDeviceSubgroupProperties.Buffercalloc(int capacity)Returns a newVkPhysicalDeviceSubgroupProperties.Bufferinstance allocated withmemCalloc.static VkPhysicalDeviceSubgroupPropertiescallocStack()Returns a newVkPhysicalDeviceSubgroupPropertiesinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkPhysicalDeviceSubgroupProperties.BuffercallocStack(int capacity)Returns a newVkPhysicalDeviceSubgroupProperties.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkPhysicalDeviceSubgroupProperties.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkPhysicalDeviceSubgroupProperties.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkPhysicalDeviceSubgroupPropertiescallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkPhysicalDeviceSubgroupPropertiesinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkPhysicalDeviceSubgroupPropertiescreate()Returns a newVkPhysicalDeviceSubgroupPropertiesinstance allocated withBufferUtils.static VkPhysicalDeviceSubgroupProperties.Buffercreate(int capacity)Returns a newVkPhysicalDeviceSubgroupProperties.Bufferinstance allocated withBufferUtils.static VkPhysicalDeviceSubgroupPropertiescreate(long address)Returns a newVkPhysicalDeviceSubgroupPropertiesinstance for the specified memory address.static VkPhysicalDeviceSubgroupProperties.Buffercreate(long address, int capacity)Create aVkPhysicalDeviceSubgroupProperties.Bufferinstance at the specified memory.static VkPhysicalDeviceSubgroupPropertiescreateSafe(long address)static VkPhysicalDeviceSubgroupProperties.BuffercreateSafe(long address, int capacity)static VkPhysicalDeviceSubgroupPropertiesmalloc()Returns a newVkPhysicalDeviceSubgroupPropertiesinstance allocated withmemAlloc.static VkPhysicalDeviceSubgroupProperties.Buffermalloc(int capacity)Returns a newVkPhysicalDeviceSubgroupProperties.Bufferinstance allocated withmemAlloc.static VkPhysicalDeviceSubgroupPropertiesmallocStack()Returns a newVkPhysicalDeviceSubgroupPropertiesinstance allocated on the thread-localMemoryStack.static VkPhysicalDeviceSubgroupProperties.BuffermallocStack(int capacity)Returns a newVkPhysicalDeviceSubgroupProperties.Bufferinstance allocated on the thread-localMemoryStack.static VkPhysicalDeviceSubgroupProperties.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkPhysicalDeviceSubgroupProperties.Bufferinstance allocated on the specifiedMemoryStack.static VkPhysicalDeviceSubgroupPropertiesmallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkPhysicalDeviceSubgroupPropertiesinstance allocated on the specifiedMemoryStack.static longnpNext(long struct)Unsafe version ofpNext().static voidnpNext(long struct, long value)Unsafe version ofpNext.static intnquadOperationsInAllStages(long struct)Unsafe version ofquadOperationsInAllStages().static intnsType(long struct)Unsafe version ofsType().static voidnsType(long struct, int value)Unsafe version ofsType.static intnsubgroupSize(long struct)Unsafe version ofsubgroupSize().static intnsupportedOperations(long struct)Unsafe version ofsupportedOperations().static intnsupportedStages(long struct)Unsafe version ofsupportedStages().longpNext()Returns the value of thepNextfield.VkPhysicalDeviceSubgroupPropertiespNext(long value)Sets the specified value to thepNextfield.booleanquadOperationsInAllStages()Returns the value of thequadOperationsInAllStagesfield.VkPhysicalDeviceSubgroupPropertiesset(int sType, long pNext)Initializes this struct with the specified values.VkPhysicalDeviceSubgroupPropertiesset(VkPhysicalDeviceSubgroupProperties src)Copies the specified struct data to this struct.intsizeof()intsType()Returns the value of thesTypefield.VkPhysicalDeviceSubgroupPropertiessType(int value)Sets the specified value to thesTypefield.intsubgroupSize()Returns the value of thesubgroupSizefield.intsupportedOperations()Returns the value of thesupportedOperationsfield.intsupportedStages()Returns the value of thesupportedStagesfield.
-
-
-
Constructor Detail
-
VkPhysicalDeviceSubgroupProperties
public VkPhysicalDeviceSubgroupProperties(java.nio.ByteBuffer container)
Creates aVkPhysicalDeviceSubgroupPropertiesinstance 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.
-
subgroupSize
public int subgroupSize()
Returns the value of thesubgroupSizefield.
-
supportedStages
public int supportedStages()
Returns the value of thesupportedStagesfield.
-
supportedOperations
public int supportedOperations()
Returns the value of thesupportedOperationsfield.
-
quadOperationsInAllStages
public boolean quadOperationsInAllStages()
Returns the value of thequadOperationsInAllStagesfield.
-
sType
public VkPhysicalDeviceSubgroupProperties sType(int value)
Sets the specified value to thesTypefield.
-
pNext
public VkPhysicalDeviceSubgroupProperties pNext(long value)
Sets the specified value to thepNextfield.
-
set
public VkPhysicalDeviceSubgroupProperties set(int sType, long pNext)
Initializes this struct with the specified values.
-
set
public VkPhysicalDeviceSubgroupProperties set(VkPhysicalDeviceSubgroupProperties src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static VkPhysicalDeviceSubgroupProperties malloc()
Returns a newVkPhysicalDeviceSubgroupPropertiesinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkPhysicalDeviceSubgroupProperties calloc()
Returns a newVkPhysicalDeviceSubgroupPropertiesinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkPhysicalDeviceSubgroupProperties create()
Returns a newVkPhysicalDeviceSubgroupPropertiesinstance allocated withBufferUtils.
-
create
public static VkPhysicalDeviceSubgroupProperties create(long address)
Returns a newVkPhysicalDeviceSubgroupPropertiesinstance for the specified memory address.
-
createSafe
@Nullable public static VkPhysicalDeviceSubgroupProperties createSafe(long address)
-
malloc
public static VkPhysicalDeviceSubgroupProperties.Buffer malloc(int capacity)
Returns a newVkPhysicalDeviceSubgroupProperties.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkPhysicalDeviceSubgroupProperties.Buffer calloc(int capacity)
Returns a newVkPhysicalDeviceSubgroupProperties.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkPhysicalDeviceSubgroupProperties.Buffer create(int capacity)
Returns a newVkPhysicalDeviceSubgroupProperties.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkPhysicalDeviceSubgroupProperties.Buffer create(long address, int capacity)
Create aVkPhysicalDeviceSubgroupProperties.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkPhysicalDeviceSubgroupProperties.Buffer createSafe(long address, int capacity)
-
mallocStack
public static VkPhysicalDeviceSubgroupProperties mallocStack()
Returns a newVkPhysicalDeviceSubgroupPropertiesinstance allocated on the thread-localMemoryStack.
-
callocStack
public static VkPhysicalDeviceSubgroupProperties callocStack()
Returns a newVkPhysicalDeviceSubgroupPropertiesinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.
-
mallocStack
public static VkPhysicalDeviceSubgroupProperties mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceSubgroupPropertiesinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
callocStack
public static VkPhysicalDeviceSubgroupProperties callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceSubgroupPropertiesinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
mallocStack
public static VkPhysicalDeviceSubgroupProperties.Buffer mallocStack(int capacity)
Returns a newVkPhysicalDeviceSubgroupProperties.Bufferinstance allocated on the thread-localMemoryStack.- Parameters:
capacity- the buffer capacity
-
callocStack
public static VkPhysicalDeviceSubgroupProperties.Buffer callocStack(int capacity)
Returns a newVkPhysicalDeviceSubgroupProperties.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacity
-
mallocStack
public static VkPhysicalDeviceSubgroupProperties.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceSubgroupProperties.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
callocStack
public static VkPhysicalDeviceSubgroupProperties.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkPhysicalDeviceSubgroupProperties.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().
-
nsubgroupSize
public static int nsubgroupSize(long struct)
Unsafe version ofsubgroupSize().
-
nsupportedStages
public static int nsupportedStages(long struct)
Unsafe version ofsupportedStages().
-
nsupportedOperations
public static int nsupportedOperations(long struct)
Unsafe version ofsupportedOperations().
-
nquadOperationsInAllStages
public static int nquadOperationsInAllStages(long struct)
Unsafe version ofquadOperationsInAllStages().
-
nsType
public static void nsType(long struct, int value)Unsafe version ofsType.
-
npNext
public static void npNext(long struct, long value)Unsafe version ofpNext.
-
-