Class VkCooperativeMatrixFlexibleDimensionsPropertiesNV

java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkCooperativeMatrixFlexibleDimensionsPropertiesNV>
org.lwjgl.vulkan.VkCooperativeMatrixFlexibleDimensionsPropertiesNV
All Implemented Interfaces:
AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer

public class VkCooperativeMatrixFlexibleDimensionsPropertiesNV extends org.lwjgl.system.Struct<VkCooperativeMatrixFlexibleDimensionsPropertiesNV> implements org.lwjgl.system.NativeResource
Structure specifying cooperative matrix properties.
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)
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();
 }
  • Field Details

    • SIZEOF

      public static final int SIZEOF
      The struct size in bytes.
    • ALIGNOF

      public static final int ALIGNOF
      The struct alignment in bytes.
    • STYPE

      public static final int STYPE
      The struct member offsets.
    • PNEXT

      public static final int PNEXT
      The struct member offsets.
    • MGRANULARITY

      public static final int MGRANULARITY
      The struct member offsets.
    • NGRANULARITY

      public static final int NGRANULARITY
      The struct member offsets.
    • KGRANULARITY

      public static final int KGRANULARITY
      The struct member offsets.
    • ATYPE

      public static final int ATYPE
      The struct member offsets.
    • BTYPE

      public static final int BTYPE
      The struct member offsets.
    • CTYPE

      public static final int CTYPE
      The struct member offsets.
    • RESULTTYPE

      public static final int RESULTTYPE
      The struct member offsets.
    • SATURATINGACCUMULATION

      public static final int SATURATINGACCUMULATION
      The struct member offsets.
    • SCOPE

      public static final int SCOPE
      The struct member offsets.
    • WORKGROUPINVOCATIONS

      public static final int WORKGROUPINVOCATIONS
      The struct member offsets.
  • Constructor Details

    • VkCooperativeMatrixFlexibleDimensionsPropertiesNV

      public VkCooperativeMatrixFlexibleDimensionsPropertiesNV(ByteBuffer container)
      Creates a VkCooperativeMatrixFlexibleDimensionsPropertiesNV 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 Details