Record Class VkSubpassDescription

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.VkSubpassDescription
All Implemented Interfaces:
IPointer, IVkSubpassDescription

@ValueBasedCandidate @UnsafeConstructor public record VkSubpassDescription(@NotNull MemorySegment segment) extends Record implements IVkSubpassDescription

Represents a pointer to a VkSubpassDescription structure in native memory.

Structure

typedef struct VkSubpassDescription {
    VkSubpassDescriptionFlags flags; // optional
    VkPipelineBindPoint pipelineBindPoint;
    uint32_t inputAttachmentCount; // optional
    VkAttachmentReference const* pInputAttachments; // optional
    uint32_t colorAttachmentCount; // optional
    VkAttachmentReference const* pColorAttachments; // optional
    VkAttachmentReference const* pResolveAttachments; // optional
    VkAttachmentReference const* pDepthStencilAttachment; // optional
    uint32_t preserveAttachmentCount; // optional
    uint32_t const* pPreserveAttachments; // optional
} VkSubpassDescription;

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

      public static final MemoryLayout.PathElement PATH$flags
    • PATH$pipelineBindPoint

      public static final MemoryLayout.PathElement PATH$pipelineBindPoint
    • PATH$inputAttachmentCount

      public static final MemoryLayout.PathElement PATH$inputAttachmentCount
    • PATH$pInputAttachments

      public static final MemoryLayout.PathElement PATH$pInputAttachments
    • PATH$colorAttachmentCount

      public static final MemoryLayout.PathElement PATH$colorAttachmentCount
    • PATH$pColorAttachments

      public static final MemoryLayout.PathElement PATH$pColorAttachments
    • PATH$pResolveAttachments

      public static final MemoryLayout.PathElement PATH$pResolveAttachments
    • PATH$pDepthStencilAttachment

      public static final MemoryLayout.PathElement PATH$pDepthStencilAttachment
    • PATH$preserveAttachmentCount

      public static final MemoryLayout.PathElement PATH$preserveAttachmentCount
    • PATH$pPreserveAttachments

      public static final MemoryLayout.PathElement PATH$pPreserveAttachments
    • LAYOUT$flags

      public static final ValueLayout.OfInt LAYOUT$flags
    • LAYOUT$pipelineBindPoint

      public static final ValueLayout.OfInt LAYOUT$pipelineBindPoint
    • LAYOUT$inputAttachmentCount

      public static final ValueLayout.OfInt LAYOUT$inputAttachmentCount
    • LAYOUT$pInputAttachments

      public static final AddressLayout LAYOUT$pInputAttachments
    • LAYOUT$colorAttachmentCount

      public static final ValueLayout.OfInt LAYOUT$colorAttachmentCount
    • LAYOUT$pColorAttachments

      public static final AddressLayout LAYOUT$pColorAttachments
    • LAYOUT$pResolveAttachments

      public static final AddressLayout LAYOUT$pResolveAttachments
    • LAYOUT$pDepthStencilAttachment

      public static final AddressLayout LAYOUT$pDepthStencilAttachment
    • LAYOUT$preserveAttachmentCount

      public static final ValueLayout.OfInt LAYOUT$preserveAttachmentCount
    • LAYOUT$pPreserveAttachments

      public static final AddressLayout LAYOUT$pPreserveAttachments
    • SIZE$flags

      public static final long SIZE$flags
    • SIZE$pipelineBindPoint

      public static final long SIZE$pipelineBindPoint
    • SIZE$inputAttachmentCount

      public static final long SIZE$inputAttachmentCount
    • SIZE$pInputAttachments

      public static final long SIZE$pInputAttachments
    • SIZE$colorAttachmentCount

      public static final long SIZE$colorAttachmentCount
    • SIZE$pColorAttachments

      public static final long SIZE$pColorAttachments
    • SIZE$pResolveAttachments

      public static final long SIZE$pResolveAttachments
    • SIZE$pDepthStencilAttachment

      public static final long SIZE$pDepthStencilAttachment
    • SIZE$preserveAttachmentCount

      public static final long SIZE$preserveAttachmentCount
    • SIZE$pPreserveAttachments

      public static final long SIZE$pPreserveAttachments
    • OFFSET$flags

      public static final long OFFSET$flags
    • OFFSET$pipelineBindPoint

      public static final long OFFSET$pipelineBindPoint
    • OFFSET$inputAttachmentCount

      public static final long OFFSET$inputAttachmentCount
    • OFFSET$pInputAttachments

      public static final long OFFSET$pInputAttachments
    • OFFSET$colorAttachmentCount

      public static final long OFFSET$colorAttachmentCount
    • OFFSET$pColorAttachments

      public static final long OFFSET$pColorAttachments
    • OFFSET$pResolveAttachments

      public static final long OFFSET$pResolveAttachments
    • OFFSET$pDepthStencilAttachment

      public static final long OFFSET$pDepthStencilAttachment
    • OFFSET$preserveAttachmentCount

      public static final long OFFSET$preserveAttachmentCount
    • OFFSET$pPreserveAttachments

      public static final long OFFSET$pPreserveAttachments
  • Constructor Details

    • VkSubpassDescription

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