Record Class VkTraceRaysIndirectCommand2KHR

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.VkTraceRaysIndirectCommand2KHR
All Implemented Interfaces:
IPointer, IVkTraceRaysIndirectCommand2KHR

@ValueBasedCandidate @UnsafeConstructor public record VkTraceRaysIndirectCommand2KHR(@NotNull MemorySegment segment) extends Record implements IVkTraceRaysIndirectCommand2KHR

Represents a pointer to a VkTraceRaysIndirectCommand2KHR structure in native memory.

Structure

typedef struct VkTraceRaysIndirectCommand2KHR {
    VkDeviceAddress raygenShaderRecordAddress;
    VkDeviceSize raygenShaderRecordSize;
    VkDeviceAddress missShaderBindingTableAddress;
    VkDeviceSize missShaderBindingTableSize;
    VkDeviceSize missShaderBindingTableStride;
    VkDeviceAddress hitShaderBindingTableAddress;
    VkDeviceSize hitShaderBindingTableSize;
    VkDeviceSize hitShaderBindingTableStride;
    VkDeviceAddress callableShaderBindingTableAddress;
    VkDeviceSize callableShaderBindingTableSize;
    VkDeviceSize callableShaderBindingTableStride;
    uint32_t width;
    uint32_t height;
    uint32_t depth;
} VkTraceRaysIndirectCommand2KHR;

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

      public static final MemoryLayout.PathElement PATH$raygenShaderRecordAddress
    • PATH$raygenShaderRecordSize

      public static final MemoryLayout.PathElement PATH$raygenShaderRecordSize
    • PATH$missShaderBindingTableAddress

      public static final MemoryLayout.PathElement PATH$missShaderBindingTableAddress
    • PATH$missShaderBindingTableSize

      public static final MemoryLayout.PathElement PATH$missShaderBindingTableSize
    • PATH$missShaderBindingTableStride

      public static final MemoryLayout.PathElement PATH$missShaderBindingTableStride
    • PATH$hitShaderBindingTableAddress

      public static final MemoryLayout.PathElement PATH$hitShaderBindingTableAddress
    • PATH$hitShaderBindingTableSize

      public static final MemoryLayout.PathElement PATH$hitShaderBindingTableSize
    • PATH$hitShaderBindingTableStride

      public static final MemoryLayout.PathElement PATH$hitShaderBindingTableStride
    • PATH$callableShaderBindingTableAddress

      public static final MemoryLayout.PathElement PATH$callableShaderBindingTableAddress
    • PATH$callableShaderBindingTableSize

      public static final MemoryLayout.PathElement PATH$callableShaderBindingTableSize
    • PATH$callableShaderBindingTableStride

      public static final MemoryLayout.PathElement PATH$callableShaderBindingTableStride
    • PATH$width

      public static final MemoryLayout.PathElement PATH$width
    • PATH$height

      public static final MemoryLayout.PathElement PATH$height
    • PATH$depth

      public static final MemoryLayout.PathElement PATH$depth
    • LAYOUT$raygenShaderRecordAddress

      public static final ValueLayout.OfLong LAYOUT$raygenShaderRecordAddress
    • LAYOUT$raygenShaderRecordSize

      public static final ValueLayout.OfLong LAYOUT$raygenShaderRecordSize
    • LAYOUT$missShaderBindingTableAddress

      public static final ValueLayout.OfLong LAYOUT$missShaderBindingTableAddress
    • LAYOUT$missShaderBindingTableSize

      public static final ValueLayout.OfLong LAYOUT$missShaderBindingTableSize
    • LAYOUT$missShaderBindingTableStride

      public static final ValueLayout.OfLong LAYOUT$missShaderBindingTableStride
    • LAYOUT$hitShaderBindingTableAddress

      public static final ValueLayout.OfLong LAYOUT$hitShaderBindingTableAddress
    • LAYOUT$hitShaderBindingTableSize

      public static final ValueLayout.OfLong LAYOUT$hitShaderBindingTableSize
    • LAYOUT$hitShaderBindingTableStride

      public static final ValueLayout.OfLong LAYOUT$hitShaderBindingTableStride
    • LAYOUT$callableShaderBindingTableAddress

      public static final ValueLayout.OfLong LAYOUT$callableShaderBindingTableAddress
    • LAYOUT$callableShaderBindingTableSize

      public static final ValueLayout.OfLong LAYOUT$callableShaderBindingTableSize
    • LAYOUT$callableShaderBindingTableStride

      public static final ValueLayout.OfLong LAYOUT$callableShaderBindingTableStride
    • LAYOUT$width

      public static final ValueLayout.OfInt LAYOUT$width
    • LAYOUT$height

      public static final ValueLayout.OfInt LAYOUT$height
    • LAYOUT$depth

      public static final ValueLayout.OfInt LAYOUT$depth
    • SIZE$raygenShaderRecordAddress

      public static final long SIZE$raygenShaderRecordAddress
    • SIZE$raygenShaderRecordSize

      public static final long SIZE$raygenShaderRecordSize
    • SIZE$missShaderBindingTableAddress

      public static final long SIZE$missShaderBindingTableAddress
    • SIZE$missShaderBindingTableSize

      public static final long SIZE$missShaderBindingTableSize
    • SIZE$missShaderBindingTableStride

      public static final long SIZE$missShaderBindingTableStride
    • SIZE$hitShaderBindingTableAddress

      public static final long SIZE$hitShaderBindingTableAddress
    • SIZE$hitShaderBindingTableSize

      public static final long SIZE$hitShaderBindingTableSize
    • SIZE$hitShaderBindingTableStride

      public static final long SIZE$hitShaderBindingTableStride
    • SIZE$callableShaderBindingTableAddress

      public static final long SIZE$callableShaderBindingTableAddress
    • SIZE$callableShaderBindingTableSize

      public static final long SIZE$callableShaderBindingTableSize
    • SIZE$callableShaderBindingTableStride

      public static final long SIZE$callableShaderBindingTableStride
    • SIZE$width

      public static final long SIZE$width
    • SIZE$height

      public static final long SIZE$height
    • SIZE$depth

      public static final long SIZE$depth
    • OFFSET$raygenShaderRecordAddress

      public static final long OFFSET$raygenShaderRecordAddress
    • OFFSET$raygenShaderRecordSize

      public static final long OFFSET$raygenShaderRecordSize
    • OFFSET$missShaderBindingTableAddress

      public static final long OFFSET$missShaderBindingTableAddress
    • OFFSET$missShaderBindingTableSize

      public static final long OFFSET$missShaderBindingTableSize
    • OFFSET$missShaderBindingTableStride

      public static final long OFFSET$missShaderBindingTableStride
    • OFFSET$hitShaderBindingTableAddress

      public static final long OFFSET$hitShaderBindingTableAddress
    • OFFSET$hitShaderBindingTableSize

      public static final long OFFSET$hitShaderBindingTableSize
    • OFFSET$hitShaderBindingTableStride

      public static final long OFFSET$hitShaderBindingTableStride
    • OFFSET$callableShaderBindingTableAddress

      public static final long OFFSET$callableShaderBindingTableAddress
    • OFFSET$callableShaderBindingTableSize

      public static final long OFFSET$callableShaderBindingTableSize
    • OFFSET$callableShaderBindingTableStride

      public static final long OFFSET$callableShaderBindingTableStride
    • OFFSET$width

      public static final long OFFSET$width
    • OFFSET$height

      public static final long OFFSET$height
    • OFFSET$depth

      public static final long OFFSET$depth
  • Constructor Details

    • VkTraceRaysIndirectCommand2KHR

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