Provided by: libsdl3-doc_3.2.26+ds-2_all bug

NAME

       SDL_CreateGPUBuffer - 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 ⟨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.

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)

Simple Directmedia Layer                           SDL 3.2.26                             SDL_CreateGPUBuffer(3)