Record Class VkPhysicalDeviceCooperativeVectorPropertiesNV

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.VkPhysicalDeviceCooperativeVectorPropertiesNV
All Implemented Interfaces:
IPointer, IVkPhysicalDeviceCooperativeVectorPropertiesNV

@ValueBasedCandidate @UnsafeConstructor public record VkPhysicalDeviceCooperativeVectorPropertiesNV(@NotNull MemorySegment segment) extends Record implements IVkPhysicalDeviceCooperativeVectorPropertiesNV

Represents a pointer to a VkPhysicalDeviceCooperativeVectorPropertiesNV structure in native memory.

Structure

typedef struct VkPhysicalDeviceCooperativeVectorPropertiesNV {
    VkStructureType sType;
    void* pNext; // optional
    VkShaderStageFlags cooperativeVectorSupportedStages;
    VkBool32 cooperativeVectorTrainingFloat16Accumulation;
    VkBool32 cooperativeVectorTrainingFloat32Accumulation;
    uint32_t maxCooperativeVectorComponents;
} VkPhysicalDeviceCooperativeVectorPropertiesNV;

Auto initialization

This structure has the following members that can be automatically initialized:

  • sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV

The allocate (allocate(Arena), allocate(Arena, long)) functions will automatically initialize these fields. Also, you may call autoInit() to initialize these fields manually for non-allocated instances.

Contracts

The property segment() should always be not-null (segment != NULL && !segment.equals(MemorySegment.NULL)), and properly aligned to LAYOUT.byteAlignment() bytes. To represent null pointer, you may use a Java null instead. See the documentation of IPointer.segment() for more details.

The constructor of this class is marked as UnsafeConstructor, because it does not perform any runtime check. The constructor can be useful for automatic code generators.

See Also:
  • Field Details

    • LAYOUT

      public static final StructLayout LAYOUT
    • BYTES

      public static final long BYTES
    • PATH$sType

      public static final MemoryLayout.PathElement PATH$sType
    • PATH$pNext

      public static final MemoryLayout.PathElement PATH$pNext
    • PATH$cooperativeVectorSupportedStages

      public static final MemoryLayout.PathElement PATH$cooperativeVectorSupportedStages
    • PATH$cooperativeVectorTrainingFloat16Accumulation

      public static final MemoryLayout.PathElement PATH$cooperativeVectorTrainingFloat16Accumulation
    • PATH$cooperativeVectorTrainingFloat32Accumulation

      public static final MemoryLayout.PathElement PATH$cooperativeVectorTrainingFloat32Accumulation
    • PATH$maxCooperativeVectorComponents

      public static final MemoryLayout.PathElement PATH$maxCooperativeVectorComponents
    • LAYOUT$sType

      public static final ValueLayout.OfInt LAYOUT$sType
    • LAYOUT$pNext

      public static final AddressLayout LAYOUT$pNext
    • LAYOUT$cooperativeVectorSupportedStages

      public static final ValueLayout.OfInt LAYOUT$cooperativeVectorSupportedStages
    • LAYOUT$cooperativeVectorTrainingFloat16Accumulation

      public static final ValueLayout.OfInt LAYOUT$cooperativeVectorTrainingFloat16Accumulation
    • LAYOUT$cooperativeVectorTrainingFloat32Accumulation

      public static final ValueLayout.OfInt LAYOUT$cooperativeVectorTrainingFloat32Accumulation
    • LAYOUT$maxCooperativeVectorComponents

      public static final ValueLayout.OfInt LAYOUT$maxCooperativeVectorComponents
    • SIZE$sType

      public static final long SIZE$sType
    • SIZE$pNext

      public static final long SIZE$pNext
    • SIZE$cooperativeVectorSupportedStages

      public static final long SIZE$cooperativeVectorSupportedStages
    • SIZE$cooperativeVectorTrainingFloat16Accumulation

      public static final long SIZE$cooperativeVectorTrainingFloat16Accumulation
    • SIZE$cooperativeVectorTrainingFloat32Accumulation

      public static final long SIZE$cooperativeVectorTrainingFloat32Accumulation
    • SIZE$maxCooperativeVectorComponents

      public static final long SIZE$maxCooperativeVectorComponents
    • OFFSET$sType

      public static final long OFFSET$sType
    • OFFSET$pNext

      public static final long OFFSET$pNext
    • OFFSET$cooperativeVectorSupportedStages

      public static final long OFFSET$cooperativeVectorSupportedStages
    • OFFSET$cooperativeVectorTrainingFloat16Accumulation

      public static final long OFFSET$cooperativeVectorTrainingFloat16Accumulation
    • OFFSET$cooperativeVectorTrainingFloat32Accumulation

      public static final long OFFSET$cooperativeVectorTrainingFloat32Accumulation
    • OFFSET$maxCooperativeVectorComponents

      public static final long OFFSET$maxCooperativeVectorComponents
  • Constructor Details

    • VkPhysicalDeviceCooperativeVectorPropertiesNV

      public VkPhysicalDeviceCooperativeVectorPropertiesNV(@NotNull @NotNull MemorySegment segment)
      Creates an instance of a VkPhysicalDeviceCooperativeVectorPropertiesNV record class.
      Parameters:
      segment - the value for the segment record component
  • Method Details