Class VkIndirectExecutionSetInfoEXT

java.lang.Object
overrungl.struct.GroupType
overrungl.vulkan.ext.union.VkIndirectExecutionSetInfoEXT
All Implemented Interfaces:
Addressable
Direct Known Subclasses:
VkIndirectExecutionSetInfoEXT.Buffer

public sealed class VkIndirectExecutionSetInfoEXT extends GroupType permits VkIndirectExecutionSetInfoEXT.Buffer

Layout

union VkIndirectExecutionSetInfoEXT {
    const VkIndirectExecutionSetPipelineInfoEXT* pPipelineInfo;
    const VkIndirectExecutionSetShaderInfoEXT* pShaderInfo;
};
  • Field Details

    • LAYOUT

      public static final GroupLayout LAYOUT
      The union layout of VkIndirectExecutionSetInfoEXT.
    • OFFSET_pPipelineInfo

      public static final long OFFSET_pPipelineInfo
      The byte offset of pPipelineInfo.
    • LAYOUT_pPipelineInfo

      public static final MemoryLayout LAYOUT_pPipelineInfo
      The memory layout of pPipelineInfo.
    • VH_pPipelineInfo

      public static final VarHandle VH_pPipelineInfo
      The VarHandle of pPipelineInfo of type (MemorySegment base, long baseOffset, long index)MemorySegment.
    • OFFSET_pShaderInfo

      public static final long OFFSET_pShaderInfo
      The byte offset of pShaderInfo.
    • LAYOUT_pShaderInfo

      public static final MemoryLayout LAYOUT_pShaderInfo
      The memory layout of pShaderInfo.
    • VH_pShaderInfo

      public static final VarHandle VH_pShaderInfo
      The VarHandle of pShaderInfo of type (MemorySegment base, long baseOffset, long index)MemorySegment.
  • Constructor Details

    • VkIndirectExecutionSetInfoEXT

      public VkIndirectExecutionSetInfoEXT(MemorySegment segment)
      Creates VkIndirectExecutionSetInfoEXT with the given segment.
      Parameters:
      segment - the memory segment
  • Method Details

    • of

      Creates VkIndirectExecutionSetInfoEXT with the given segment.
      Parameters:
      segment - the memory segment
      Returns:
      the created instance or null if the segment is NULL
    • ofNative

      public static VkIndirectExecutionSetInfoEXT ofNative(MemorySegment segment)

      Creates VkIndirectExecutionSetInfoEXT with the given segment.

      Reinterprets the segment if zero-length.

      Parameters:
      segment - the memory segment
      Returns:
      the created instance or null if the segment is NULL
    • ofNative

      public static VkIndirectExecutionSetInfoEXT.Buffer ofNative(MemorySegment segment, long count)

      Creates VkIndirectExecutionSetInfoEXT with the given segment.

      Reinterprets the segment if zero-length.

      Parameters:
      segment - the memory segment
      count - the count of the buffer
      Returns:
      the created instance or null if the segment is NULL
    • alloc

      public static VkIndirectExecutionSetInfoEXT alloc(SegmentAllocator allocator)
      Allocates a VkIndirectExecutionSetInfoEXT with the given segment allocator.
      Parameters:
      allocator - the segment allocator
      Returns:
      the allocated VkIndirectExecutionSetInfoEXT
    • alloc

      public static VkIndirectExecutionSetInfoEXT.Buffer alloc(SegmentAllocator allocator, long count)
      Allocates a VkIndirectExecutionSetInfoEXT with the given segment allocator and count.
      Parameters:
      allocator - the segment allocator
      count - the count
      Returns:
      the allocated VkIndirectExecutionSetInfoEXT
    • copyFrom

      Copies from the given source.
      Parameters:
      src - the source
      Returns:
      this
    • asBuffer

      Converts this instance to a buffer.
      Returns:
      the buffer
    • pPipelineInfo

      public static MemorySegment pPipelineInfo(MemorySegment segment, long index)
      Returns pPipelineInfo at the given index.
      Parameters:
      segment - the segment of the union
      index - the index of the union buffer
      Returns:
      pPipelineInfo at the given index
    • pPipelineInfo

      public MemorySegment pPipelineInfo()
      Returns pPipelineInfo.
      Returns:
      pPipelineInfo
    • pPipelineInfo

      public static void pPipelineInfo(MemorySegment segment, long index, MemorySegment value)
      Sets pPipelineInfo with the given value at the given index.
      Parameters:
      segment - the segment of the union
      index - the index of the union buffer
      value - the value
    • pPipelineInfo

      public VkIndirectExecutionSetInfoEXT pPipelineInfo(MemorySegment value)
      Sets pPipelineInfo with the given value.
      Parameters:
      value - the value
      Returns:
      this
    • pShaderInfo

      public static MemorySegment pShaderInfo(MemorySegment segment, long index)
      Returns pShaderInfo at the given index.
      Parameters:
      segment - the segment of the union
      index - the index of the union buffer
      Returns:
      pShaderInfo at the given index
    • pShaderInfo

      public MemorySegment pShaderInfo()
      Returns pShaderInfo.
      Returns:
      pShaderInfo
    • pShaderInfo

      public static void pShaderInfo(MemorySegment segment, long index, MemorySegment value)
      Sets pShaderInfo with the given value at the given index.
      Parameters:
      segment - the segment of the union
      index - the index of the union buffer
      value - the value
    • pShaderInfo

      public VkIndirectExecutionSetInfoEXT pShaderInfo(MemorySegment value)
      Sets pShaderInfo with the given value.
      Parameters:
      value - the value
      Returns:
      this