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:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordRepresents a pointer to / an array ofVkSubpassDescriptionstructure(s) in native memory. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final longstatic final StructLayoutstatic final ValueLayout.OfIntstatic final ValueLayout.OfIntstatic final ValueLayout.OfIntstatic final AddressLayoutstatic final AddressLayoutstatic final AddressLayoutstatic final ValueLayout.OfIntstatic final AddressLayoutstatic final ValueLayout.OfIntstatic final AddressLayoutstatic final longstatic final longstatic final longstatic final longstatic final longstatic final longstatic final longstatic final longstatic final longstatic final longstatic final MemoryLayout.PathElementstatic final MemoryLayout.PathElementstatic final MemoryLayout.PathElementstatic final MemoryLayout.PathElementstatic final MemoryLayout.PathElementstatic final MemoryLayout.PathElementstatic final MemoryLayout.PathElementstatic final MemoryLayout.PathElementstatic final MemoryLayout.PathElementstatic final MemoryLayout.PathElementstatic final longstatic final longstatic final longstatic final longstatic final longstatic final longstatic final longstatic final longstatic final longstatic final long -
Constructor Summary
ConstructorsConstructorDescriptionVkSubpassDescription(@NotNull MemorySegment segment) Creates an instance of aVkSubpassDescriptionrecord class. -
Method Summary
Modifier and TypeMethodDescriptionstatic VkSubpassDescriptionstatic VkSubpassDescription.Ptrstatic VkSubpassDescriptionclone(Arena arena, VkSubpassDescription src) intcolorAttachmentCount(int value) final booleanIndicates whether some other object is "equal to" this one.intflags()flags(int value) final inthashCode()Returns a hash code value for this object.intinputAttachmentCount(int value) @Nullable VkAttachmentReferencepColorAttachments(int assumedCount) pColorAttachments(@Nullable IVkAttachmentReference value) @NotNull MemorySegmentvoidpColorAttachmentsRaw(@NotNull MemorySegment value) @Nullable VkAttachmentReferencepDepthStencilAttachment(int assumedCount) pDepthStencilAttachment(@Nullable IVkAttachmentReference value) @NotNull MemorySegmentvoidpDepthStencilAttachmentRaw(@NotNull MemorySegment value) @Nullable VkAttachmentReferencepInputAttachments(int assumedCount) pInputAttachments(@Nullable IVkAttachmentReference value) @NotNull MemorySegmentvoidpInputAttachmentsRaw(@NotNull MemorySegment value) intpipelineBindPoint(int value) @Nullable IntPtrNote: the returnedIntPtrdoes not have correctIntPtr.size()property.pPreserveAttachments(@Nullable IntPtr value) @NotNull MemorySegmentvoidpPreserveAttachmentsRaw(@NotNull MemorySegment value) intpreserveAttachmentCount(int value) @Nullable VkAttachmentReferencepResolveAttachments(int assumedCount) pResolveAttachments(@Nullable IVkAttachmentReference value) @NotNull MemorySegmentvoidpResolveAttachmentsRaw(@NotNull MemorySegment value) @NotNull MemorySegmentsegment()Returns the value of thesegmentrecord component.final StringtoString()Returns a string representation of this record class.
-
Field Details
-
LAYOUT
-
BYTES
public static final long BYTES -
PATH$flags
-
PATH$pipelineBindPoint
-
PATH$inputAttachmentCount
-
PATH$pInputAttachments
-
PATH$colorAttachmentCount
-
PATH$pColorAttachments
-
PATH$pResolveAttachments
-
PATH$pDepthStencilAttachment
-
PATH$preserveAttachmentCount
-
PATH$pPreserveAttachments
-
LAYOUT$flags
-
LAYOUT$pipelineBindPoint
-
LAYOUT$inputAttachmentCount
-
LAYOUT$pInputAttachments
-
LAYOUT$colorAttachmentCount
-
LAYOUT$pColorAttachments
-
LAYOUT$pResolveAttachments
-
LAYOUT$pDepthStencilAttachment
-
LAYOUT$preserveAttachmentCount
-
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
Creates an instance of aVkSubpassDescriptionrecord class.- Parameters:
segment- the value for thesegmentrecord component
-
-
Method Details
-
allocate
-
allocate
-
clone
-
flags
-
flags
-
pipelineBindPoint
-
pipelineBindPoint
-
inputAttachmentCount
-
inputAttachmentCount
-
pInputAttachments
-
pInputAttachments
-
pInputAttachments
-
pInputAttachmentsRaw
@Pointer(target=VkAttachmentReference.class) @NotNull public @NotNull MemorySegment pInputAttachmentsRaw() -
pInputAttachmentsRaw
public void pInputAttachmentsRaw(@Pointer(target=VkAttachmentReference.class) @NotNull @NotNull MemorySegment value) -
colorAttachmentCount
-
colorAttachmentCount
-
pColorAttachments
-
pColorAttachments
-
pColorAttachments
-
pColorAttachmentsRaw
@Pointer(target=VkAttachmentReference.class) @NotNull public @NotNull MemorySegment pColorAttachmentsRaw() -
pColorAttachmentsRaw
public void pColorAttachmentsRaw(@Pointer(target=VkAttachmentReference.class) @NotNull @NotNull MemorySegment value) -
pResolveAttachments
-
pResolveAttachments
-
pResolveAttachments
-
pResolveAttachmentsRaw
@Pointer(target=VkAttachmentReference.class) @NotNull public @NotNull MemorySegment pResolveAttachmentsRaw() -
pResolveAttachmentsRaw
public void pResolveAttachmentsRaw(@Pointer(target=VkAttachmentReference.class) @NotNull @NotNull MemorySegment value) -
pDepthStencilAttachment
public VkSubpassDescription pDepthStencilAttachment(@Nullable @Nullable IVkAttachmentReference value) -
pDepthStencilAttachment
-
pDepthStencilAttachment
-
pDepthStencilAttachmentRaw
@Pointer(target=VkAttachmentReference.class) @NotNull public @NotNull MemorySegment pDepthStencilAttachmentRaw() -
pDepthStencilAttachmentRaw
public void pDepthStencilAttachmentRaw(@Pointer(target=VkAttachmentReference.class) @NotNull @NotNull MemorySegment value) -
preserveAttachmentCount
-
preserveAttachmentCount
-
pPreserveAttachments
Note: the returnedIntPtrdoes not have correctIntPtr.size()property. It's up to user to track the size of the buffer, and useIntPtr.reinterpret(long)to set the size before actually reading from or writing to the buffer. -
pPreserveAttachments
-
pPreserveAttachmentsRaw
-
pPreserveAttachmentsRaw
public void pPreserveAttachmentsRaw(@Pointer(comment="uint32_t*") @NotNull @NotNull MemorySegment value) -
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
segment
Returns the value of thesegmentrecord component.
-