logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SDL_GPUTextureFormat - Specifies the pixel format of a texture.

Availability

       This enum is available since SDL 3.2.0.

Description

       Texture  format support varies depending on driver, hardware, and usage flags. In general, you should use
       SDL_GPUTextureSupportsFormat to query if a format is supported before using it. However, there are a  few
       guaranteed formats.

       FIXME:  Check  universal  support  for  32-bit  component  formats  FIXME:  Check  universal  support for
       SIMULTANEOUS_READ_WRITE

       For SAMPLER usage, the following formats are universally supported:

       • R8G8B8A8_UNORM

       • B8G8R8A8_UNORM

       • R8_UNORM

       • R8_SNORM

       • R8G8_UNORM

       • R8G8_SNORM

       • R8G8B8A8_SNORM

       • R16_FLOAT

       • R16G16_FLOAT

       • R16G16B16A16_FLOAT

       • R32_FLOAT

       • R32G32_FLOAT

       • R32G32B32A32_FLOAT

       • R11G11B10_UFLOAT

       • R8G8B8A8_UNORM_SRGB

       • B8G8R8A8_UNORM_SRGB

       • D16_UNORM

       For COLOR_TARGET usage, the following formats are universally supported:

       • R8G8B8A8_UNORM

       • B8G8R8A8_UNORM

       • R8_UNORM

       • R16_FLOAT

       • R16G16_FLOAT

       • R16G16B16A16_FLOAT

       • R32_FLOAT

       • R32G32_FLOAT

       • R32G32B32A32_FLOAT

       • R8_UINT

       • R8G8_UINT

       • R8G8B8A8_UINT

       • R16_UINT

       • R16G16_UINT

       • R16G16B16A16_UINT

       • R8_INT

       • R8G8_INT

       • R8G8B8A8_INT

       • R16_INT

       • R16G16_INT

       • R16G16B16A16_INT

       • R8G8B8A8_UNORM_SRGB

       • B8G8R8A8_UNORM_SRGB

       For STORAGE usages, the following formats are universally supported:

       • R8G8B8A8_UNORM

       • R8G8B8A8_SNORM

       • R16G16B16A16_FLOAT

       • R32_FLOAT

       • R32G32_FLOAT

       • R32G32B32A32_FLOAT

       • R8G8B8A8_UINT

       • R16G16B16A16_UINT

       • R8G8B8A8_INT

       • R16G16B16A16_INT

       For DEPTH_STENCIL_TARGET usage, the following formats are universally supported:

       • D16_UNORM

       • Either (but not necessarily both!) D24_UNORM or D32_FLOAT

       • Either (but not necessarily both!) D24_UNORM_S8_UINT or D32_FLOAT_S8_UINT

       Unless D16_UNORM is sufficient for your purposes, always check  which  of  D24/D32  is  supported  before
       creating a depth-stencil texture!

Name

       SDL_GPUTextureFormat - Specifies the pixel format of a texture.

See Also

SDL_CreateGPUTexture(3), SDL_GPUTextureSupportsFormat(3)

Simple Directmedia Layer                           SDL 3.2.20                        SDL_GPUTextureFormat(3type)

Synopsis

