Record Class VkPhysicalDeviceAccelerationStructureFeaturesKHR

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.VkPhysicalDeviceAccelerationStructureFeaturesKHR
All Implemented Interfaces:
IPointer, IVkPhysicalDeviceAccelerationStructureFeaturesKHR

@ValueBasedCandidate @UnsafeConstructor public record VkPhysicalDeviceAccelerationStructureFeaturesKHR(@NotNull MemorySegment segment) extends Record implements IVkPhysicalDeviceAccelerationStructureFeaturesKHR

Represents a pointer to a VkPhysicalDeviceAccelerationStructureFeaturesKHR structure in native memory.

Structure

typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
    VkStructureType sType;
    void* pNext; // optional
    VkBool32 accelerationStructure;
    VkBool32 accelerationStructureCaptureReplay;
    VkBool32 accelerationStructureIndirectBuild;
    VkBool32 accelerationStructureHostCommands;
    VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
} VkPhysicalDeviceAccelerationStructureFeaturesKHR;

Auto initialization

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

  • sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR

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

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

      public static final MemoryLayout.PathElement PATH$accelerationStructureCaptureReplay
    • PATH$accelerationStructureIndirectBuild

      public static final MemoryLayout.PathElement PATH$accelerationStructureIndirectBuild
    • PATH$accelerationStructureHostCommands

      public static final MemoryLayout.PathElement PATH$accelerationStructureHostCommands
    • PATH$descriptorBindingAccelerationStructureUpdateAfterBind

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

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

      public static final AddressLayout LAYOUT$pNext
    • LAYOUT$accelerationStructure

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

      public static final ValueLayout.OfInt LAYOUT$accelerationStructureCaptureReplay
    • LAYOUT$accelerationStructureIndirectBuild

      public static final ValueLayout.OfInt LAYOUT$accelerationStructureIndirectBuild
    • LAYOUT$accelerationStructureHostCommands

      public static final ValueLayout.OfInt LAYOUT$accelerationStructureHostCommands
    • LAYOUT$descriptorBindingAccelerationStructureUpdateAfterBind

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

      public static final long SIZE$sType
    • SIZE$pNext

      public static final long SIZE$pNext
    • SIZE$accelerationStructure

      public static final long SIZE$accelerationStructure
    • SIZE$accelerationStructureCaptureReplay

      public static final long SIZE$accelerationStructureCaptureReplay
    • SIZE$accelerationStructureIndirectBuild

      public static final long SIZE$accelerationStructureIndirectBuild
    • SIZE$accelerationStructureHostCommands

      public static final long SIZE$accelerationStructureHostCommands
    • SIZE$descriptorBindingAccelerationStructureUpdateAfterBind

      public static final long SIZE$descriptorBindingAccelerationStructureUpdateAfterBind
    • OFFSET$sType

      public static final long OFFSET$sType
    • OFFSET$pNext

      public static final long OFFSET$pNext
    • OFFSET$accelerationStructure

      public static final long OFFSET$accelerationStructure
    • OFFSET$accelerationStructureCaptureReplay

      public static final long OFFSET$accelerationStructureCaptureReplay
    • OFFSET$accelerationStructureIndirectBuild

      public static final long OFFSET$accelerationStructureIndirectBuild
    • OFFSET$accelerationStructureHostCommands

      public static final long OFFSET$accelerationStructureHostCommands
    • OFFSET$descriptorBindingAccelerationStructureUpdateAfterBind

      public static final long OFFSET$descriptorBindingAccelerationStructureUpdateAfterBind
  • Constructor Details

    • VkPhysicalDeviceAccelerationStructureFeaturesKHR

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