Record Class VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
All Implemented Interfaces:
IPointer, IVkPhysicalDeviceShaderAtomicFloat2FeaturesEXT

@ValueBasedCandidate @UnsafeConstructor public record VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT(@NotNull MemorySegment segment) extends Record implements IVkPhysicalDeviceShaderAtomicFloat2FeaturesEXT

Represents a pointer to a VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT structure in native memory.

Structure

typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT {
    VkStructureType sType;
    void* pNext; // optional
    VkBool32 shaderBufferFloat16Atomics;
    VkBool32 shaderBufferFloat16AtomicAdd;
    VkBool32 shaderBufferFloat16AtomicMinMax;
    VkBool32 shaderBufferFloat32AtomicMinMax;
    VkBool32 shaderBufferFloat64AtomicMinMax;
    VkBool32 shaderSharedFloat16Atomics;
    VkBool32 shaderSharedFloat16AtomicAdd;
    VkBool32 shaderSharedFloat16AtomicMinMax;
    VkBool32 shaderSharedFloat32AtomicMinMax;
    VkBool32 shaderSharedFloat64AtomicMinMax;
    VkBool32 shaderImageFloat32AtomicMinMax;
    VkBool32 sparseImageFloat32AtomicMinMax;
} VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT;

Auto initialization

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

  • sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_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$shaderBufferFloat16Atomics

      public static final MemoryLayout.PathElement PATH$shaderBufferFloat16Atomics
    • PATH$shaderBufferFloat16AtomicAdd

      public static final MemoryLayout.PathElement PATH$shaderBufferFloat16AtomicAdd
    • PATH$shaderBufferFloat16AtomicMinMax

      public static final MemoryLayout.PathElement PATH$shaderBufferFloat16AtomicMinMax
    • PATH$shaderBufferFloat32AtomicMinMax

      public static final MemoryLayout.PathElement PATH$shaderBufferFloat32AtomicMinMax
    • PATH$shaderBufferFloat64AtomicMinMax

      public static final MemoryLayout.PathElement PATH$shaderBufferFloat64AtomicMinMax
    • PATH$shaderSharedFloat16Atomics

      public static final MemoryLayout.PathElement PATH$shaderSharedFloat16Atomics
    • PATH$shaderSharedFloat16AtomicAdd

      public static final MemoryLayout.PathElement PATH$shaderSharedFloat16AtomicAdd
    • PATH$shaderSharedFloat16AtomicMinMax

      public static final MemoryLayout.PathElement PATH$shaderSharedFloat16AtomicMinMax
    • PATH$shaderSharedFloat32AtomicMinMax

      public static final MemoryLayout.PathElement PATH$shaderSharedFloat32AtomicMinMax
    • PATH$shaderSharedFloat64AtomicMinMax

      public static final MemoryLayout.PathElement PATH$shaderSharedFloat64AtomicMinMax
    • PATH$shaderImageFloat32AtomicMinMax

      public static final MemoryLayout.PathElement PATH$shaderImageFloat32AtomicMinMax
    • PATH$sparseImageFloat32AtomicMinMax

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

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

      public static final AddressLayout LAYOUT$pNext
    • LAYOUT$shaderBufferFloat16Atomics

      public static final ValueLayout.OfInt LAYOUT$shaderBufferFloat16Atomics
    • LAYOUT$shaderBufferFloat16AtomicAdd

      public static final ValueLayout.OfInt LAYOUT$shaderBufferFloat16AtomicAdd
    • LAYOUT$shaderBufferFloat16AtomicMinMax

      public static final ValueLayout.OfInt LAYOUT$shaderBufferFloat16AtomicMinMax
    • LAYOUT$shaderBufferFloat32AtomicMinMax

      public static final ValueLayout.OfInt LAYOUT$shaderBufferFloat32AtomicMinMax
    • LAYOUT$shaderBufferFloat64AtomicMinMax

      public static final ValueLayout.OfInt LAYOUT$shaderBufferFloat64AtomicMinMax
    • LAYOUT$shaderSharedFloat16Atomics

      public static final ValueLayout.OfInt LAYOUT$shaderSharedFloat16Atomics
    • LAYOUT$shaderSharedFloat16AtomicAdd

      public static final ValueLayout.OfInt LAYOUT$shaderSharedFloat16AtomicAdd
    • LAYOUT$shaderSharedFloat16AtomicMinMax

      public static final ValueLayout.OfInt LAYOUT$shaderSharedFloat16AtomicMinMax
    • LAYOUT$shaderSharedFloat32AtomicMinMax

      public static final ValueLayout.OfInt LAYOUT$shaderSharedFloat32AtomicMinMax
    • LAYOUT$shaderSharedFloat64AtomicMinMax

      public static final ValueLayout.OfInt LAYOUT$shaderSharedFloat64AtomicMinMax
    • LAYOUT$shaderImageFloat32AtomicMinMax

      public static final ValueLayout.OfInt LAYOUT$shaderImageFloat32AtomicMinMax
    • LAYOUT$sparseImageFloat32AtomicMinMax

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

      public static final long SIZE$sType
    • SIZE$pNext

      public static final long SIZE$pNext
    • SIZE$shaderBufferFloat16Atomics

      public static final long SIZE$shaderBufferFloat16Atomics
    • SIZE$shaderBufferFloat16AtomicAdd

      public static final long SIZE$shaderBufferFloat16AtomicAdd
    • SIZE$shaderBufferFloat16AtomicMinMax

      public static final long SIZE$shaderBufferFloat16AtomicMinMax
    • SIZE$shaderBufferFloat32AtomicMinMax

      public static final long SIZE$shaderBufferFloat32AtomicMinMax
    • SIZE$shaderBufferFloat64AtomicMinMax

      public static final long SIZE$shaderBufferFloat64AtomicMinMax
    • SIZE$shaderSharedFloat16Atomics

      public static final long SIZE$shaderSharedFloat16Atomics
    • SIZE$shaderSharedFloat16AtomicAdd

      public static final long SIZE$shaderSharedFloat16AtomicAdd
    • SIZE$shaderSharedFloat16AtomicMinMax

      public static final long SIZE$shaderSharedFloat16AtomicMinMax
    • SIZE$shaderSharedFloat32AtomicMinMax

      public static final long SIZE$shaderSharedFloat32AtomicMinMax
    • SIZE$shaderSharedFloat64AtomicMinMax

      public static final long SIZE$shaderSharedFloat64AtomicMinMax
    • SIZE$shaderImageFloat32AtomicMinMax

      public static final long SIZE$shaderImageFloat32AtomicMinMax
    • SIZE$sparseImageFloat32AtomicMinMax

      public static final long SIZE$sparseImageFloat32AtomicMinMax
    • OFFSET$sType

      public static final long OFFSET$sType
    • OFFSET$pNext

      public static final long OFFSET$pNext
    • OFFSET$shaderBufferFloat16Atomics

      public static final long OFFSET$shaderBufferFloat16Atomics
    • OFFSET$shaderBufferFloat16AtomicAdd

      public static final long OFFSET$shaderBufferFloat16AtomicAdd
    • OFFSET$shaderBufferFloat16AtomicMinMax

      public static final long OFFSET$shaderBufferFloat16AtomicMinMax
    • OFFSET$shaderBufferFloat32AtomicMinMax

      public static final long OFFSET$shaderBufferFloat32AtomicMinMax
    • OFFSET$shaderBufferFloat64AtomicMinMax

      public static final long OFFSET$shaderBufferFloat64AtomicMinMax
    • OFFSET$shaderSharedFloat16Atomics

      public static final long OFFSET$shaderSharedFloat16Atomics
    • OFFSET$shaderSharedFloat16AtomicAdd

      public static final long OFFSET$shaderSharedFloat16AtomicAdd
    • OFFSET$shaderSharedFloat16AtomicMinMax

      public static final long OFFSET$shaderSharedFloat16AtomicMinMax
    • OFFSET$shaderSharedFloat32AtomicMinMax

      public static final long OFFSET$shaderSharedFloat32AtomicMinMax
    • OFFSET$shaderSharedFloat64AtomicMinMax

      public static final long OFFSET$shaderSharedFloat64AtomicMinMax
    • OFFSET$shaderImageFloat32AtomicMinMax

      public static final long OFFSET$shaderImageFloat32AtomicMinMax
    • OFFSET$sparseImageFloat32AtomicMinMax

      public static final long OFFSET$sparseImageFloat32AtomicMinMax
  • Constructor Details

    • VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT

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