Record Class VkCopyDescriptorSet

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.VkCopyDescriptorSet
All Implemented Interfaces:
IPointer, IVkCopyDescriptorSet

@ValueBasedCandidate @UnsafeConstructor public record VkCopyDescriptorSet(@NotNull MemorySegment segment) extends Record implements IVkCopyDescriptorSet

Represents a pointer to a VkCopyDescriptorSet structure in native memory.

Structure

typedef struct VkCopyDescriptorSet {
    VkStructureType sType;
    void const* pNext; // optional
    VkDescriptorSet srcSet;
    uint32_t srcBinding;
    uint32_t srcArrayElement;
    VkDescriptorSet dstSet;
    uint32_t dstBinding;
    uint32_t dstArrayElement;
    uint32_t descriptorCount;
} VkCopyDescriptorSet;

Auto initialization

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

  • sType = VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET

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

      public static final MemoryLayout.PathElement PATH$srcSet
    • PATH$srcBinding

      public static final MemoryLayout.PathElement PATH$srcBinding
    • PATH$srcArrayElement

      public static final MemoryLayout.PathElement PATH$srcArrayElement
    • PATH$dstSet

      public static final MemoryLayout.PathElement PATH$dstSet
    • PATH$dstBinding

      public static final MemoryLayout.PathElement PATH$dstBinding
    • PATH$dstArrayElement

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

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

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

      public static final AddressLayout LAYOUT$pNext
    • LAYOUT$srcSet

      public static final AddressLayout LAYOUT$srcSet
    • LAYOUT$srcBinding

      public static final ValueLayout.OfInt LAYOUT$srcBinding
    • LAYOUT$srcArrayElement

      public static final ValueLayout.OfInt LAYOUT$srcArrayElement
    • LAYOUT$dstSet

      public static final AddressLayout LAYOUT$dstSet
    • LAYOUT$dstBinding

      public static final ValueLayout.OfInt LAYOUT$dstBinding
    • LAYOUT$dstArrayElement

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

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

      public static final long SIZE$sType
    • SIZE$pNext

      public static final long SIZE$pNext
    • SIZE$srcSet

      public static final long SIZE$srcSet
    • SIZE$srcBinding

      public static final long SIZE$srcBinding
    • SIZE$srcArrayElement

      public static final long SIZE$srcArrayElement
    • SIZE$dstSet

      public static final long SIZE$dstSet
    • SIZE$dstBinding

      public static final long SIZE$dstBinding
    • SIZE$dstArrayElement

      public static final long SIZE$dstArrayElement
    • SIZE$descriptorCount

      public static final long SIZE$descriptorCount
    • OFFSET$sType

      public static final long OFFSET$sType
    • OFFSET$pNext

      public static final long OFFSET$pNext
    • OFFSET$srcSet

      public static final long OFFSET$srcSet
    • OFFSET$srcBinding

      public static final long OFFSET$srcBinding
    • OFFSET$srcArrayElement

      public static final long OFFSET$srcArrayElement
    • OFFSET$dstSet

      public static final long OFFSET$dstSet
    • OFFSET$dstBinding

      public static final long OFFSET$dstBinding
    • OFFSET$dstArrayElement

      public static final long OFFSET$dstArrayElement
    • OFFSET$descriptorCount

      public static final long OFFSET$descriptorCount
  • Constructor Details

    • VkCopyDescriptorSet

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