Class VkCooperativeMatrixFlexibleDimensionsPropertiesNV
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
Rather than explicitly enumerating a list of supported sizes, VkCooperativeMatrixFlexibleDimensionsPropertiesNV advertises size granularities, where the matrix must be a multiple of the advertised size. The M and K granularities apply to rows and columns of matrices with Use of MatrixA, K, and N apply to rows and columns of matrices with Use of MatrixB, M, and N apply to rows and columns of matrices with Use of MatrixAccumulator.
For a given type combination, if multiple workgroup sizes are supported there may be multiple VkCooperativeMatrixFlexibleDimensionsPropertiesNV structures with different granularities.
All granularity values must be powers of two.
Note
Different A/B types may require different granularities but share the same accumulator type. In such a case, the supported granularity for a matrix with the accumulator type would be the smallest advertised granularity.
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NVpNextmust beNULL
See Also
GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV
Layout
struct VkCooperativeMatrixFlexibleDimensionsPropertiesNV {
VkStructureType sType();
void * pNext();
uint32_t MGranularity();
uint32_t NGranularity();
uint32_t KGranularity();
VkComponentTypeKHR AType();
VkComponentTypeKHR BType();
VkComponentTypeKHR CType();
VkComponentTypeKHR ResultType();
VkBool32 saturatingAccumulation();
VkScopeKHR scope();
uint32_t workgroupInvocations();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkCooperativeMatrixFlexibleDimensionsPropertiesNVstructs.Nested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionCreates aVkCooperativeMatrixFlexibleDimensionsPropertiesNVinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionintAType()the component type of matrixA, of typeVkComponentTypeKHR.intBType()the component type of matrixB, of typeVkComponentTypeKHR.calloc()Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNVinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNV.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNV.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNVinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNVinstance allocated withBufferUtils.create(int capacity) Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNV.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNVinstance for the specified memory address.create(long address, int capacity) Create aVkCooperativeMatrixFlexibleDimensionsPropertiesNV.Bufferinstance at the specified memory.static @Nullable VkCooperativeMatrixFlexibleDimensionsPropertiesNVcreateSafe(long address) static @Nullable VkCooperativeMatrixFlexibleDimensionsPropertiesNV.BuffercreateSafe(long address, int capacity) intCType()the component type of matrixC, of typeVkComponentTypeKHR.intthe granularity of columns in matrixAand rows in matrixB.malloc()Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNVinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNV.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNV.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNVinstance allocated on the specifiedMemoryStack.intthe granularity of the number of rows in matricesA,C, andResult.static intnAType(long struct) Unsafe version ofAType().static intnBType(long struct) Unsafe version ofBType().static intnCType(long struct) Unsafe version ofCType().intthe granularity of columns in matricesB,C,Result.static intnKGranularity(long struct) Unsafe version ofKGranularity().static intnMGranularity(long struct) Unsafe version ofMGranularity().static intnNGranularity(long struct) Unsafe version ofNGranularity().static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static intnResultType(long struct) Unsafe version ofResultType().static intnsaturatingAccumulation(long struct) Unsafe version ofsaturatingAccumulation().static intnscope(long struct) Unsafe version ofscope().static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.static intnworkgroupInvocations(long struct) Unsafe version ofworkgroupInvocations().longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.intthe component type of matrixResult, of typeVkComponentTypeKHR.booleanindicates whether theSaturatingAccumulationoperand toOpCooperativeMatrixMulAddKHRmust be present or not.intscope()the scope of all the matrix types, of typeVkScopeKHR.set(int sType, long pNext) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NVvalue to thesType()field.intthe number of invocations in the local workgroup when this combination of values is supported.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
STYPE
public static final int STYPEThe struct member offsets. -
PNEXT
public static final int PNEXTThe struct member offsets. -
MGRANULARITY
public static final int MGRANULARITYThe struct member offsets. -
NGRANULARITY
public static final int NGRANULARITYThe struct member offsets. -
KGRANULARITY
public static final int KGRANULARITYThe struct member offsets. -
ATYPE
public static final int ATYPEThe struct member offsets. -
BTYPE
public static final int BTYPEThe struct member offsets. -
CTYPE
public static final int CTYPEThe struct member offsets. -
RESULTTYPE
public static final int RESULTTYPEThe struct member offsets. -
SATURATINGACCUMULATION
public static final int SATURATINGACCUMULATIONThe struct member offsets. -
SCOPE
public static final int SCOPEThe struct member offsets. -
WORKGROUPINVOCATIONS
public static final int WORKGROUPINVOCATIONSThe struct member offsets.
-
-
Constructor Details
-
VkCooperativeMatrixFlexibleDimensionsPropertiesNV
Creates aVkCooperativeMatrixFlexibleDimensionsPropertiesNVinstance 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 Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkCooperativeMatrixFlexibleDimensionsPropertiesNV>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
MGranularity
public int MGranularity()the granularity of the number of rows in matricesA,C, andResult. The rows must be an integer multiple of this value. -
NGranularity
public int NGranularity()the granularity of columns in matricesB,C,Result. The columns must be an integer multiple of this value. -
KGranularity
public int KGranularity()the granularity of columns in matrixAand rows in matrixB. The columns/rows must be an integer multiple of this value. -
AType
public int AType()the component type of matrixA, of typeVkComponentTypeKHR. -
BType
public int BType()the component type of matrixB, of typeVkComponentTypeKHR. -
CType
public int CType()the component type of matrixC, of typeVkComponentTypeKHR. -
ResultType
public int ResultType()the component type of matrixResult, of typeVkComponentTypeKHR. -
saturatingAccumulation
public boolean saturatingAccumulation() -
scope
public int scope()the scope of all the matrix types, of typeVkScopeKHR. -
workgroupInvocations
public int workgroupInvocations()the number of invocations in the local workgroup when this combination of values is supported. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NVvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
set
Initializes this struct with the specified values. -
set
public VkCooperativeMatrixFlexibleDimensionsPropertiesNV set(VkCooperativeMatrixFlexibleDimensionsPropertiesNV src) Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNVinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNVinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNVinstance allocated withBufferUtils. -
create
Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNVinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNV.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNV.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNV.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkCooperativeMatrixFlexibleDimensionsPropertiesNV.Buffer create(long address, int capacity) Create aVkCooperativeMatrixFlexibleDimensionsPropertiesNV.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkCooperativeMatrixFlexibleDimensionsPropertiesNV.Buffer createSafe(long address, int capacity) -
malloc
public static VkCooperativeMatrixFlexibleDimensionsPropertiesNV malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNVinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
public static VkCooperativeMatrixFlexibleDimensionsPropertiesNV calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNVinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkCooperativeMatrixFlexibleDimensionsPropertiesNV.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNV.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkCooperativeMatrixFlexibleDimensionsPropertiesNV.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkCooperativeMatrixFlexibleDimensionsPropertiesNV.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nsType
public static int nsType(long struct) Unsafe version ofsType(). -
npNext
public static long npNext(long struct) Unsafe version ofpNext(). -
nMGranularity
public static int nMGranularity(long struct) Unsafe version ofMGranularity(). -
nNGranularity
public static int nNGranularity(long struct) Unsafe version ofNGranularity(). -
nKGranularity
public static int nKGranularity(long struct) Unsafe version ofKGranularity(). -
nAType
public static int nAType(long struct) Unsafe version ofAType(). -
nBType
public static int nBType(long struct) Unsafe version ofBType(). -
nCType
public static int nCType(long struct) Unsafe version ofCType(). -
nResultType
public static int nResultType(long struct) Unsafe version ofResultType(). -
nsaturatingAccumulation
public static int nsaturatingAccumulation(long struct) Unsafe version ofsaturatingAccumulation(). -
nscope
public static int nscope(long struct) Unsafe version ofscope(). -
nworkgroupInvocations
public static int nworkgroupInvocations(long struct) Unsafe version ofworkgroupInvocations(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext.
-