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

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

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

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

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

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

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

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

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

      public static final long SIZE$instanceIndex
    • SIZE$instanceContributionToHitGroupIndex Link icon

      public static final long SIZE$instanceContributionToHitGroupIndex
    • SIZE$accelerationStructure Link icon

      public static final long SIZE$accelerationStructure
    • OFFSET$instanceIndex Link icon

      public static final long OFFSET$instanceIndex
    • OFFSET$instanceContributionToHitGroupIndex Link icon

      public static final long OFFSET$instanceContributionToHitGroupIndex
    • OFFSET$accelerationStructure Link icon

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

    • VkPartitionedAccelerationStructureUpdateInstanceDataNV Link icon

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