Record Class VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV
All Implemented Interfaces:
IPointer, IVkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV

@ValueBasedCandidate @UnsafeConstructor public record VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV(@NotNull MemorySegment segment) extends Record implements IVkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV

Represents a pointer to a VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV structure in native memory.

Structure

typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
    VkStructureType sType;
    void* pNext; // optional
    uint32_t maxGraphicsShaderGroupCount;
    uint32_t maxIndirectSequenceCount;
    uint32_t maxIndirectCommandsTokenCount;
    uint32_t maxIndirectCommandsStreamCount;
    uint32_t maxIndirectCommandsTokenOffset;
    uint32_t maxIndirectCommandsStreamStride;
    uint32_t minSequencesCountBufferOffsetAlignment;
    uint32_t minSequencesIndexBufferOffsetAlignment;
    uint32_t minIndirectCommandsBufferOffsetAlignment;
} VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;

Auto initialization

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

  • sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_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$maxGraphicsShaderGroupCount

      public static final MemoryLayout.PathElement PATH$maxGraphicsShaderGroupCount
    • PATH$maxIndirectSequenceCount

      public static final MemoryLayout.PathElement PATH$maxIndirectSequenceCount
    • PATH$maxIndirectCommandsTokenCount

      public static final MemoryLayout.PathElement PATH$maxIndirectCommandsTokenCount
    • PATH$maxIndirectCommandsStreamCount

      public static final MemoryLayout.PathElement PATH$maxIndirectCommandsStreamCount
    • PATH$maxIndirectCommandsTokenOffset

      public static final MemoryLayout.PathElement PATH$maxIndirectCommandsTokenOffset
    • PATH$maxIndirectCommandsStreamStride

      public static final MemoryLayout.PathElement PATH$maxIndirectCommandsStreamStride
    • PATH$minSequencesCountBufferOffsetAlignment

      public static final MemoryLayout.PathElement PATH$minSequencesCountBufferOffsetAlignment
    • PATH$minSequencesIndexBufferOffsetAlignment

      public static final MemoryLayout.PathElement PATH$minSequencesIndexBufferOffsetAlignment
    • PATH$minIndirectCommandsBufferOffsetAlignment

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

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

      public static final AddressLayout LAYOUT$pNext
    • LAYOUT$maxGraphicsShaderGroupCount

      public static final ValueLayout.OfInt LAYOUT$maxGraphicsShaderGroupCount
    • LAYOUT$maxIndirectSequenceCount

      public static final ValueLayout.OfInt LAYOUT$maxIndirectSequenceCount
    • LAYOUT$maxIndirectCommandsTokenCount

      public static final ValueLayout.OfInt LAYOUT$maxIndirectCommandsTokenCount
    • LAYOUT$maxIndirectCommandsStreamCount

      public static final ValueLayout.OfInt LAYOUT$maxIndirectCommandsStreamCount
    • LAYOUT$maxIndirectCommandsTokenOffset

      public static final ValueLayout.OfInt LAYOUT$maxIndirectCommandsTokenOffset
    • LAYOUT$maxIndirectCommandsStreamStride

      public static final ValueLayout.OfInt LAYOUT$maxIndirectCommandsStreamStride
    • LAYOUT$minSequencesCountBufferOffsetAlignment

      public static final ValueLayout.OfInt LAYOUT$minSequencesCountBufferOffsetAlignment
    • LAYOUT$minSequencesIndexBufferOffsetAlignment

      public static final ValueLayout.OfInt LAYOUT$minSequencesIndexBufferOffsetAlignment
    • LAYOUT$minIndirectCommandsBufferOffsetAlignment

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

      public static final long SIZE$sType
    • SIZE$pNext

      public static final long SIZE$pNext
    • SIZE$maxGraphicsShaderGroupCount

      public static final long SIZE$maxGraphicsShaderGroupCount
    • SIZE$maxIndirectSequenceCount

      public static final long SIZE$maxIndirectSequenceCount
    • SIZE$maxIndirectCommandsTokenCount

      public static final long SIZE$maxIndirectCommandsTokenCount
    • SIZE$maxIndirectCommandsStreamCount

      public static final long SIZE$maxIndirectCommandsStreamCount
    • SIZE$maxIndirectCommandsTokenOffset

      public static final long SIZE$maxIndirectCommandsTokenOffset
    • SIZE$maxIndirectCommandsStreamStride

      public static final long SIZE$maxIndirectCommandsStreamStride
    • SIZE$minSequencesCountBufferOffsetAlignment

      public static final long SIZE$minSequencesCountBufferOffsetAlignment
    • SIZE$minSequencesIndexBufferOffsetAlignment

      public static final long SIZE$minSequencesIndexBufferOffsetAlignment
    • SIZE$minIndirectCommandsBufferOffsetAlignment

      public static final long SIZE$minIndirectCommandsBufferOffsetAlignment
    • OFFSET$sType

      public static final long OFFSET$sType
    • OFFSET$pNext

      public static final long OFFSET$pNext
    • OFFSET$maxGraphicsShaderGroupCount

      public static final long OFFSET$maxGraphicsShaderGroupCount
    • OFFSET$maxIndirectSequenceCount

      public static final long OFFSET$maxIndirectSequenceCount
    • OFFSET$maxIndirectCommandsTokenCount

      public static final long OFFSET$maxIndirectCommandsTokenCount
    • OFFSET$maxIndirectCommandsStreamCount

      public static final long OFFSET$maxIndirectCommandsStreamCount
    • OFFSET$maxIndirectCommandsTokenOffset

      public static final long OFFSET$maxIndirectCommandsTokenOffset
    • OFFSET$maxIndirectCommandsStreamStride

      public static final long OFFSET$maxIndirectCommandsStreamStride
    • OFFSET$minSequencesCountBufferOffsetAlignment

      public static final long OFFSET$minSequencesCountBufferOffsetAlignment
    • OFFSET$minSequencesIndexBufferOffsetAlignment

      public static final long OFFSET$minSequencesIndexBufferOffsetAlignment
    • OFFSET$minIndirectCommandsBufferOffsetAlignment

      public static final long OFFSET$minIndirectCommandsBufferOffsetAlignment
  • Constructor Details

    • VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV

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