Record Class VkGeneratedCommandsInfoNV

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.VkGeneratedCommandsInfoNV
All Implemented Interfaces:
IPointer, IVkGeneratedCommandsInfoNV

@ValueBasedCandidate @UnsafeConstructor public record VkGeneratedCommandsInfoNV(@NotNull MemorySegment segment) extends Record implements IVkGeneratedCommandsInfoNV

Represents a pointer to a VkGeneratedCommandsInfoNV structure in native memory.

Structure Link icon

typedef struct VkGeneratedCommandsInfoNV {
    VkStructureType sType;
    void const* pNext; // optional
    VkPipelineBindPoint pipelineBindPoint;
    VkPipeline pipeline; // optional
    VkIndirectCommandsLayoutNV indirectCommandsLayout;
    uint32_t streamCount;
    VkIndirectCommandsStreamNV const* pStreams;
    uint32_t sequencesCount;
    VkBuffer preprocessBuffer;
    VkDeviceSize preprocessOffset;
    VkDeviceSize preprocessSize;
    VkBuffer sequencesCountBuffer; // optional
    VkDeviceSize sequencesCountOffset;
    VkBuffer sequencesIndexBuffer; // optional
    VkDeviceSize sequencesIndexOffset;
} VkGeneratedCommandsInfoNV;

