SDL_CreateGPUBuffer - Man Page
Creates a buffer object to be used in graphics or compute workflows.
Synopsis
#include <SDL3/SDL_gpu.h> SDL_GPUBuffer * SDL_CreateGPUBuffer( SDL_GPUDevice *device, const SDL_GPUBufferCreateInfo *createinfo);
Description
The contents of this buffer are undefined until data is written to the buffer.
Note that certain combinations of usage flags are invalid. For example, a buffer cannot have both the VERTEX and INDEX flags.
If you use a STORAGE flag, the data in the buffer must respect std140 layout conventions. In practical terms this means you must ensure that vec3 and vec4 fields are 16-byte aligned.
For better understanding of underlying concepts and memory management with SDL GPU API, you may refer this blog post
.
There are optional properties that can be provided through props. These are the supported properties:
· SDL_PROP_GPU_BUFFER_CREATE_NAME_STRING: a name that can be displayed in debugging tools.
Function Parameters
- device
a GPU Context.
- createinfo
a struct describing the state of the buffer to create.
Return Value
Returns a buffer object on success, or NULL on failure; call SDL_GetError() for more information.
Availability
This function is available since SDL 3.2.0.
See Also
SDL_UploadToGPUBuffer(3), SDL_DownloadFromGPUBuffer(3), SDL_CopyGPUBufferToBuffer(3), SDL_BindGPUVertexBuffers(3), SDL_BindGPUIndexBuffer(3), SDL_BindGPUVertexStorageBuffers(3), SDL_BindGPUFragmentStorageBuffers(3), SDL_DrawGPUPrimitivesIndirect(3), SDL_DrawGPUIndexedPrimitivesIndirect(3), SDL_BindGPUComputeStorageBuffers(3), SDL_DispatchGPUComputeIndirect(3), SDL_ReleaseGPUBuffer(3)
Referenced By
SDL_GPUBuffer.3type(3), SDL_GPUBufferCreateInfo.3type(3), SDL_GPUBufferUsageFlags.3type(3), SDL_SetGPUBufferName(3).