Class VkGeneratedCommandsInfoNV

java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkGeneratedCommandsInfoNV>
org.lwjgl.vulkan.VkGeneratedCommandsInfoNV
All Implemented Interfaces:
AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer

public class VkGeneratedCommandsInfoNV extends org.lwjgl.system.Struct<VkGeneratedCommandsInfoNV> implements org.lwjgl.system.NativeResource
Structure specifying parameters for the generation of commands.
Valid Usage
Valid Usage (Implicit)
  • sType must be STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV
  • pNext must be NULL
  • pipelineBindPoint must be a valid VkPipelineBindPoint value
  • If pipeline is not NULL_HANDLE, pipeline must be a valid VkPipeline handle
  • indirectCommandsLayout must be a valid VkIndirectCommandsLayoutNV handle
  • pStreams must be a valid pointer to an array of streamCount valid VkIndirectCommandsStreamNV structures
  • preprocessBuffer must be a valid VkBuffer handle
  • If sequencesCountBuffer is not NULL_HANDLE, sequencesCountBuffer must be a valid VkBuffer handle
  • If sequencesIndexBuffer is not NULL_HANDLE, sequencesIndexBuffer must be a valid VkBuffer handle
  • streamCount must be greater than 0
  • Each of indirectCommandsLayout, pipeline, preprocessBuffer, sequencesCountBuffer, and sequencesIndexBuffer that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice
See Also

VkIndirectCommandsStreamNV, CmdExecuteGeneratedCommandsNV, CmdPreprocessGeneratedCommandsNV