#include<SDL3/SDL_gpu.h>typedefenumSDL_GPUTextureFormat{SDL_GPU_TEXTUREFORMAT_INVALID,/*UnsignedNormalizedFloatColorFormats*/SDL_GPU_TEXTUREFORMAT_A8_UNORM,SDL_GPU_TEXTUREFORMAT_R8_UNORM,SDL_GPU_TEXTUREFORMAT_R8G8_UNORM,SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM,SDL_GPU_TEXTUREFORMAT_R16_UNORM,SDL_GPU_TEXTUREFORMAT_R16G16_UNORM,SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UNORM,SDL_GPU_TEXTUREFORMAT_R10G10B10A2_UNORM,SDL_GPU_TEXTUREFORMAT_B5G6R5_UNORM,SDL_GPU_TEXTUREFORMAT_B5G5R5A1_UNORM,SDL_GPU_TEXTUREFORMAT_B4G4R4A4_UNORM,SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM,/*CompressedUnsignedNormalizedFloatColorFormats*/SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM,SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM,SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM,SDL_GPU_TEXTUREFORMAT_BC4_R_UNORM,SDL_GPU_TEXTUREFORMAT_BC5_RG_UNORM,SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM,/*CompressedSignedFloatColorFormats*/SDL_GPU_TEXTUREFORMAT_BC6H_RGB_FLOAT,/*CompressedUnsignedFloatColorFormats*/SDL_GPU_TEXTUREFORMAT_BC6H_RGB_UFLOAT,/*SignedNormalizedFloatColorFormats*/SDL_GPU_TEXTUREFORMAT_R8_SNORM,SDL_GPU_TEXTUREFORMAT_R8G8_SNORM,SDL_GPU_TEXTUREFORMAT_R8G8B8A8_SNORM,SDL_GPU_TEXTUREFORMAT_R16_SNORM,SDL_GPU_TEXTUREFORMAT_R16G16_SNORM,SDL_GPU_TEXTUREFORMAT_R16G16B16A16_SNORM,/*SignedFloatColorFormats*/SDL_GPU_TEXTUREFORMAT_R16_FLOAT,SDL_GPU_TEXTUREFORMAT_R16G16_FLOAT,SDL_GPU_TEXTUREFORMAT_R16G16B16A16_FLOAT,SDL_GPU_TEXTUREFORMAT_R32_FLOAT,SDL_GPU_TEXTUREFORMAT_R32G32_FLOAT,SDL_GPU_TEXTUREFORMAT_R32G32B32A32_FLOAT,/*UnsignedFloatColorFormats*/SDL_GPU_TEXTUREFORMAT_R11G11B10_UFLOAT,/*UnsignedIntegerColorFormats*/SDL_GPU_TEXTUREFORMAT_R8_UINT,SDL_GPU_TEXTUREFORMAT_R8G8_UINT,SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UINT,SDL_GPU_TEXTUREFORMAT_R16_UINT,SDL_GPU_TEXTUREFORMAT_R16G16_UINT,SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UINT,SDL_GPU_TEXTUREFORMAT_R32_UINT,SDL_GPU_TEXTUREFORMAT_R32G32_UINT,SDL_GPU_TEXTUREFORMAT_R32G32B32A32_UINT,/*SignedIntegerColorFormats*/SDL_GPU_TEXTUREFORMAT_R8_INT,SDL_GPU_TEXTUREFORMAT_R8G8_INT,SDL_GPU_TEXTUREFORMAT_R8G8B8A8_INT,SDL_GPU_TEXTUREFORMAT_R16_INT,SDL_GPU_TEXTUREFORMAT_R16G16_INT,SDL_GPU_TEXTUREFORMAT_R16G16B16A16_INT,SDL_GPU_TEXTUREFORMAT_R32_INT,SDL_GPU_TEXTUREFORMAT_R32G32_INT,SDL_GPU_TEXTUREFORMAT_R32G32B32A32_INT,/*SRGBUnsignedNormalizedColorFormats*/SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM_SRGB,SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM_SRGB,/*CompressedSRGBUnsignedNormalizedColorFormats*/SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM_SRGB,SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM_SRGB,SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM_SRGB,SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM_SRGB,/*DepthFormats*/SDL_GPU_TEXTUREFORMAT_D16_UNORM,SDL_GPU_TEXTUREFORMAT_D24_UNORM,SDL_GPU_TEXTUREFORMAT_D32_FLOAT,SDL_GPU_TEXTUREFORMAT_D24_UNORM_S8_UINT,SDL_GPU_TEXTUREFORMAT_D32_FLOAT_S8_UINT,/*CompressedASTCNormalizedFloatColorFormats*/SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM,SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM,SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM,SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM,SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM,SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM,SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM,SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM,SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM,SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM,SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM,SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM,SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM,SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM,/*CompressedSRGBASTCNormalizedFloatColorFormats*/SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM_SRGB,SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM_SRGB,SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM_SRGB,SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM_SRGB,SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM_SRGB,SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM_SRGB,SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM_SRGB,SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM_SRGB,SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM_SRGB,SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM_SRGB,SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM_SRGB,SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM_SRGB,SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM_SRGB,SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM_SRGB,/*CompressedASTCSignedFloatColorFormats*/SDL_GPU_TEXTUREFORMAT_ASTC_4x4_FLOAT,SDL_GPU_TEXTUREFORMAT_ASTC_5x4_FLOAT,SDL_GPU_TEXTUREFORMAT_ASTC_5x5_FLOAT,SDL_GPU_TEXTUREFORMAT_ASTC_6x5_FLOAT,SDL_GPU_TEXTUREFORMAT_ASTC_6x6_FLOAT,SDL_GPU_TEXTUREFORMAT_ASTC_8x5_FLOAT,SDL_GPU_TEXTUREFORMAT_ASTC_8x6_FLOAT,SDL_GPU_TEXTUREFORMAT_ASTC_8x8_FLOAT,SDL_GPU_TEXTUREFORMAT_ASTC_10x5_FLOAT,SDL_GPU_TEXTUREFORMAT_ASTC_10x6_FLOAT,SDL_GPU_TEXTUREFORMAT_ASTC_10x8_FLOAT,SDL_GPU_TEXTUREFORMAT_ASTC_10x10_FLOAT,SDL_GPU_TEXTUREFORMAT_ASTC_12x10_FLOAT,SDL_GPU_TEXTUREFORMAT_ASTC_12x12_FLOAT}SDL_GPUTextureFormat;

See Also