Skip to main content

SDL_CreateGPUComputePipeline

Function SDL_CreateGPUComputePipeline 

Source
pub unsafe extern "C" fn SDL_CreateGPUComputePipeline(
    device: *mut SDL_GPUDevice,
    createinfo: *const SDL_GPUComputePipelineCreateInfo,
) -> *mut SDL_GPUComputePipeline
Expand description

Creates a pipeline object to be used in a compute workflow.

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.

Parameter: device a GPU Context. Parameter: createinfo a struct describing the state of the compute pipeline to create. Returns: a compute pipeline object on success, or NULL on failure; call SDL_GetError() for more information.

Available Since: This function is available since SDL 3.2.0.

See Also: SDL_BindGPUComputePipeline See Also: SDL_ReleaseGPUComputePipeline