Layout


 struct VkGeneratedCommandsInfoNV {
     VkStructureType sType();
     void const * pNext();
     VkPipelineBindPoint pipelineBindPoint();
     VkPipeline pipeline();
     VkIndirectCommandsLayoutNV indirectCommandsLayout();
     uint32_t streamCount();
     VkIndirectCommandsStreamNV const * pStreams();
     uint32_t sequencesCount();
     VkBuffer preprocessBuffer();
     VkDeviceSize preprocessOffset();
     VkDeviceSize preprocessSize();
     VkBuffer sequencesCountBuffer();
     VkDeviceSize sequencesCountOffset();
     VkBuffer sequencesIndexBuffer();
     VkDeviceSize sequencesIndexOffset();
 }
  • Field Details

    • SIZEOF

      public static final int SIZEOF
      The struct size in bytes.
    • ALIGNOF

      public static final int ALIGNOF
      The struct alignment in bytes.
    • STYPE

      public static final int STYPE
      The struct member offsets.
    • PNEXT

      public static final int PNEXT
      The struct member offsets.
    • PIPELINEBINDPOINT

      public static final int PIPELINEBINDPOINT
      The struct member offsets.
    • PIPELINE

      public static final int PIPELINE
      The struct member offsets.
    • INDIRECTCOMMANDSLAYOUT

      public static final int INDIRECTCOMMANDSLAYOUT
      The struct member offsets.
    • STREAMCOUNT

      public static final int STREAMCOUNT
      The struct member offsets.
    • PSTREAMS

      public static final int PSTREAMS
      The struct member offsets.
    • SEQUENCESCOUNT

      public static final int SEQUENCESCOUNT
      The struct member offsets.
    • PREPROCESSBUFFER

      public static final int PREPROCESSBUFFER
      The struct member offsets.
    • PREPROCESSOFFSET

      public static final int PREPROCESSOFFSET
      The struct member offsets.
    • PREPROCESSSIZE

      public static final int PREPROCESSSIZE
      The struct member offsets.
    • SEQUENCESCOUNTBUFFER

      public static final int SEQUENCESCOUNTBUFFER
      The struct member offsets.
    • SEQUENCESCOUNTOFFSET

      public static final int SEQUENCESCOUNTOFFSET
      The struct member offsets.
    • SEQUENCESINDEXBUFFER

      public static final int SEQUENCESINDEXBUFFER
      The struct member offsets.
    • SEQUENCESINDEXOFFSET

      public static final int SEQUENCESINDEXOFFSET
      The struct member offsets.
  • Constructor Details

    • VkGeneratedCommandsInfoNV

      public VkGeneratedCommandsInfoNV(ByteBuffer container)
      Creates a VkGeneratedCommandsInfoNV instance at the current position of the specified ByteBuffer container. Changes to the buffer's content will be visible to the struct instance and vice versa.

      The created instance holds a strong reference to the container object.

  • Method Details

    • sizeof

      public int sizeof()
      Specified by:
      sizeof in class org.lwjgl.system.Struct<VkGeneratedCommandsInfoNV>
    • sType

      public int sType()
      a VkStructureType value identifying this structure.
    • pNext

      public long pNext()
      NULL or a pointer to a structure extending this structure.
    • pipelineBindPoint

      public int pipelineBindPoint()
      the VkPipelineBindPoint used for the pipeline.
    • pipeline

      public long pipeline()
      the VkPipeline used in the generation and execution process.
    • indirectCommandsLayout

      public long indirectCommandsLayout()
      the VkIndirectCommandsLayoutNV that provides the command sequence to generate.
    • streamCount

      public int streamCount()
      defines the number of input streams
    • pStreams

      a pointer to an array of streamCount VkIndirectCommandsStreamNV structures providing the input data for the tokens used in indirectCommandsLayout.
    • sequencesCount

      public int sequencesCount()
      the maximum number of sequences to reserve. If sequencesCountBuffer is NULL_HANDLE, this is also the actual number of sequences generated.
    • preprocessBuffer

      public long preprocessBuffer()
      the VkBuffer that is used for preprocessing the input data for execution. If this structure is used with CmdExecuteGeneratedCommandsNV with its isPreprocessed set to TRUE, then the preprocessing step is skipped and data in this buffer will not be modified. The contents and the layout of this buffer are opaque to applications and must not be modified outside functions related to device-generated commands or copied to another buffer for reuse.
    • preprocessOffset

      public long preprocessOffset()
      the byte offset into preprocessBuffer where the preprocessed data is stored.
    • preprocessSize

      public long preprocessSize()
      the maximum byte size within the preprocessBuffer after the preprocessOffset that is available for preprocessing.
    • sequencesCountBuffer

      public long sequencesCountBuffer()
      a VkBuffer in which the actual number of sequences is provided as single uint32_t value.
    • sequencesCountOffset

      public long sequencesCountOffset()
      the byte offset into sequencesCountBuffer where the count value is stored.
    • sequencesIndexBuffer

      public long sequencesIndexBuffer()
      a VkBuffer that encodes the used sequence indices as uint32_t array.
    • sequencesIndexOffset

      public long sequencesIndexOffset()
      the byte offset into sequencesIndexBuffer where the index values start.
    • sType

      public VkGeneratedCommandsInfoNV sType(int value)
      Sets the specified value to the sType() field.
    • sType$Default

      public VkGeneratedCommandsInfoNV sType$Default()
    • pNext

      public VkGeneratedCommandsInfoNV pNext(long value)
      Sets the specified value to the pNext() field.
    • pipelineBindPoint

      public VkGeneratedCommandsInfoNV pipelineBindPoint(int value)
      Sets the specified value to the pipelineBindPoint() field.
    • pipeline

      public VkGeneratedCommandsInfoNV pipeline(long value)
      Sets the specified value to the pipeline() field.
    • indirectCommandsLayout

      public VkGeneratedCommandsInfoNV indirectCommandsLayout(long value)
      Sets the specified value to the indirectCommandsLayout() field.
    • pStreams

      Sets the address of the specified VkIndirectCommandsStreamNV.Buffer to the pStreams() field.
    • sequencesCount

      public VkGeneratedCommandsInfoNV sequencesCount(int value)
      Sets the specified value to the sequencesCount() field.
    • preprocessBuffer

      public VkGeneratedCommandsInfoNV preprocessBuffer(long value)
      Sets the specified value to the preprocessBuffer() field.
    • preprocessOffset

      public VkGeneratedCommandsInfoNV preprocessOffset(long value)
      Sets the specified value to the preprocessOffset() field.
    • preprocessSize

      public VkGeneratedCommandsInfoNV preprocessSize(long value)
      Sets the specified value to the preprocessSize() field.
    • sequencesCountBuffer

      public VkGeneratedCommandsInfoNV sequencesCountBuffer(long value)
      Sets the specified value to the sequencesCountBuffer() field.
    • sequencesCountOffset

      public VkGeneratedCommandsInfoNV sequencesCountOffset(long value)
      Sets the specified value to the sequencesCountOffset() field.
    • sequencesIndexBuffer

      public VkGeneratedCommandsInfoNV sequencesIndexBuffer(long value)
      Sets the specified value to the sequencesIndexBuffer() field.
    • sequencesIndexOffset

      public VkGeneratedCommandsInfoNV sequencesIndexOffset(long value)
      Sets the specified value to the sequencesIndexOffset() field.
    • set

      public VkGeneratedCommandsInfoNV set(int sType, long pNext, int pipelineBindPoint, long pipeline, long indirectCommandsLayout, VkIndirectCommandsStreamNV.Buffer pStreams, int sequencesCount, long preprocessBuffer, long preprocessOffset, long preprocessSize, long sequencesCountBuffer, long sequencesCountOffset, long sequencesIndexBuffer, long sequencesIndexOffset)
      Initializes this struct with the specified values.
    • set

      Copies the specified struct data to this struct.
      Parameters:
      src - the source struct
      Returns:
      this struct
    • malloc

      public static VkGeneratedCommandsInfoNV malloc()
      Returns a new VkGeneratedCommandsInfoNV instance allocated with memAlloc. The instance must be explicitly freed.
    • calloc

      public static VkGeneratedCommandsInfoNV calloc()
      Returns a new VkGeneratedCommandsInfoNV instance allocated with memCalloc. The instance must be explicitly freed.
    • create

      public static VkGeneratedCommandsInfoNV create()
      Returns a new VkGeneratedCommandsInfoNV instance allocated with BufferUtils.
    • create

      public static VkGeneratedCommandsInfoNV create(long address)
      Returns a new VkGeneratedCommandsInfoNV instance for the specified memory address.
    • createSafe

      public static @Nullable VkGeneratedCommandsInfoNV createSafe(long address)
      Like create, but returns null if address is NULL.
    • malloc

      public static VkGeneratedCommandsInfoNV.Buffer malloc(int capacity)
      Returns a new VkGeneratedCommandsInfoNV.Buffer instance allocated with memAlloc. The instance must be explicitly freed.
      Parameters:
      capacity - the buffer capacity
    • calloc

      public static VkGeneratedCommandsInfoNV.Buffer calloc(int capacity)
      Returns a new VkGeneratedCommandsInfoNV.Buffer instance allocated with memCalloc. The instance must be explicitly freed.
      Parameters:
      capacity - the buffer capacity
    • create

      public static VkGeneratedCommandsInfoNV.Buffer create(int capacity)
      Returns a new VkGeneratedCommandsInfoNV.Buffer instance allocated with BufferUtils.
      Parameters:
      capacity - the buffer capacity
    • create

      public static VkGeneratedCommandsInfoNV.Buffer create(long address, int capacity)
      Create a VkGeneratedCommandsInfoNV.Buffer instance at the specified memory.
      Parameters:
      address - the memory address
      capacity - the buffer capacity
    • createSafe

      public static @Nullable VkGeneratedCommandsInfoNV.Buffer createSafe(long address, int capacity)
      Like create, but returns null if address is NULL.
    • malloc

      public static VkGeneratedCommandsInfoNV malloc(org.lwjgl.system.MemoryStack stack)
      Returns a new VkGeneratedCommandsInfoNV instance allocated on the specified MemoryStack.
      Parameters:
      stack - the stack from which to allocate
    • calloc

      public static VkGeneratedCommandsInfoNV calloc(org.lwjgl.system.MemoryStack stack)
      Returns a new VkGeneratedCommandsInfoNV instance allocated on the specified MemoryStack and initializes all its bits to zero.
      Parameters:
      stack - the stack from which to allocate
    • malloc

      public static VkGeneratedCommandsInfoNV.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new VkGeneratedCommandsInfoNV.Buffer instance allocated on the specified MemoryStack.
      Parameters:
      capacity - the buffer capacity
      stack - the stack from which to allocate
    • calloc

      public static VkGeneratedCommandsInfoNV.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new VkGeneratedCommandsInfoNV.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
      Parameters:
      capacity - the buffer capacity
      stack - the stack from which to allocate
    • nsType

      public static int nsType(long struct)
      Unsafe version of sType().
    • npNext

      public static long npNext(long struct)
      Unsafe version of pNext().
    • npipelineBindPoint

      public static int npipelineBindPoint(long struct)
      Unsafe version of pipelineBindPoint().
    • npipeline

      public static long npipeline(long struct)
      Unsafe version of pipeline().
    • nindirectCommandsLayout

      public static long nindirectCommandsLayout(long struct)
      Unsafe version of indirectCommandsLayout().
    • nstreamCount

      public static int nstreamCount(long struct)
      Unsafe version of streamCount().
    • npStreams

      public static VkIndirectCommandsStreamNV.Buffer npStreams(long struct)
      Unsafe version of pStreams().
    • nsequencesCount

      public static int nsequencesCount(long struct)
      Unsafe version of sequencesCount().
    • npreprocessBuffer

      public static long npreprocessBuffer(long struct)
      Unsafe version of preprocessBuffer().
    • npreprocessOffset

      public static long npreprocessOffset(long struct)
      Unsafe version of preprocessOffset().
    • npreprocessSize

      public static long npreprocessSize(long struct)
      Unsafe version of preprocessSize().
    • nsequencesCountBuffer

      public static long nsequencesCountBuffer(long struct)
      Unsafe version of sequencesCountBuffer().
    • nsequencesCountOffset

      public static long nsequencesCountOffset(long struct)
      Unsafe version of sequencesCountOffset().
    • nsequencesIndexBuffer

      public static long nsequencesIndexBuffer(long struct)
      Unsafe version of sequencesIndexBuffer().
    • nsequencesIndexOffset

      public static long nsequencesIndexOffset(long struct)
      Unsafe version of sequencesIndexOffset().
    • nsType

      public static void nsType(long struct, int value)
      Unsafe version of sType.
    • npNext

      public static void npNext(long struct, long value)
      Unsafe version of pNext.
    • npipelineBindPoint

      public static void npipelineBindPoint(long struct, int value)
      Unsafe version of pipelineBindPoint.
    • npipeline

      public static void npipeline(long struct, long value)
      Unsafe version of pipeline.
    • nindirectCommandsLayout

      public static void nindirectCommandsLayout(long struct, long value)
      Unsafe version of indirectCommandsLayout.
    • nstreamCount

      public static void nstreamCount(long struct, int value)
      Sets the specified value to the streamCount field of the specified struct.
    • npStreams

      public static void npStreams(long struct, VkIndirectCommandsStreamNV.Buffer value)
      Unsafe version of pStreams.
    • nsequencesCount

      public static void nsequencesCount(long struct, int value)
      Unsafe version of sequencesCount.
    • npreprocessBuffer

      public static void npreprocessBuffer(long struct, long value)
      Unsafe version of preprocessBuffer.
    • npreprocessOffset

      public static void npreprocessOffset(long struct, long value)
      Unsafe version of preprocessOffset.
    • npreprocessSize

      public static void npreprocessSize(long struct, long value)
      Unsafe version of preprocessSize.
    • nsequencesCountBuffer

      public static void nsequencesCountBuffer(long struct, long value)
      Unsafe version of sequencesCountBuffer.
    • nsequencesCountOffset

      public static void nsequencesCountOffset(long struct, long value)
      Unsafe version of sequencesCountOffset.
    • nsequencesIndexBuffer

      public static void nsequencesIndexBuffer(long struct, long value)
      Unsafe version of sequencesIndexBuffer.
    • nsequencesIndexOffset

      public static void nsequencesIndexOffset(long struct, long value)
      Unsafe version of sequencesIndexOffset.
    • validate

      public static void validate(long struct)
      Validates pointer members that should not be NULL.
      Parameters:
      struct - the struct to validate