Record Class VkDescriptorSetLayoutBinding

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.VkDescriptorSetLayoutBinding
All Implemented Interfaces:
IPointer, IVkDescriptorSetLayoutBinding

@ValueBasedCandidate @UnsafeConstructor public record VkDescriptorSetLayoutBinding(@NotNull MemorySegment segment) extends Record implements IVkDescriptorSetLayoutBinding

Represents a pointer to a VkDescriptorSetLayoutBinding structure in native memory.

Structure

typedef struct VkDescriptorSetLayoutBinding {
    uint32_t binding;
    VkDescriptorType descriptorType;
    uint32_t descriptorCount; // optional
    VkShaderStageFlags stageFlags;
    VkSampler const* pImmutableSamplers; // optional
} VkDescriptorSetLayoutBinding;

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

      public static final MemoryLayout.PathElement PATH$binding
    • PATH$descriptorType

      public static final MemoryLayout.PathElement PATH$descriptorType
    • PATH$descriptorCount

      public static final MemoryLayout.PathElement PATH$descriptorCount
    • PATH$stageFlags

      public static final MemoryLayout.PathElement PATH$stageFlags
    • PATH$pImmutableSamplers

      public static final MemoryLayout.PathElement PATH$pImmutableSamplers
    • LAYOUT$binding

      public static final ValueLayout.OfInt LAYOUT$binding
    • LAYOUT$descriptorType

      public static final ValueLayout.OfInt LAYOUT$descriptorType
    • LAYOUT$descriptorCount

      public static final ValueLayout.OfInt LAYOUT$descriptorCount
    • LAYOUT$stageFlags

      public static final ValueLayout.OfInt LAYOUT$stageFlags
    • LAYOUT$pImmutableSamplers

      public static final AddressLayout LAYOUT$pImmutableSamplers
    • SIZE$binding

      public static final long SIZE$binding
    • SIZE$descriptorType

      public static final long SIZE$descriptorType
    • SIZE$descriptorCount

      public static final long SIZE$descriptorCount
    • SIZE$stageFlags

      public static final long SIZE$stageFlags
    • SIZE$pImmutableSamplers

      public static final long SIZE$pImmutableSamplers
    • OFFSET$binding

      public static final long OFFSET$binding
    • OFFSET$descriptorType

      public static final long OFFSET$descriptorType
    • OFFSET$descriptorCount

      public static final long OFFSET$descriptorCount
    • OFFSET$stageFlags

      public static final long OFFSET$stageFlags
    • OFFSET$pImmutableSamplers

      public static final long OFFSET$pImmutableSamplers
  • Constructor Details

    • VkDescriptorSetLayoutBinding

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