SDL_CreateGPUTexture(3)

NAME
SDL_CreateGPUTexture - Creates a texture object to be used in graphics or compute workflows.

SYNOPSIS
#include <SDL3/SDL_gpu.h>

SDL_GPUTexture * SDL_CreateGPUTexture(
    SDL_GPUDevice *device,
    const SDL_GPUTextureCreateInfo *createinfo);

DESCRIPTION
The contents of this texture are undefined until data is written to the texture.

Note that certain combinations of usage flags are invalid. For example, a texture cannot have both the SAMPLER and GRAPHICS_STORAGE_READ flags.

If you request a sample count higher than the hardware supports, the implementation will automatically fall back to the highest available sample count.

There are optional properties that can be provided through SDL_GPUTextureCreateInfo's props. These are the supported properties:

• SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_R_FLOAT: (Direct3D 12 only) if the texture usage is SDL_GPU_TEXTUREUSAGE_COLOR_TARGET, clear the texture to a color with this red intensity. Defaults to zero.

• SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_G_FLOAT: (Direct3D 12 only) if the texture usage is SDL_GPU_TEXTUREUSAGE_COLOR_TARGET, clear the texture to a color with this green intensity. Defaults to zero.

• SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_B_FLOAT: (Direct3D 12 only) if the texture usage is SDL_GPU_TEXTUREUSAGE_COLOR_TARGET, clear the texture to a color with this blue intensity. Defaults to zero.

• SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_A_FLOAT: (Direct3D 12 only) if the texture usage is SDL_GPU_TEXTUREUSAGE_COLOR_TARGET, clear the texture to a color with this alpha intensity. Defaults to zero.

• SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_DEPTH_FLOAT: (Direct3D 12 only) if the texture usage is SDL_GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET, clear the texture to a depth of this value. Defaults to zero.

• SDL_PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_STENCIL_NUMBER: (Direct3D 12 only) if the texture usage is SDL_GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET, clear the texture to a stencil of this Uint8 value. Defaults to zero.

• SDL_PROP_GPU_TEXTURE_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 texture to create.

RETURN VALUE
Returns a texture 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_UploadToGPUTexture(3), SDL_DownloadFromGPUTexture(3), SDL_BindGPUVertexSamplers(3), SDL_BindGPUVertexStorageTextures(3), SDL_BindGPUFragmentSamplers(3), SDL_BindGPUFragmentStorageTextures(3), SDL_BindGPUComputeStorageTextures(3), SDL_BlitGPUTexture(3), SDL_ReleaseGPUTexture(3), SDL_GPUTextureSupportsFormat(3)