sdlDrawGpuPrimitives function gpu

void sdlDrawGpuPrimitives(
  1. Pointer<SdlGpuRenderPass> renderPass,
  2. int numVertices,
  3. int numInstances,
  4. int firstVertex,
  5. int firstInstance,
)

Draws data using bound graphics state.

You must not call this function before binding a graphics pipeline.

Note that the first_vertex and first_instance parameters are NOT compatible with built-in vertex/instance ID variables in shaders (for example, SV_VertexID); GPU APIs and shader languages do not define these built-in variables consistently, so if your shader depends on them, the only way to keep behavior consistent and portable is to always pass 0 for the correlating parameter in the draw calls.

\param render_pass a render pass handle. \param num_vertices the number of vertices to draw. \param num_instances the number of instances that will be drawn. \param first_vertex the index of the first vertex to draw. \param first_instance the ID of the first instance to draw.

\since This function is available since SDL 3.2.0.

extern SDL_DECLSPEC void SDLCALL SDL_DrawGPUPrimitives( SDL_GPURenderPass *render_pass, Uint32 num_vertices, Uint32 num_instances, Uint32 first_vertex, Uint32 first_instance)

Implementation

void sdlDrawGpuPrimitives(
  Pointer<SdlGpuRenderPass> renderPass,
  int numVertices,
  int numInstances,
  int firstVertex,
  int firstInstance,
) {
  final sdlDrawGpuPrimitivesLookupFunction = _libSdl
      .lookupFunction<
        Void Function(
          Pointer<SdlGpuRenderPass> renderPass,
          Uint32 numVertices,
          Uint32 numInstances,
          Uint32 firstVertex,
          Uint32 firstInstance,
        ),
        void Function(
          Pointer<SdlGpuRenderPass> renderPass,
          int numVertices,
          int numInstances,
          int firstVertex,
          int firstInstance,
        )
      >('SDL_DrawGPUPrimitives');
  return sdlDrawGpuPrimitivesLookupFunction(
    renderPass,
    numVertices,
    numInstances,
    firstVertex,
    firstInstance,
  );
}