Class SDL_GPUTextureFormat
Specifies the pixel format of a texture.
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!
Since: This enum is available since SDL 3.2.0.
See also:
SDL_CreateGPUTexture
SDL_GPUTextureSupportsFormat
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
-
Method Summary
-
Field Details
-
INVALID
public static final int INVALID- See Also:
-
A8_UNORM
public static final int A8_UNORM- See Also:
-
R8_UNORM
public static final int R8_UNORM- See Also:
-
R8G8_UNORM
public static final int R8G8_UNORM- See Also:
-
R8G8B8A8_UNORM
public static final int R8G8B8A8_UNORM- See Also:
-
R16_UNORM
public static final int R16_UNORM- See Also:
-
R16G16_UNORM
public static final int R16G16_UNORM- See Also:
-
R16G16B16A16_UNORM
public static final int R16G16B16A16_UNORM- See Also:
-
R10G10B10A2_UNORM
public static final int R10G10B10A2_UNORM- See Also:
-
B5G6R5_UNORM
public static final int B5G6R5_UNORM- See Also:
-
B5G5R5A1_UNORM
public static final int B5G5R5A1_UNORM- See Also:
-
B4G4R4A4_UNORM
public static final int B4G4R4A4_UNORM- See Also:
-
B8G8R8A8_UNORM
public static final int B8G8R8A8_UNORM- See Also:
-
BC1_RGBA_UNORM
public static final int BC1_RGBA_UNORM- See Also:
-
BC2_RGBA_UNORM
public static final int BC2_RGBA_UNORM- See Also:
-
BC3_RGBA_UNORM
public static final int BC3_RGBA_UNORM- See Also:
-
BC4_R_UNORM
public static final int BC4_R_UNORM- See Also:
-
BC5_RG_UNORM
public static final int BC5_RG_UNORM- See Also:
-
BC7_RGBA_UNORM
public static final int BC7_RGBA_UNORM- See Also:
-
BC6H_RGB_FLOAT
public static final int BC6H_RGB_FLOAT- See Also:
-
BC6H_RGB_UFLOAT
public static final int BC6H_RGB_UFLOAT- See Also:
-
R8_SNORM
public static final int R8_SNORM- See Also:
-
R8G8_SNORM
public static final int R8G8_SNORM- See Also:
-
R8G8B8A8_SNORM
public static final int R8G8B8A8_SNORM- See Also:
-
R16_SNORM
public static final int R16_SNORM- See Also:
-
R16G16_SNORM
public static final int R16G16_SNORM- See Also:
-
R16G16B16A16_SNORM
public static final int R16G16B16A16_SNORM- See Also:
-
R16_FLOAT
public static final int R16_FLOAT- See Also:
-
R16G16_FLOAT
public static final int R16G16_FLOAT- See Also:
-
R16G16B16A16_FLOAT
public static final int R16G16B16A16_FLOAT- See Also:
-
R32_FLOAT
public static final int R32_FLOAT- See Also:
-
R32G32_FLOAT
public static final int R32G32_FLOAT- See Also:
-
R32G32B32A32_FLOAT
public static final int R32G32B32A32_FLOAT- See Also:
-
R11G11B10_UFLOAT
public static final int R11G11B10_UFLOAT- See Also:
-
R8_UINT
public static final int R8_UINT- See Also:
-
R8G8_UINT
public static final int R8G8_UINT- See Also:
-
R8G8B8A8_UINT
public static final int R8G8B8A8_UINT- See Also:
-
R16_UINT
public static final int R16_UINT- See Also:
-
R16G16_UINT
public static final int R16G16_UINT- See Also:
-
R16G16B16A16_UINT
public static final int R16G16B16A16_UINT- See Also:
-
R32_UINT
public static final int R32_UINT- See Also:
-
R32G32_UINT
public static final int R32G32_UINT- See Also:
-
R32G32B32A32_UINT
public static final int R32G32B32A32_UINT- See Also:
-
R8_INT
public static final int R8_INT- See Also:
-
R8G8_INT
public static final int R8G8_INT- See Also:
-
R8G8B8A8_INT
public static final int R8G8B8A8_INT- See Also:
-
R16_INT
public static final int R16_INT- See Also:
-
R16G16_INT
public static final int R16G16_INT- See Also:
-
R16G16B16A16_INT
public static final int R16G16B16A16_INT- See Also:
-
R32_INT
public static final int R32_INT- See Also:
-
R32G32_INT
public static final int R32G32_INT- See Also:
-
R32G32B32A32_INT
public static final int R32G32B32A32_INT- See Also:
-
R8G8B8A8_UNORM_SRGB
public static final int R8G8B8A8_UNORM_SRGB- See Also:
-
B8G8R8A8_UNORM_SRGB
public static final int B8G8R8A8_UNORM_SRGB- See Also:
-
BC1_RGBA_UNORM_SRGB
public static final int BC1_RGBA_UNORM_SRGB- See Also:
-
BC2_RGBA_UNORM_SRGB
public static final int BC2_RGBA_UNORM_SRGB- See Also:
-
BC3_RGBA_UNORM_SRGB
public static final int BC3_RGBA_UNORM_SRGB- See Also:
-
BC7_RGBA_UNORM_SRGB
public static final int BC7_RGBA_UNORM_SRGB- See Also:
-
D16_UNORM
public static final int D16_UNORM- See Also:
-
D24_UNORM
public static final int D24_UNORM- See Also:
-
D32_FLOAT
public static final int D32_FLOAT- See Also:
-
D24_UNORM_S8_UINT
public static final int D24_UNORM_S8_UINT- See Also:
-
D32_FLOAT_S8_UINT
public static final int D32_FLOAT_S8_UINT- See Also:
-
ASTC_4x4_UNORM
public static final int ASTC_4x4_UNORM- See Also:
-
ASTC_5x4_UNORM
public static final int ASTC_5x4_UNORM- See Also:
-
ASTC_5x5_UNORM
public static final int ASTC_5x5_UNORM- See Also:
-
ASTC_6x5_UNORM
public static final int ASTC_6x5_UNORM- See Also:
-
ASTC_6x6_UNORM
public static final int ASTC_6x6_UNORM- See Also:
-
ASTC_8x5_UNORM
public static final int ASTC_8x5_UNORM- See Also:
-
ASTC_8x6_UNORM
public static final int ASTC_8x6_UNORM- See Also:
-
ASTC_8x8_UNORM
public static final int ASTC_8x8_UNORM- See Also:
-
ASTC_10x5_UNORM
public static final int ASTC_10x5_UNORM- See Also:
-
ASTC_10x6_UNORM
public static final int ASTC_10x6_UNORM- See Also:
-
ASTC_10x8_UNORM
public static final int ASTC_10x8_UNORM- See Also:
-
ASTC_10x10_UNORM
public static final int ASTC_10x10_UNORM- See Also:
-
ASTC_12x10_UNORM
public static final int ASTC_12x10_UNORM- See Also:
-
ASTC_12x12_UNORM
public static final int ASTC_12x12_UNORM- See Also:
-
ASTC_4x4_UNORM_SRGB
public static final int ASTC_4x4_UNORM_SRGB- See Also:
-
ASTC_5x4_UNORM_SRGB
public static final int ASTC_5x4_UNORM_SRGB- See Also:
-
ASTC_5x5_UNORM_SRGB
public static final int ASTC_5x5_UNORM_SRGB- See Also:
-
ASTC_6x5_UNORM_SRGB
public static final int ASTC_6x5_UNORM_SRGB- See Also:
-
ASTC_6x6_UNORM_SRGB
public static final int ASTC_6x6_UNORM_SRGB- See Also:
-
ASTC_8x5_UNORM_SRGB
public static final int ASTC_8x5_UNORM_SRGB- See Also:
-
ASTC_8x6_UNORM_SRGB
public static final int ASTC_8x6_UNORM_SRGB- See Also:
-
ASTC_8x8_UNORM_SRGB
public static final int ASTC_8x8_UNORM_SRGB- See Also:
-
ASTC_10x5_UNORM_SRGB
public static final int ASTC_10x5_UNORM_SRGB- See Also:
-
ASTC_10x6_UNORM_SRGB
public static final int ASTC_10x6_UNORM_SRGB- See Also:
-
ASTC_10x8_UNORM_SRGB
public static final int ASTC_10x8_UNORM_SRGB- See Also:
-
ASTC_10x10_UNORM_SRGB
public static final int ASTC_10x10_UNORM_SRGB- See Also:
-
ASTC_12x10_UNORM_SRGB
public static final int ASTC_12x10_UNORM_SRGB- See Also:
-
ASTC_12x12_UNORM_SRGB
public static final int ASTC_12x12_UNORM_SRGB- See Also:
-
ASTC_4x4_FLOAT
public static final int ASTC_4x4_FLOAT- See Also:
-
ASTC_5x4_FLOAT
public static final int ASTC_5x4_FLOAT- See Also:
-
ASTC_5x5_FLOAT
public static final int ASTC_5x5_FLOAT- See Also:
-
ASTC_6x5_FLOAT
public static final int ASTC_6x5_FLOAT- See Also:
-
ASTC_6x6_FLOAT
public static final int ASTC_6x6_FLOAT- See Also:
-
ASTC_8x5_FLOAT
public static final int ASTC_8x5_FLOAT- See Also:
-
ASTC_8x6_FLOAT
public static final int ASTC_8x6_FLOAT- See Also:
-
ASTC_8x8_FLOAT
public static final int ASTC_8x8_FLOAT- See Also:
-
ASTC_10x5_FLOAT
public static final int ASTC_10x5_FLOAT- See Also:
-
ASTC_10x6_FLOAT
public static final int ASTC_10x6_FLOAT- See Also:
-
ASTC_10x8_FLOAT
public static final int ASTC_10x8_FLOAT- See Also:
-
ASTC_10x10_FLOAT
public static final int ASTC_10x10_FLOAT- See Also:
-
ASTC_12x10_FLOAT
public static final int ASTC_12x10_FLOAT- See Also:
-
ASTC_12x12_FLOAT
public static final int ASTC_12x12_FLOAT- See Also:
-
-
Method Details
-
explain
-