Function SDL_CreateGPUComputePipeline
pub unsafe extern "C" fn SDL_CreateGPUComputePipeline(
device: *mut SDL_GPUDevice,
createinfo: *const SDL_GPUComputePipelineCreateInfo,
) -> *mut SDL_GPUComputePipeline
Available on crate feature
dep_sdl3
only.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.
§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.