logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SDL_BeginGPUComputePass - Begins a compute pass on a command buffer.

Availability

       This function is available since SDL 3.2.0.

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.

Header File

       Defined in SDL3/SDL_gpu.h

Name

       SDL_BeginGPUComputePass - Begins a compute pass on a command buffer.

Return Value

       ( SDL_GPUComputePass
        *) Returns a compute pass handle.

See Also

(3), SDL_EndGPUComputePass(3)

Simple Directmedia Layer                           SDL 3.2.10                         SDL_BeginGPUComputePass(3)

Synopsis

#include"SDL3/SDL.h"SDL_GPUComputePass*SDL_BeginGPUComputePass(SDL_GPUCommandBuffer*command_buffer,constSDL_GPUStorageTextureReadWriteBinding*storage_texture_bindings,Uint32num_storage_texture_bindings,constSDL_GPUStorageBufferReadWriteBinding*storage_buffer_bindings,Uint32num_storage_buffer_bindings);

See Also