# SDL_CreateGPUTransferBuffer

Creates a transfer buffer to be used when uploading to or downloading from graphics resources.

## Header File

Defined in [<SDL3/SDL_gpu.h>](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_gpu.h)

## Syntax

```c
SDL_GPUTransferBuffer * SDL_CreateGPUTransferBuffer(
    SDL_GPUDevice *device,
    const SDL_GPUTransferBufferCreateInfo *createinfo);
```

## Function Parameters

|                                                                            |                |                                                                 |
| -------------------------------------------------------------------------- | -------------- | --------------------------------------------------------------- |
| [SDL_GPUDevice](SDL_GPUDevice) *                                           | **device**     | a GPU Context.                                                  |
| const [SDL_GPUTransferBufferCreateInfo](SDL_GPUTransferBufferCreateInfo) * | **createinfo** | a struct describing the state of the transfer buffer to create. |

## Return Value

([SDL_GPUTransferBuffer](SDL_GPUTransferBuffer) *) Returns a transfer
buffer on success, or NULL on failure; call [SDL_GetError](SDL_GetError)()
for more information.

## Remarks

Download buffers can be particularly expensive to create, so it is good
practice to reuse them if data will be downloaded regularly.

There are optional properties that can be provided through `props`. These
are the supported properties:

- [`SDL_PROP_GPU_TRANSFERBUFFER_CREATE_NAME_STRING`](SDL_PROP_GPU_TRANSFERBUFFER_CREATE_NAME_STRING):
  a name that can be displayed in debugging tools.

## Version

This function is available since SDL 3.2.0.

## See Also

- [SDL_UploadToGPUBuffer](SDL_UploadToGPUBuffer)
- [SDL_DownloadFromGPUBuffer](SDL_DownloadFromGPUBuffer)
- [SDL_UploadToGPUTexture](SDL_UploadToGPUTexture)
- [SDL_DownloadFromGPUTexture](SDL_DownloadFromGPUTexture)
- [SDL_ReleaseGPUTransferBuffer](SDL_ReleaseGPUTransferBuffer)

----
[CategoryAPI](CategoryAPI), [CategoryAPIFunction](CategoryAPIFunction), [CategoryGPU](CategoryGPU)