Auto initialization Link icon

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

  • sType = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_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 Link icon

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 Link icon

    • LAYOUT Link icon

      public static final StructLayout LAYOUT
    • BYTES Link icon

      public static final long BYTES
    • PATH$sType Link icon

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

      public static final MemoryLayout.PathElement PATH$pNext
    • PATH$pipelineBindPoint Link icon

      public static final MemoryLayout.PathElement PATH$pipelineBindPoint
    • PATH$pipeline Link icon

      public static final MemoryLayout.PathElement PATH$pipeline
    • PATH$indirectCommandsLayout Link icon

      public static final MemoryLayout.PathElement PATH$indirectCommandsLayout
    • PATH$streamCount Link icon

      public static final MemoryLayout.PathElement PATH$streamCount
    • PATH$pStreams Link icon

      public static final MemoryLayout.PathElement PATH$pStreams
    • PATH$sequencesCount Link icon

      public static final MemoryLayout.PathElement PATH$sequencesCount
    • PATH$preprocessBuffer Link icon

      public static final MemoryLayout.PathElement PATH$preprocessBuffer
    • PATH$preprocessOffset Link icon

      public static final MemoryLayout.PathElement PATH$preprocessOffset
    • PATH$preprocessSize Link icon

      public static final MemoryLayout.PathElement PATH$preprocessSize
    • PATH$sequencesCountBuffer Link icon

      public static final MemoryLayout.PathElement PATH$sequencesCountBuffer
    • PATH$sequencesCountOffset Link icon

      public static final MemoryLayout.PathElement PATH$sequencesCountOffset
    • PATH$sequencesIndexBuffer Link icon

      public static final MemoryLayout.PathElement PATH$sequencesIndexBuffer
    • PATH$sequencesIndexOffset Link icon

      public static final MemoryLayout.PathElement PATH$sequencesIndexOffset
    • LAYOUT$sType Link icon

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

      public static final AddressLayout LAYOUT$pNext
    • LAYOUT$pipelineBindPoint Link icon

      public static final ValueLayout.OfInt LAYOUT$pipelineBindPoint
    • LAYOUT$pipeline Link icon

      public static final AddressLayout LAYOUT$pipeline
    • LAYOUT$indirectCommandsLayout Link icon

      public static final AddressLayout LAYOUT$indirectCommandsLayout
    • LAYOUT$streamCount Link icon

      public static final ValueLayout.OfInt LAYOUT$streamCount
    • LAYOUT$pStreams Link icon

      public static final AddressLayout LAYOUT$pStreams
    • LAYOUT$sequencesCount Link icon

      public static final ValueLayout.OfInt LAYOUT$sequencesCount
    • LAYOUT$preprocessBuffer Link icon

      public static final AddressLayout LAYOUT$preprocessBuffer
    • LAYOUT$preprocessOffset Link icon

      public static final ValueLayout.OfLong LAYOUT$preprocessOffset
    • LAYOUT$preprocessSize Link icon

      public static final ValueLayout.OfLong LAYOUT$preprocessSize
    • LAYOUT$sequencesCountBuffer Link icon

      public static final AddressLayout LAYOUT$sequencesCountBuffer
    • LAYOUT$sequencesCountOffset Link icon

      public static final ValueLayout.OfLong LAYOUT$sequencesCountOffset
    • LAYOUT$sequencesIndexBuffer Link icon

      public static final AddressLayout LAYOUT$sequencesIndexBuffer
    • LAYOUT$sequencesIndexOffset Link icon

      public static final ValueLayout.OfLong LAYOUT$sequencesIndexOffset
    • SIZE$sType Link icon

      public static final long SIZE$sType
    • SIZE$pNext Link icon

      public static final long SIZE$pNext
    • SIZE$pipelineBindPoint Link icon

      public static final long SIZE$pipelineBindPoint
    • SIZE$pipeline Link icon

      public static final long SIZE$pipeline
    • SIZE$indirectCommandsLayout Link icon

      public static final long SIZE$indirectCommandsLayout
    • SIZE$streamCount Link icon

      public static final long SIZE$streamCount
    • SIZE$pStreams Link icon

      public static final long SIZE$pStreams
    • SIZE$sequencesCount Link icon

      public static final long SIZE$sequencesCount
    • SIZE$preprocessBuffer Link icon

      public static final long SIZE$preprocessBuffer
    • SIZE$preprocessOffset Link icon

      public static final long SIZE$preprocessOffset
    • SIZE$preprocessSize Link icon

      public static final long SIZE$preprocessSize
    • SIZE$sequencesCountBuffer Link icon

      public static final long SIZE$sequencesCountBuffer
    • SIZE$sequencesCountOffset Link icon

      public static final long SIZE$sequencesCountOffset
    • SIZE$sequencesIndexBuffer Link icon

      public static final long SIZE$sequencesIndexBuffer
    • SIZE$sequencesIndexOffset Link icon

      public static final long SIZE$sequencesIndexOffset
    • OFFSET$sType Link icon

      public static final long OFFSET$sType
    • OFFSET$pNext Link icon

      public static final long OFFSET$pNext
    • OFFSET$pipelineBindPoint Link icon

      public static final long OFFSET$pipelineBindPoint
    • OFFSET$pipeline Link icon

      public static final long OFFSET$pipeline
    • OFFSET$indirectCommandsLayout Link icon

      public static final long OFFSET$indirectCommandsLayout
    • OFFSET$streamCount Link icon

      public static final long OFFSET$streamCount
    • OFFSET$pStreams Link icon

      public static final long OFFSET$pStreams
    • OFFSET$sequencesCount Link icon

      public static final long OFFSET$sequencesCount
    • OFFSET$preprocessBuffer Link icon

      public static final long OFFSET$preprocessBuffer
    • OFFSET$preprocessOffset Link icon

      public static final long OFFSET$preprocessOffset
    • OFFSET$preprocessSize Link icon

      public static final long OFFSET$preprocessSize
    • OFFSET$sequencesCountBuffer Link icon

      public static final long OFFSET$sequencesCountBuffer
    • OFFSET$sequencesCountOffset Link icon

      public static final long OFFSET$sequencesCountOffset
    • OFFSET$sequencesIndexBuffer Link icon

      public static final long OFFSET$sequencesIndexBuffer
    • OFFSET$sequencesIndexOffset Link icon

      public static final long OFFSET$sequencesIndexOffset
  • Constructor Details Link icon

    • VkGeneratedCommandsInfoNV Link icon

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