Record Class VkPhysicalDeviceShaderAtomicFloatFeaturesEXT

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
All Implemented Interfaces:
IPointer, IVkPhysicalDeviceShaderAtomicFloatFeaturesEXT

@ValueBasedCandidate @UnsafeConstructor public record VkPhysicalDeviceShaderAtomicFloatFeaturesEXT(@NotNull MemorySegment segment) extends Record implements IVkPhysicalDeviceShaderAtomicFloatFeaturesEXT

Represents a pointer to a VkPhysicalDeviceShaderAtomicFloatFeaturesEXT structure in native memory.

Structure

typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
    VkStructureType sType;
    void* pNext; // optional
    VkBool32 shaderBufferFloat32Atomics;
    VkBool32 shaderBufferFloat32AtomicAdd;
    VkBool32 shaderBufferFloat64Atomics;
    VkBool32 shaderBufferFloat64AtomicAdd;
    VkBool32 shaderSharedFloat32Atomics;
    VkBool32 shaderSharedFloat32AtomicAdd;
    VkBool32 shaderSharedFloat64Atomics;
    VkBool32 shaderSharedFloat64AtomicAdd;
    VkBool32 shaderImageFloat32Atomics;
    VkBool32 shaderImageFloat32AtomicAdd;
    VkBool32 sparseImageFloat32Atomics;
    VkBool32 sparseImageFloat32AtomicAdd;
} VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;

