Record Class VkPartitionedAccelerationStructureUpdateInstanceDataNV

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.VkPartitionedAccelerationStructureUpdateInstanceDataNV
All Implemented Interfaces:
IPointer, IVkPartitionedAccelerationStructureUpdateInstanceDataNV

@ValueBasedCandidate @UnsafeConstructor public record VkPartitionedAccelerationStructureUpdateInstanceDataNV(@NotNull MemorySegment segment) extends Record implements IVkPartitionedAccelerationStructureUpdateInstanceDataNV

Represents a pointer to a VkPartitionedAccelerationStructureUpdateInstanceDataNV structure in native memory.

Structure

typedef struct VkPartitionedAccelerationStructureUpdateInstanceDataNV {
    uint32_t instanceIndex;
    uint32_t instanceContributionToHitGroupIndex;
    VkDeviceAddress accelerationStructure;
} VkPartitionedAccelerationStructureUpdateInstanceDataNV;

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

      public static final MemoryLayout.PathElement PATH$instanceIndex
    • PATH$instanceContributionToHitGroupIndex

      public static final MemoryLayout.PathElement PATH$instanceContributionToHitGroupIndex
    • PATH$accelerationStructure

      public static final MemoryLayout.PathElement PATH$accelerationStructure
    • LAYOUT$instanceIndex

      public static final ValueLayout.OfInt LAYOUT$instanceIndex
    • LAYOUT$instanceContributionToHitGroupIndex

      public static final ValueLayout.OfInt LAYOUT$instanceContributionToHitGroupIndex
    • LAYOUT$accelerationStructure

      public static final ValueLayout.OfLong LAYOUT$accelerationStructure
    • SIZE$instanceIndex

      public static final long SIZE$instanceIndex
    • SIZE$instanceContributionToHitGroupIndex

      public static final long SIZE$instanceContributionToHitGroupIndex
    • SIZE$accelerationStructure

      public static final long SIZE$accelerationStructure
    • OFFSET$instanceIndex

      public static final long OFFSET$instanceIndex
    • OFFSET$instanceContributionToHitGroupIndex

      public static final long OFFSET$instanceContributionToHitGroupIndex
    • OFFSET$accelerationStructure

      public static final long OFFSET$accelerationStructure
  • Constructor Details

    • VkPartitionedAccelerationStructureUpdateInstanceDataNV

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