sdlxBindGpuFragmentStorageBuffers function gpu
void
sdlxBindGpuFragmentStorageBuffers(
- Pointer<
SdlGpuRenderPass> renderPass, { - required List<
Pointer< storageBuffers,SdlGpuBuffer> > - int firstSlot = 0,
Binds storage buffers for use on the fragment shader.
These buffers must have been created with SDL_GPU_BUFFERUSAGE_GRAPHICS_STORAGE_READ.
Be sure your shader is set up according to the requirements documented in SDL_CreateGPUShader().
\param render_pass a render pass handle. \param first_slot the fragment storage buffer slot to begin binding from. \param storage_buffers an array of storage buffers. \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_BindGPUFragmentStorageBuffers( SDL_GPURenderPass *render_pass, Uint32 first_slot, SDL_GPUBuffer *const *storage_buffers, Uint32 num_bindings)
Implementation
void sdlxBindGpuFragmentStorageBuffers(
Pointer<SdlGpuRenderPass> renderPass, {
required List<Pointer<SdlGpuBuffer>> storageBuffers,
int firstSlot = 0,
}) {
final pointer = ffi.calloc<Pointer<SdlGpuBuffer>>(storageBuffers.length);
for (var i = 0; i < storageBuffers.length; i++) {
pointer[i] = storageBuffers[i];
}
sdlBindGpuFragmentStorageBuffers(
renderPass,
firstSlot,
pointer,
storageBuffers.length,
);
pointer.callocFree();
}