Auto initialization

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

  • sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_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$shaderBufferFloat32Atomics

      public static final MemoryLayout.PathElement PATH$shaderBufferFloat32Atomics
    • PATH$shaderBufferFloat32AtomicAdd

      public static final MemoryLayout.PathElement PATH$shaderBufferFloat32AtomicAdd
    • PATH$shaderBufferFloat64Atomics

      public static final MemoryLayout.PathElement PATH$shaderBufferFloat64Atomics
    • PATH$shaderBufferFloat64AtomicAdd

      public static final MemoryLayout.PathElement PATH$shaderBufferFloat64AtomicAdd
    • PATH$shaderSharedFloat32Atomics

      public static final MemoryLayout.PathElement PATH$shaderSharedFloat32Atomics
    • PATH$shaderSharedFloat32AtomicAdd

      public static final MemoryLayout.PathElement PATH$shaderSharedFloat32AtomicAdd
    • PATH$shaderSharedFloat64Atomics

      public static final MemoryLayout.PathElement PATH$shaderSharedFloat64Atomics
    • PATH$shaderSharedFloat64AtomicAdd

      public static final MemoryLayout.PathElement PATH$shaderSharedFloat64AtomicAdd
    • PATH$shaderImageFloat32Atomics

      public static final MemoryLayout.PathElement PATH$shaderImageFloat32Atomics
    • PATH$shaderImageFloat32AtomicAdd

      public static final MemoryLayout.PathElement PATH$shaderImageFloat32AtomicAdd
    • PATH$sparseImageFloat32Atomics

      public static final MemoryLayout.PathElement PATH$sparseImageFloat32Atomics
    • PATH$sparseImageFloat32AtomicAdd

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

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

      public static final AddressLayout LAYOUT$pNext
    • LAYOUT$shaderBufferFloat32Atomics

      public static final ValueLayout.OfInt LAYOUT$shaderBufferFloat32Atomics
    • LAYOUT$shaderBufferFloat32AtomicAdd

      public static final ValueLayout.OfInt LAYOUT$shaderBufferFloat32AtomicAdd
    • LAYOUT$shaderBufferFloat64Atomics

      public static final ValueLayout.OfInt LAYOUT$shaderBufferFloat64Atomics
    • LAYOUT$shaderBufferFloat64AtomicAdd

      public static final ValueLayout.OfInt LAYOUT$shaderBufferFloat64AtomicAdd
    • LAYOUT$shaderSharedFloat32Atomics

      public static final ValueLayout.OfInt LAYOUT$shaderSharedFloat32Atomics
    • LAYOUT$shaderSharedFloat32AtomicAdd

      public static final ValueLayout.OfInt LAYOUT$shaderSharedFloat32AtomicAdd
    • LAYOUT$shaderSharedFloat64Atomics

      public static final ValueLayout.OfInt LAYOUT$shaderSharedFloat64Atomics
    • LAYOUT$shaderSharedFloat64AtomicAdd

      public static final ValueLayout.OfInt LAYOUT$shaderSharedFloat64AtomicAdd
    • LAYOUT$shaderImageFloat32Atomics

      public static final ValueLayout.OfInt LAYOUT$shaderImageFloat32Atomics
    • LAYOUT$shaderImageFloat32AtomicAdd

      public static final ValueLayout.OfInt LAYOUT$shaderImageFloat32AtomicAdd
    • LAYOUT$sparseImageFloat32Atomics

      public static final ValueLayout.OfInt LAYOUT$sparseImageFloat32Atomics
    • LAYOUT$sparseImageFloat32AtomicAdd

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

      public static final long SIZE$sType
    • SIZE$pNext

      public static final long SIZE$pNext
    • SIZE$shaderBufferFloat32Atomics

      public static final long SIZE$shaderBufferFloat32Atomics
    • SIZE$shaderBufferFloat32AtomicAdd

      public static final long SIZE$shaderBufferFloat32AtomicAdd
    • SIZE$shaderBufferFloat64Atomics

      public static final long SIZE$shaderBufferFloat64Atomics
    • SIZE$shaderBufferFloat64AtomicAdd

      public static final long SIZE$shaderBufferFloat64AtomicAdd
    • SIZE$shaderSharedFloat32Atomics

      public static final long SIZE$shaderSharedFloat32Atomics
    • SIZE$shaderSharedFloat32AtomicAdd

      public static final long SIZE$shaderSharedFloat32AtomicAdd
    • SIZE$shaderSharedFloat64Atomics

      public static final long SIZE$shaderSharedFloat64Atomics
    • SIZE$shaderSharedFloat64AtomicAdd

      public static final long SIZE$shaderSharedFloat64AtomicAdd
    • SIZE$shaderImageFloat32Atomics

      public static final long SIZE$shaderImageFloat32Atomics
    • SIZE$shaderImageFloat32AtomicAdd

      public static final long SIZE$shaderImageFloat32AtomicAdd
    • SIZE$sparseImageFloat32Atomics

      public static final long SIZE$sparseImageFloat32Atomics
    • SIZE$sparseImageFloat32AtomicAdd

      public static final long SIZE$sparseImageFloat32AtomicAdd
    • OFFSET$sType

      public static final long OFFSET$sType
    • OFFSET$pNext

      public static final long OFFSET$pNext
    • OFFSET$shaderBufferFloat32Atomics

      public static final long OFFSET$shaderBufferFloat32Atomics
    • OFFSET$shaderBufferFloat32AtomicAdd

      public static final long OFFSET$shaderBufferFloat32AtomicAdd
    • OFFSET$shaderBufferFloat64Atomics

      public static final long OFFSET$shaderBufferFloat64Atomics
    • OFFSET$shaderBufferFloat64AtomicAdd

      public static final long OFFSET$shaderBufferFloat64AtomicAdd
    • OFFSET$shaderSharedFloat32Atomics

      public static final long OFFSET$shaderSharedFloat32Atomics
    • OFFSET$shaderSharedFloat32AtomicAdd

      public static final long OFFSET$shaderSharedFloat32AtomicAdd
    • OFFSET$shaderSharedFloat64Atomics

      public static final long OFFSET$shaderSharedFloat64Atomics
    • OFFSET$shaderSharedFloat64AtomicAdd

      public static final long OFFSET$shaderSharedFloat64AtomicAdd
    • OFFSET$shaderImageFloat32Atomics

      public static final long OFFSET$shaderImageFloat32Atomics
    • OFFSET$shaderImageFloat32AtomicAdd

      public static final long OFFSET$shaderImageFloat32AtomicAdd
    • OFFSET$sparseImageFloat32Atomics

      public static final long OFFSET$sparseImageFloat32Atomics
    • OFFSET$sparseImageFloat32AtomicAdd

      public static final long OFFSET$sparseImageFloat32AtomicAdd
  • Constructor Details

    • VkPhysicalDeviceShaderAtomicFloatFeaturesEXT

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