sdlBindGpuComputeStorageBuffers function gpu

void sdlBindGpuComputeStorageBuffers(
  1. Pointer<SdlGpuComputePass> computePass,
  2. int firstSlot,
  3. Pointer<Pointer<SdlGpuBuffer>> storageBuffers,
  4. int numBindings,
)

Binds storage buffers as readonly for use on the compute pipeline.

These buffers must have been created with SDL_GPU_BUFFERUSAGE_COMPUTE_STORAGE_READ.

Be sure your shader is set up according to the requirements documented in SDL_CreateGPUShader().

\param compute_pass a compute pass handle. \param first_slot the compute storage buffer slot to begin binding from. \param storage_buffers an array of storage buffer binding structs. \param num_bindings the number of storage buffers to bind from the array.

\since This function is available since SDL 3.2.0.

\sa SDL_CreateGPUShader

extern SDL_DECLSPEC void SDLCALL SDL_BindGPUComputeStorageBuffers( SDL_GPUComputePass *compute_pass, Uint32 first_slot, SDL_GPUBuffer *const *storage_buffers, Uint32 num_bindings)

Implementation

void sdlBindGpuComputeStorageBuffers(
  Pointer<SdlGpuComputePass> computePass,
  int firstSlot,
  Pointer<Pointer<SdlGpuBuffer>> storageBuffers,
  int numBindings,
) {
  final sdlBindGpuComputeStorageBuffersLookupFunction = _libSdl
      .lookupFunction<
        Void Function(
          Pointer<SdlGpuComputePass> computePass,
          Uint32 firstSlot,
          Pointer<Pointer<SdlGpuBuffer>> storageBuffers,
          Uint32 numBindings,
        ),
        void Function(
          Pointer<SdlGpuComputePass> computePass,
          int firstSlot,
          Pointer<Pointer<SdlGpuBuffer>> storageBuffers,
          int numBindings,
        )
      >('SDL_BindGPUComputeStorageBuffers');
  return sdlBindGpuComputeStorageBuffersLookupFunction(
    computePass,
    firstSlot,
    storageBuffers,
    numBindings,
  );
}