SDL_CreateGPUBuffer - Creates a buffer object to be used in graphics or compute workflows.
Contents
Availability
This function is available since SDL 3.2.0.
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 ⟨https://moonside.www:lenstrwww:splitstr:nwww:splitstr:r[char46]games/posts/
sdl-gpu-concepts-cycling/⟩
.
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.
Header File
Defined in SDL3/SDL_gpu.h
Name
SDL_CreateGPUBuffer - Creates a buffer object to be used in graphics or compute workflows.
Return Value
( SDL_GPUBuffer
*) Returns a buffer object on success, or NULL on failure; call SDL_GetError () for more information.
See Also
•(3), SDL_UploadToGPUBuffer(3), •(3), SDL_DownloadFromGPUBuffer(3), •(3), SDL_CopyGPUBufferToBuffer(3), •(3), SDL_BindGPUVertexBuffers(3), •(3), SDL_BindGPUIndexBuffer(3), •(3), SDL_BindGPUVertexStorageBuffers(3), •(3), SDL_BindGPUFragmentStorageBuffers(3), •(3), SDL_DrawGPUPrimitivesIndirect(3), •(3), SDL_DrawGPUIndexedPrimitivesIndirect(3), •(3), SDL_BindGPUComputeStorageBuffers(3), •(3), SDL_DispatchGPUComputeIndirect(3), •(3), SDL_ReleaseGPUBuffer(3) Simple Directmedia Layer SDL 3.2.10 SDL_CreateGPUBuffer(3)
Synopsis
#include"SDL3/SDL.h"SDL_GPUBuffer*SDL_CreateGPUBuffer(SDL_GPUDevice*device,constSDL_GPUBufferCreateInfo*createinfo);
