sdlCopyGpuBufferToBuffer function

void sdlCopyGpuBufferToBuffer(
  1. Pointer<SdlGpuCopyPass> copyPass,
  2. Pointer<SdlGpuBufferLocation> source,
  3. Pointer<SdlGpuBufferLocation> destination,
  4. int size,
  5. bool cycle,
)

Performs a buffer-to-buffer copy.

This copy occurs on the GPU timeline. You may assume the copy has finished in subsequent commands.

\param copy_pass a copy pass handle. \param source the buffer and offset to copy from. \param destination the buffer and offset to copy to. \param size the length of the buffer to copy. \param cycle if true, cycles the destination buffer if it is already bound, otherwise overwrites the data.

\since This function is available since SDL 3.1.3.

extern SDL_DECLSPEC void SDLCALL SDL_CopyGPUBufferToBuffer( SDL_GPUCopyPass *copy_pass, const SDL_GPUBufferLocation *source, const SDL_GPUBufferLocation *destination, Uint32 size, bool cycle)

Implementation

void sdlCopyGpuBufferToBuffer(
    Pointer<SdlGpuCopyPass> copyPass,
    Pointer<SdlGpuBufferLocation> source,
    Pointer<SdlGpuBufferLocation> destination,
    int size,
    bool cycle) {
  final sdlCopyGpuBufferToBufferLookupFunction = libSdl3.lookupFunction<
      Void Function(
          Pointer<SdlGpuCopyPass> copyPass,
          Pointer<SdlGpuBufferLocation> source,
          Pointer<SdlGpuBufferLocation> destination,
          Uint32 size,
          Uint8 cycle),
      void Function(
          Pointer<SdlGpuCopyPass> copyPass,
          Pointer<SdlGpuBufferLocation> source,
          Pointer<SdlGpuBufferLocation> destination,
          int size,
          int cycle)>('SDL_CopyGPUBufferToBuffer');
  return sdlCopyGpuBufferToBufferLookupFunction(
      copyPass, source, destination, size, cycle ? 1 : 0);
}