SDL_CreateGPUComputePipeline(3)

NAME
SDL_CreateGPUComputePipeline - Creates a pipeline object to be used in a compute workflow.

SYNOPSIS
#include <SDL3/SDL_gpu.h>

SDL_GPUComputePipeline * SDL_CreateGPUComputePipeline(
    SDL_GPUDevice *device,
    const SDL_GPUComputePipelineCreateInfo *createinfo);

DESCRIPTION
Shader resource bindings must be authored to follow a particular order depending on the shader format.

For SPIR-V shaders, use the following resource sets:

• 0: Sampled textures, followed by read-only storage textures, followed by read-only storage buffers

• 1: Read-write storage textures, followed by read-write storage buffers

• 2: Uniform buffers

For DXBC and DXIL shaders, use the following register order:

• (t[n], space0): Sampled textures, followed by read-only storage textures, followed by read-only storage buffers

• (u[n], space1): Read-write storage textures, followed by read-write storage buffers

• (b[n], space2): Uniform buffers

For MSL/metallib, use the following order:

• [[buffer]]: Uniform buffers, followed by read-only storage buffers, followed by read-write storage buffers

• [[texture]]: Sampled textures, followed by read-only storage textures, followed by read-write storage textures

There are optional properties that can be provided through props. These are the supported properties:

• SDL_PROP_GPU_COMPUTEPIPELINE_CREATE_NAME_STRING: a name that can be displayed in debugging tools.

FUNCTION PARAMETERS

device
    a GPU Context.

createinfo
    a struct describing the state of the compute pipeline to create.

RETURN VALUE
Returns a compute pipeline object on success, or NULL on failure; call SDL_GetError() for more information.

AVAILABILITY
This function is available since SDL 3.2.0.

SEE ALSO
SDL_BindGPUComputePipeline(3), SDL_ReleaseGPUComputePipeline(3)