Function SDL_CreateGPUBuffer
pub unsafe extern "C" fn SDL_CreateGPUBuffer(
device: *mut SDL_GPUDevice,
createinfo: *const SDL_GPUBufferCreateInfo,
) -> *mut SDL_GPUBuffer
dep_sdl3
only.Expand description
Creates a buffer object to be used in graphics or compute workflows.
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.
§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
SDL_DownloadFromGPUBuffer
SDL_CopyGPUBufferToBuffer
SDL_BindGPUVertexBuffers
SDL_BindGPUIndexBuffer
SDL_BindGPUVertexStorageBuffers
SDL_BindGPUFragmentStorageBuffers
SDL_DrawGPUPrimitivesIndirect
SDL_DrawGPUIndexedPrimitivesIndirect
SDL_BindGPUComputeStorageBuffers
SDL_DispatchGPUComputeIndirect
SDL_ReleaseGPUBuffer