SDL_CreateGPUBuffer - Man Page

Creates a buffer object to be used in graphics or compute workflows.

Header File

Defined in SDL3/SDL_gpu.h

Synopsis

#include "SDL3/SDL.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

( SDL_GPUBuffer
*) 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

·(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)

Referenced By

SDL_GPUBuffer.3type(3), SDL_GPUBufferCreateInfo.3type(3), SDL_GPUBufferUsageFlags.3type(3), SDL_SetGPUBufferName(3).

SDL 3.2.2 Simple Directmedia Layer SDL3 FUNCTIONS