Record Class VkGeneratedCommandsInfoEXT

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.VkGeneratedCommandsInfoEXT
All Implemented Interfaces:
IPointer, IVkGeneratedCommandsInfoEXT

@ValueBasedCandidate @UnsafeConstructor public record VkGeneratedCommandsInfoEXT(@NotNull MemorySegment segment) extends Record implements IVkGeneratedCommandsInfoEXT

Represents a pointer to a VkGeneratedCommandsInfoEXT structure in native memory.

Structure

typedef struct VkGeneratedCommandsInfoEXT {
    VkStructureType sType;
    void const* pNext; // optional
    VkShaderStageFlags shaderStages;
    VkIndirectExecutionSetEXT indirectExecutionSet; // optional
    VkIndirectCommandsLayoutEXT indirectCommandsLayout;
    VkDeviceAddress indirectAddress;
    VkDeviceSize indirectAddressSize;
    VkDeviceAddress preprocessAddress; // optional
    VkDeviceSize preprocessSize;
    uint32_t maxSequenceCount;
    VkDeviceAddress sequenceCountAddress; // optional
    uint32_t maxDrawCount;
} VkGeneratedCommandsInfoEXT;

Auto initialization

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

  • sType = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_EXT

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$shaderStages

      public static final MemoryLayout.PathElement PATH$shaderStages
    • PATH$indirectExecutionSet

      public static final MemoryLayout.PathElement PATH$indirectExecutionSet
    • PATH$indirectCommandsLayout

      public static final MemoryLayout.PathElement PATH$indirectCommandsLayout
    • PATH$indirectAddress

      public static final MemoryLayout.PathElement PATH$indirectAddress
    • PATH$indirectAddressSize

      public static final MemoryLayout.PathElement PATH$indirectAddressSize
    • PATH$preprocessAddress

      public static final MemoryLayout.PathElement PATH$preprocessAddress
    • PATH$preprocessSize

      public static final MemoryLayout.PathElement PATH$preprocessSize
    • PATH$maxSequenceCount

      public static final MemoryLayout.PathElement PATH$maxSequenceCount
    • PATH$sequenceCountAddress

      public static final MemoryLayout.PathElement PATH$sequenceCountAddress
    • PATH$maxDrawCount

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

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

      public static final AddressLayout LAYOUT$pNext
    • LAYOUT$shaderStages

      public static final ValueLayout.OfInt LAYOUT$shaderStages
    • LAYOUT$indirectExecutionSet

      public static final AddressLayout LAYOUT$indirectExecutionSet
    • LAYOUT$indirectCommandsLayout

      public static final AddressLayout LAYOUT$indirectCommandsLayout
    • LAYOUT$indirectAddress

      public static final ValueLayout.OfLong LAYOUT$indirectAddress
    • LAYOUT$indirectAddressSize

      public static final ValueLayout.OfLong LAYOUT$indirectAddressSize
    • LAYOUT$preprocessAddress

      public static final ValueLayout.OfLong LAYOUT$preprocessAddress
    • LAYOUT$preprocessSize

      public static final ValueLayout.OfLong LAYOUT$preprocessSize
    • LAYOUT$maxSequenceCount

      public static final ValueLayout.OfInt LAYOUT$maxSequenceCount
    • LAYOUT$sequenceCountAddress

      public static final ValueLayout.OfLong LAYOUT$sequenceCountAddress
    • LAYOUT$maxDrawCount

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

      public static final long SIZE$sType
    • SIZE$pNext

      public static final long SIZE$pNext
    • SIZE$shaderStages

      public static final long SIZE$shaderStages
    • SIZE$indirectExecutionSet

      public static final long SIZE$indirectExecutionSet
    • SIZE$indirectCommandsLayout

      public static final long SIZE$indirectCommandsLayout
    • SIZE$indirectAddress

      public static final long SIZE$indirectAddress
    • SIZE$indirectAddressSize

      public static final long SIZE$indirectAddressSize
    • SIZE$preprocessAddress

      public static final long SIZE$preprocessAddress
    • SIZE$preprocessSize

      public static final long SIZE$preprocessSize
    • SIZE$maxSequenceCount

      public static final long SIZE$maxSequenceCount
    • SIZE$sequenceCountAddress

      public static final long SIZE$sequenceCountAddress
    • SIZE$maxDrawCount

      public static final long SIZE$maxDrawCount
    • OFFSET$sType

      public static final long OFFSET$sType
    • OFFSET$pNext

      public static final long OFFSET$pNext
    • OFFSET$shaderStages

      public static final long OFFSET$shaderStages
    • OFFSET$indirectExecutionSet

      public static final long OFFSET$indirectExecutionSet
    • OFFSET$indirectCommandsLayout

      public static final long OFFSET$indirectCommandsLayout
    • OFFSET$indirectAddress

      public static final long OFFSET$indirectAddress
    • OFFSET$indirectAddressSize

      public static final long OFFSET$indirectAddressSize
    • OFFSET$preprocessAddress

      public static final long OFFSET$preprocessAddress
    • OFFSET$preprocessSize

      public static final long OFFSET$preprocessSize
    • OFFSET$maxSequenceCount

      public static final long OFFSET$maxSequenceCount
    • OFFSET$sequenceCountAddress

      public static final long OFFSET$sequenceCountAddress
    • OFFSET$maxDrawCount

      public static final long OFFSET$maxDrawCount
  • Constructor Details

    • VkGeneratedCommandsInfoEXT

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