SDL_CreateGPUComputePipeline

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:

- (tn, space0): Sampled textures, followed by read-only storage textures, followed by read-only storage buffers - (un, space1): Read-write storage textures, followed by read-write storage buffers - (bn, 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.

extern (C) nothrow @nogc extern
SDL_CreateGPUComputePipeline

Parameters

device SDL_GPUDevice*

a GPU Context.

createinfo const(SDL_GPUComputePipelineCreateInfo)*

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

Return Value

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

See Also

Meta