table of contents
- trixie 3.2.10+ds-1
 - testing 3.2.26+ds-1
 - unstable 3.2.26+ds-2
 - experimental 3.3.2+git20251103~dc5b136+ds-1
 
| SDL_BeginGPUComputePass(3) | SDL3 FUNCTIONS | SDL_BeginGPUComputePass(3) | 
NAME¶
SDL_BeginGPUComputePass - Begins a compute pass on a command buffer.
SYNOPSIS¶
#include <SDL3/SDL_gpu.h>
SDL_GPUComputePass * SDL_BeginGPUComputePass(
    SDL_GPUCommandBuffer *command_buffer,
    const SDL_GPUStorageTextureReadWriteBinding *storage_texture_bindings,
    Uint32 num_storage_texture_bindings,
    const SDL_GPUStorageBufferReadWriteBinding *storage_buffer_bindings,
    Uint32 num_storage_buffer_bindings);
DESCRIPTION¶
A compute pass is defined by a set of texture subresources and buffers that may be written to by compute pipelines. These textures and buffers must have been created with the COMPUTE_STORAGE_WRITE bit or the COMPUTE_STORAGE_SIMULTANEOUS_READ_WRITE bit. If you do not create a texture with COMPUTE_STORAGE_SIMULTANEOUS_READ_WRITE, you must not read from the texture in the compute pass. All operations related to compute pipelines must take place inside of a compute pass. You must not begin another compute pass, or a render pass or copy pass before ending the compute pass.
A VERY IMPORTANT NOTE - Reads and writes in compute passes are NOT implicitly synchronized. This means you may cause data races by both reading and writing a resource region in a compute pass, or by writing multiple times to a resource region. If your compute work depends on reading the completed output from a previous dispatch, you MUST end the current compute pass and begin a new one before you can safely access the data. Otherwise you will receive unexpected results. Reading and writing a texture in the same compute pass is only supported by specific texture formats. Make sure you check the format support!
FUNCTION PARAMETERS¶
- command_buffer
 - a command buffer.
 - storage_texture_bindings
 - an array of writeable storage texture binding structs.
 - num_storage_texture_bindings
 - the number of storage textures to bind from the array.
 - storage_buffer_bindings
 - an array of writeable storage buffer binding structs.
 - num_storage_buffer_bindings
 - the number of storage buffers to bind from the array.
 
RETURN VALUE¶
Returns a compute pass handle.
AVAILABILITY¶
This function is available since SDL 3.2.0.
SEE ALSO¶
| SDL 3.3.3 | Simple Directmedia Layer |