diff --git a/src/gpu/SDL_sysgpu.h b/src/gpu/SDL_sysgpu.h index ba48c6cc1c..f06ae62d67 100644 --- a/src/gpu/SDL_sysgpu.h +++ b/src/gpu/SDL_sysgpu.h @@ -78,10 +78,54 @@ typedef struct BlitPipelineCacheEntry #define SDL_GPU_SWAPCHAINCOMPOSITION_MAX_ENUM_VALUE (SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2048 + 1) #define SDL_GPU_PRESENTMODE_MAX_ENUM_VALUE (SDL_GPU_PRESENTMODE_MAILBOX + 1) -static inline Sint32 Texture_GetBlockSize( +static inline Sint32 Texture_GetBlockWidth( SDL_GPUTextureFormat format) { switch (format) { + case SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_12x10_FLOAT: + case SDL_GPU_TEXTUREFORMAT_ASTC_12x12_FLOAT: + return 12; + case SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x5_FLOAT: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x6_FLOAT: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x8_FLOAT: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x10_FLOAT: + return 10; + case SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_8x5_FLOAT: + case SDL_GPU_TEXTUREFORMAT_ASTC_8x6_FLOAT: + case SDL_GPU_TEXTUREFORMAT_ASTC_8x8_FLOAT: + return 8; + case SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_6x5_FLOAT: + case SDL_GPU_TEXTUREFORMAT_ASTC_6x6_FLOAT: + return 6; + case SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_5x4_FLOAT: + case SDL_GPU_TEXTUREFORMAT_ASTC_5x5_FLOAT: + return 5; case SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM: case SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM: case SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM: @@ -93,6 +137,118 @@ static inline Sint32 Texture_GetBlockSize( case SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM_SRGB: case SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM_SRGB: case SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_4x4_FLOAT: + return 4; + case SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM: + case SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM: + case SDL_GPU_TEXTUREFORMAT_B5G6R5_UNORM: + case SDL_GPU_TEXTUREFORMAT_B5G5R5A1_UNORM: + case SDL_GPU_TEXTUREFORMAT_B4G4R4A4_UNORM: + case SDL_GPU_TEXTUREFORMAT_R10G10B10A2_UNORM: + case SDL_GPU_TEXTUREFORMAT_R8G8_UNORM: + case SDL_GPU_TEXTUREFORMAT_R16G16_UNORM: + case SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UNORM: + case SDL_GPU_TEXTUREFORMAT_R8_UNORM: + case SDL_GPU_TEXTUREFORMAT_R16_UNORM: + case SDL_GPU_TEXTUREFORMAT_A8_UNORM: + case SDL_GPU_TEXTUREFORMAT_R8_SNORM: + case SDL_GPU_TEXTUREFORMAT_R8G8_SNORM: + case SDL_GPU_TEXTUREFORMAT_R8G8B8A8_SNORM: + case SDL_GPU_TEXTUREFORMAT_R16_SNORM: + case SDL_GPU_TEXTUREFORMAT_R16G16_SNORM: + case SDL_GPU_TEXTUREFORMAT_R16G16B16A16_SNORM: + case SDL_GPU_TEXTUREFORMAT_R16_FLOAT: + case SDL_GPU_TEXTUREFORMAT_R16G16_FLOAT: + case SDL_GPU_TEXTUREFORMAT_R16G16B16A16_FLOAT: + case SDL_GPU_TEXTUREFORMAT_R32_FLOAT: + case SDL_GPU_TEXTUREFORMAT_R32G32_FLOAT: + case SDL_GPU_TEXTUREFORMAT_R32G32B32A32_FLOAT: + case SDL_GPU_TEXTUREFORMAT_R11G11B10_UFLOAT: + case SDL_GPU_TEXTUREFORMAT_R8_UINT: + case SDL_GPU_TEXTUREFORMAT_R8G8_UINT: + case SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UINT: + case SDL_GPU_TEXTUREFORMAT_R16_UINT: + case SDL_GPU_TEXTUREFORMAT_R16G16_UINT: + case SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UINT: + case SDL_GPU_TEXTUREFORMAT_R8_INT: + case SDL_GPU_TEXTUREFORMAT_R8G8_INT: + case SDL_GPU_TEXTUREFORMAT_R8G8B8A8_INT: + case SDL_GPU_TEXTUREFORMAT_R16_INT: + case SDL_GPU_TEXTUREFORMAT_R16G16_INT: + case SDL_GPU_TEXTUREFORMAT_R16G16B16A16_INT: + case SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM_SRGB: + return 1; + default: + SDL_assert_release(!"Unrecognized TextureFormat!"); + return 0; + } +} + +static inline Sint32 Texture_GetBlockHeight( + SDL_GPUTextureFormat format) +{ + switch (format) { + case SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_12x12_FLOAT: + return 12; + case SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_12x10_FLOAT: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x10_FLOAT: + return 10; + case SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x8_FLOAT: + case SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_8x8_FLOAT: + return 8; + case SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x6_FLOAT: + case SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_8x6_FLOAT: + case SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_6x6_FLOAT: + return 6; + case SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_10x5_FLOAT: + case SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_8x5_FLOAT: + case SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_6x5_FLOAT: + case SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_5x5_FLOAT: + return 5; + case SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM: + case SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM: + case SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM: + case SDL_GPU_TEXTUREFORMAT_BC4_R_UNORM: + case SDL_GPU_TEXTUREFORMAT_BC5_RG_UNORM: + case SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM: + case SDL_GPU_TEXTUREFORMAT_BC6H_RGB_FLOAT: + case SDL_GPU_TEXTUREFORMAT_BC6H_RGB_UFLOAT: + case SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_5x4_FLOAT: + case SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM: + case SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM_SRGB: + case SDL_GPU_TEXTUREFORMAT_ASTC_4x4_FLOAT: return 4; case SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM: case SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM: @@ -201,10 +357,8 @@ static inline Uint32 BytesPerRow( Sint32 width, SDL_GPUTextureFormat format) { - Uint32 blocksPerRow = width; - Uint32 pixelRowsPerBlock = Texture_GetBlockSize(format); - - blocksPerRow = (width + pixelRowsPerBlock - 1) / pixelRowsPerBlock; + Uint32 blockWidth = Texture_GetBlockWidth(format); + Uint32 blocksPerRow = (width + blockWidth - 1) / blockWidth; return blocksPerRow * SDL_GPUTextureFormatTexelBlockSize(format); } @@ -213,13 +367,10 @@ static inline Sint32 BytesPerImage( Uint32 height, SDL_GPUTextureFormat format) { - Uint32 blocksPerRow = width; - Uint32 blocksPerColumn = height; - Uint32 pixelRowsPerBlock = Texture_GetBlockSize(format); - Uint32 pixelColumnsPerBlock = pixelRowsPerBlock; - - blocksPerRow = (width + pixelRowsPerBlock - 1) / pixelRowsPerBlock; - blocksPerColumn = (height + pixelColumnsPerBlock - 1) / pixelColumnsPerBlock; + Uint32 blockWidth = Texture_GetBlockWidth(format); + Uint32 blockHeight = Texture_GetBlockHeight(format); + Uint32 blocksPerRow = (width + blockWidth - 1) / blockWidth; + Uint32 blocksPerColumn = (height + blockHeight - 1) / blockHeight; return blocksPerRow * blocksPerColumn * SDL_GPUTextureFormatTexelBlockSize(format); } diff --git a/src/gpu/d3d11/SDL_gpu_d3d11.c b/src/gpu/d3d11/SDL_gpu_d3d11.c index 838251c106..d667efddf5 100644 --- a/src/gpu/d3d11/SDL_gpu_d3d11.c +++ b/src/gpu/d3d11/SDL_gpu_d3d11.c @@ -237,48 +237,48 @@ static DXGI_FORMAT SDLToD3D11_TextureFormat[] = { DXGI_FORMAT_D32_FLOAT, // D32_FLOAT DXGI_FORMAT_D24_UNORM_S8_UINT, // D24_UNORM_S8_UINT DXGI_FORMAT_D32_FLOAT_S8X24_UINT, // D32_FLOAT_S8_UINT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_4x4_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_5x4_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_5x5_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_6x5_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_6x6_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_8x5_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_8x6_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_8x8_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x5_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x6_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x8_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x10_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_12x10_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_12x12_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_4x4_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_5x4_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_5x5_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_6x5_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_6x6_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_8x5_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_8x6_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_8x8_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_10x5_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_10x6_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_10x8_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_10x10_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_12x10_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_12x12_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_4x4_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_5x4_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_5x5_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_6x5_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_6x6_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_8x5_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_8x6_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_8x8_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_10x5_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_10x6_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_10x8_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_10x10_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_12x10_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_12x12_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_4x4_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_5x4_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_5x5_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_6x5_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_6x6_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_8x5_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_8x6_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_8x8_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_10x5_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_10x6_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_10x8_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_10x10_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_12x10_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_12x12_FLOAT }; SDL_COMPILE_TIME_ASSERT(SDLToD3D11_TextureFormat, SDL_arraysize(SDLToD3D11_TextureFormat) == SDL_GPU_TEXTUREFORMAT_MAX_ENUM_VALUE); @@ -2698,10 +2698,11 @@ static void D3D11_UploadToTexture( destination->mip_level, cycle); - Sint32 blockSize = Texture_GetBlockSize(dstFormat); - if (blockSize > 1) { - w = (w + blockSize - 1) & ~(blockSize - 1); - h = (h + blockSize - 1) & ~(blockSize - 1); + Sint32 blockWidth = Texture_GetBlockWidth(dstFormat); + Sint32 blockHeight = Texture_GetBlockHeight(dstFormat); + if (blockWidth > 1 && blockHeight > 1) { + w = (w + blockWidth - 1) & ~(blockWidth - 1); + h = (h + blockHeight - 1) & ~(blockHeight - 1); } if (bufferStride == 0) { diff --git a/src/gpu/d3d12/SDL_gpu_d3d12.c b/src/gpu/d3d12/SDL_gpu_d3d12.c index dde8d7179a..86d8dcc6c6 100644 --- a/src/gpu/d3d12/SDL_gpu_d3d12.c +++ b/src/gpu/d3d12/SDL_gpu_d3d12.c @@ -312,48 +312,48 @@ static DXGI_FORMAT SDLToD3D12_TextureFormat[] = { DXGI_FORMAT_D32_FLOAT, // D32_FLOAT DXGI_FORMAT_D24_UNORM_S8_UINT, // D24_UNORM_S8_UINT DXGI_FORMAT_D32_FLOAT_S8X24_UINT, // D32_FLOAT_S8_UINT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM_SRGB - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_4x4_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_5x4_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_5x5_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_6x5_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_6x6_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_8x5_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_8x6_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_8x8_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x5_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x6_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x8_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_10x10_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_12x10_FLOAT - DXGI_FORMAT_UNKNOWN, // SDL_GPU_TEXTUREFORMAT_ASTC_12x12_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_4x4_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_5x4_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_5x5_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_6x5_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_6x6_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_8x5_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_8x6_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_8x8_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_10x5_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_10x6_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_10x8_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_10x10_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_12x10_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_12x12_UNORM + DXGI_FORMAT_UNKNOWN, // ASTC_4x4_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_5x4_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_5x5_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_6x5_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_6x6_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_8x5_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_8x6_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_8x8_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_10x5_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_10x6_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_10x8_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_10x10_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_12x10_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_12x12_UNORM_SRGB + DXGI_FORMAT_UNKNOWN, // ASTC_4x4_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_5x4_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_5x5_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_6x5_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_6x6_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_8x5_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_8x6_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_8x8_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_10x5_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_10x6_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_10x8_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_10x10_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_12x10_FLOAT + DXGI_FORMAT_UNKNOWN, // ASTC_12x12_FLOAT }; SDL_COMPILE_TIME_ASSERT(SDLToD3D12_TextureFormat, SDL_arraysize(SDLToD3D12_TextureFormat) == SDL_GPU_TEXTUREFORMAT_MAX_ENUM_VALUE); diff --git a/src/gpu/metal/SDL_gpu_metal.m b/src/gpu/metal/SDL_gpu_metal.m index 84515eaf02..faed52bb61 100644 --- a/src/gpu/metal/SDL_gpu_metal.m +++ b/src/gpu/metal/SDL_gpu_metal.m @@ -166,48 +166,48 @@ static MTLPixelFormat SDLToMetal_SurfaceFormat[] = { MTLPixelFormatInvalid, // D24_UNORM_S8_UINT #endif MTLPixelFormatDepth32Float_Stencil8, // D32_FLOAT_S8_UINT - MTLPixelFormatASTC_4x4_LDR, // SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM - MTLPixelFormatASTC_5x4_LDR, // SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM - MTLPixelFormatASTC_5x5_LDR, // SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM - MTLPixelFormatASTC_6x5_LDR, // SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM - MTLPixelFormatASTC_6x6_LDR, // SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM - MTLPixelFormatASTC_8x5_LDR, // SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM - MTLPixelFormatASTC_8x6_LDR, // SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM - MTLPixelFormatASTC_8x8_LDR, // SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM - MTLPixelFormatASTC_10x5_LDR, // SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM - MTLPixelFormatASTC_10x6_LDR, // SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM - MTLPixelFormatASTC_10x8_LDR, // SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM - MTLPixelFormatASTC_10x10_LDR, // SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM - MTLPixelFormatASTC_12x10_LDR, // SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM - MTLPixelFormatASTC_12x12_LDR, // SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM - MTLPixelFormatASTC_4x4_sRGB, // SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM_SRGB - MTLPixelFormatASTC_5x4_sRGB, // SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM_SRGB - MTLPixelFormatASTC_5x5_sRGB, // SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM_SRGB - MTLPixelFormatASTC_6x5_sRGB, // SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM_SRGB - MTLPixelFormatASTC_6x6_sRGB, // SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM_SRGB - MTLPixelFormatASTC_8x5_sRGB, // SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM_SRGB - MTLPixelFormatASTC_8x6_sRGB, // SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM_SRGB - MTLPixelFormatASTC_8x8_sRGB, // SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM_SRGB - MTLPixelFormatASTC_10x5_sRGB, // SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM_SRGB - MTLPixelFormatASTC_10x6_sRGB, // SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM_SRGB - MTLPixelFormatASTC_10x8_sRGB, // SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM_SRGB - MTLPixelFormatASTC_10x10_sRGB, // SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM_SRGB - MTLPixelFormatASTC_12x10_sRGB, // SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM_SRGB - MTLPixelFormatASTC_12x12_sRGB, // SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM_SRGB - MTLPixelFormatASTC_4x4_HDR, // SDL_GPU_TEXTUREFORMAT_ASTC_4x4_FLOAT - MTLPixelFormatASTC_5x4_HDR, // SDL_GPU_TEXTUREFORMAT_ASTC_5x4_FLOAT - MTLPixelFormatASTC_5x5_HDR, // SDL_GPU_TEXTUREFORMAT_ASTC_5x5_FLOAT - MTLPixelFormatASTC_6x5_HDR, // SDL_GPU_TEXTUREFORMAT_ASTC_6x5_FLOAT - MTLPixelFormatASTC_6x6_HDR, // SDL_GPU_TEXTUREFORMAT_ASTC_6x6_FLOAT - MTLPixelFormatASTC_8x5_HDR, // SDL_GPU_TEXTUREFORMAT_ASTC_8x5_FLOAT - MTLPixelFormatASTC_8x6_HDR, // SDL_GPU_TEXTUREFORMAT_ASTC_8x6_FLOAT - MTLPixelFormatASTC_8x8_HDR, // SDL_GPU_TEXTUREFORMAT_ASTC_8x8_FLOAT - MTLPixelFormatASTC_10x5_HDR, // SDL_GPU_TEXTUREFORMAT_ASTC_10x5_FLOAT - MTLPixelFormatASTC_10x6_HDR, // SDL_GPU_TEXTUREFORMAT_ASTC_10x6_FLOAT - MTLPixelFormatASTC_10x8_HDR, // SDL_GPU_TEXTUREFORMAT_ASTC_10x8_FLOAT - MTLPixelFormatASTC_10x10_HDR, // SDL_GPU_TEXTUREFORMAT_ASTC_10x10_FLOAT - MTLPixelFormatASTC_12x10_HDR, // SDL_GPU_TEXTUREFORMAT_ASTC_12x10_FLOAT - MTLPixelFormatASTC_12x12_HDR // SDL_GPU_TEXTUREFORMAT_ASTC_12x12_FLOAT + MTLPixelFormatASTC_4x4_LDR, // ASTC_4x4_UNORM + MTLPixelFormatASTC_5x4_LDR, // ASTC_5x4_UNORM + MTLPixelFormatASTC_5x5_LDR, // ASTC_5x5_UNORM + MTLPixelFormatASTC_6x5_LDR, // ASTC_6x5_UNORM + MTLPixelFormatASTC_6x6_LDR, // ASTC_6x6_UNORM + MTLPixelFormatASTC_8x5_LDR, // ASTC_8x5_UNORM + MTLPixelFormatASTC_8x6_LDR, // ASTC_8x6_UNORM + MTLPixelFormatASTC_8x8_LDR, // ASTC_8x8_UNORM + MTLPixelFormatASTC_10x5_LDR, // ASTC_10x5_UNORM + MTLPixelFormatASTC_10x6_LDR, // ASTC_10x6_UNORM + MTLPixelFormatASTC_10x8_LDR, // ASTC_10x8_UNORM + MTLPixelFormatASTC_10x10_LDR, // ASTC_10x10_UNORM + MTLPixelFormatASTC_12x10_LDR, // ASTC_12x10_UNORM + MTLPixelFormatASTC_12x12_LDR, // ASTC_12x12_UNORM + MTLPixelFormatASTC_4x4_sRGB, // ASTC_4x4_UNORM_SRGB + MTLPixelFormatASTC_5x4_sRGB, // ASTC_5x4_UNORM_SRGB + MTLPixelFormatASTC_5x5_sRGB, // ASTC_5x5_UNORM_SRGB + MTLPixelFormatASTC_6x5_sRGB, // ASTC_6x5_UNORM_SRGB + MTLPixelFormatASTC_6x6_sRGB, // ASTC_6x6_UNORM_SRGB + MTLPixelFormatASTC_8x5_sRGB, // ASTC_8x5_UNORM_SRGB + MTLPixelFormatASTC_8x6_sRGB, // ASTC_8x6_UNORM_SRGB + MTLPixelFormatASTC_8x8_sRGB, // ASTC_8x8_UNORM_SRGB + MTLPixelFormatASTC_10x5_sRGB, // ASTC_10x5_UNORM_SRGB + MTLPixelFormatASTC_10x6_sRGB, // ASTC_10x6_UNORM_SRGB + MTLPixelFormatASTC_10x8_sRGB, // ASTC_10x8_UNORM_SRGB + MTLPixelFormatASTC_10x10_sRGB, // ASTC_10x10_UNORM_SRGB + MTLPixelFormatASTC_12x10_sRGB, // ASTC_12x10_UNORM_SRGB + MTLPixelFormatASTC_12x12_sRGB, // ASTC_12x12_UNORM_SRGB + MTLPixelFormatASTC_4x4_HDR, // ASTC_4x4_FLOAT + MTLPixelFormatASTC_5x4_HDR, // ASTC_5x4_FLOAT + MTLPixelFormatASTC_5x5_HDR, // ASTC_5x5_FLOAT + MTLPixelFormatASTC_6x5_HDR, // ASTC_6x5_FLOAT + MTLPixelFormatASTC_6x6_HDR, // ASTC_6x6_FLOAT + MTLPixelFormatASTC_8x5_HDR, // ASTC_8x5_FLOAT + MTLPixelFormatASTC_8x6_HDR, // ASTC_8x6_FLOAT + MTLPixelFormatASTC_8x8_HDR, // ASTC_8x8_FLOAT + MTLPixelFormatASTC_10x5_HDR, // ASTC_10x5_FLOAT + MTLPixelFormatASTC_10x6_HDR, // ASTC_10x6_FLOAT + MTLPixelFormatASTC_10x8_HDR, // ASTC_10x8_FLOAT + MTLPixelFormatASTC_10x10_HDR, // ASTC_10x10_FLOAT + MTLPixelFormatASTC_12x10_HDR, // ASTC_12x10_FLOAT + MTLPixelFormatASTC_12x12_HDR // ASTC_12x12_FLOAT }; SDL_COMPILE_TIME_ASSERT(SDLToMetal_SurfaceFormat, SDL_arraysize(SDLToMetal_SurfaceFormat) == SDL_GPU_TEXTUREFORMAT_MAX_ENUM_VALUE); diff --git a/src/gpu/vulkan/SDL_gpu_vulkan.c b/src/gpu/vulkan/SDL_gpu_vulkan.c index db40d67885..4f4ae3cdf8 100644 --- a/src/gpu/vulkan/SDL_gpu_vulkan.c +++ b/src/gpu/vulkan/SDL_gpu_vulkan.c @@ -200,48 +200,48 @@ static VkFormat SDLToVK_TextureFormat[] = { VK_FORMAT_D32_SFLOAT, // D32_FLOAT VK_FORMAT_D24_UNORM_S8_UINT, // D24_UNORM_S8_UINT VK_FORMAT_D32_SFLOAT_S8_UINT, // D32_FLOAT_S8_UINT - VK_FORMAT_ASTC_5x4_UNORM_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM - VK_FORMAT_ASTC_4x4_UNORM_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM - VK_FORMAT_ASTC_5x5_UNORM_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM - VK_FORMAT_ASTC_6x5_UNORM_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM - VK_FORMAT_ASTC_6x6_UNORM_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM - VK_FORMAT_ASTC_8x5_UNORM_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM - VK_FORMAT_ASTC_8x6_UNORM_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM - VK_FORMAT_ASTC_8x8_UNORM_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM - VK_FORMAT_ASTC_10x5_UNORM_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM - VK_FORMAT_ASTC_10x6_UNORM_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM - VK_FORMAT_ASTC_10x8_UNORM_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM - VK_FORMAT_ASTC_10x10_UNORM_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM - VK_FORMAT_ASTC_12x10_UNORM_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM - VK_FORMAT_ASTC_12x12_UNORM_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM - VK_FORMAT_ASTC_4x4_SRGB_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM_SRGB - VK_FORMAT_ASTC_5x4_SRGB_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM_SRGB - VK_FORMAT_ASTC_5x5_SRGB_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM_SRGB - VK_FORMAT_ASTC_6x5_SRGB_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM_SRGB - VK_FORMAT_ASTC_6x6_SRGB_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM_SRGB - VK_FORMAT_ASTC_8x5_SRGB_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM_SRGB - VK_FORMAT_ASTC_8x6_SRGB_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM_SRGB - VK_FORMAT_ASTC_8x8_SRGB_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM_SRGB - VK_FORMAT_ASTC_10x5_SRGB_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM_SRGB - VK_FORMAT_ASTC_10x6_SRGB_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM_SRGB - VK_FORMAT_ASTC_10x8_SRGB_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM_SRGB - VK_FORMAT_ASTC_10x10_SRGB_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM_SRGB - VK_FORMAT_ASTC_12x10_SRGB_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM_SRGB - VK_FORMAT_ASTC_12x12_SRGB_BLOCK, // SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM_SRGB - VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT, // SDL_GPU_TEXTUREFORMAT_ASTC_4x4_FLOAT - VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT, // SDL_GPU_TEXTUREFORMAT_ASTC_5x4_FLOAT - VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT, // SDL_GPU_TEXTUREFORMAT_ASTC_5x5_FLOAT - VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT, // SDL_GPU_TEXTUREFORMAT_ASTC_6x5_FLOAT - VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT, // SDL_GPU_TEXTUREFORMAT_ASTC_6x6_FLOAT - VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT, // SDL_GPU_TEXTUREFORMAT_ASTC_8x5_FLOAT - VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT, // SDL_GPU_TEXTUREFORMAT_ASTC_8x6_FLOAT - VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT, // SDL_GPU_TEXTUREFORMAT_ASTC_8x8_FLOAT - VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT, // SDL_GPU_TEXTUREFORMAT_ASTC_10x5_FLOAT - VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT, // SDL_GPU_TEXTUREFORMAT_ASTC_10x6_FLOAT - VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT, // SDL_GPU_TEXTUREFORMAT_ASTC_10x8_FLOAT - VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT, // SDL_GPU_TEXTUREFORMAT_ASTC_10x10_FLOAT - VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT, // SDL_GPU_TEXTUREFORMAT_ASTC_12x10_FLOAT - VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK // SDL_GPU_TEXTUREFORMAT_ASTC_12x12_FLOAT + VK_FORMAT_ASTC_4x4_UNORM_BLOCK, // ASTC_4x4_UNORM + VK_FORMAT_ASTC_5x4_UNORM_BLOCK, // ASTC_5x4_UNORM + VK_FORMAT_ASTC_5x5_UNORM_BLOCK, // ASTC_5x5_UNORM + VK_FORMAT_ASTC_6x5_UNORM_BLOCK, // ASTC_6x5_UNORM + VK_FORMAT_ASTC_6x6_UNORM_BLOCK, // ASTC_6x6_UNORM + VK_FORMAT_ASTC_8x5_UNORM_BLOCK, // ASTC_8x5_UNORM + VK_FORMAT_ASTC_8x6_UNORM_BLOCK, // ASTC_8x6_UNORM + VK_FORMAT_ASTC_8x8_UNORM_BLOCK, // ASTC_8x8_UNORM + VK_FORMAT_ASTC_10x5_UNORM_BLOCK, // ASTC_10x5_UNORM + VK_FORMAT_ASTC_10x6_UNORM_BLOCK, // ASTC_10x6_UNORM + VK_FORMAT_ASTC_10x8_UNORM_BLOCK, // ASTC_10x8_UNORM + VK_FORMAT_ASTC_10x10_UNORM_BLOCK, // ASTC_10x10_UNORM + VK_FORMAT_ASTC_12x10_UNORM_BLOCK, // ASTC_12x10_UNORM + VK_FORMAT_ASTC_12x12_UNORM_BLOCK, // ASTC_12x12_UNORM + VK_FORMAT_ASTC_4x4_SRGB_BLOCK, // ASTC_4x4_UNORM_SRGB + VK_FORMAT_ASTC_5x4_SRGB_BLOCK, // ASTC_5x4_UNORM_SRGB + VK_FORMAT_ASTC_5x5_SRGB_BLOCK, // ASTC_5x5_UNORM_SRGB + VK_FORMAT_ASTC_6x5_SRGB_BLOCK, // ASTC_6x5_UNORM_SRGB + VK_FORMAT_ASTC_6x6_SRGB_BLOCK, // ASTC_6x6_UNORM_SRGB + VK_FORMAT_ASTC_8x5_SRGB_BLOCK, // ASTC_8x5_UNORM_SRGB + VK_FORMAT_ASTC_8x6_SRGB_BLOCK, // ASTC_8x6_UNORM_SRGB + VK_FORMAT_ASTC_8x8_SRGB_BLOCK, // ASTC_8x8_UNORM_SRGB + VK_FORMAT_ASTC_10x5_SRGB_BLOCK, // ASTC_10x5_UNORM_SRGB + VK_FORMAT_ASTC_10x6_SRGB_BLOCK, // ASTC_10x6_UNORM_SRGB + VK_FORMAT_ASTC_10x8_SRGB_BLOCK, // ASTC_10x8_UNORM_SRGB + VK_FORMAT_ASTC_10x10_SRGB_BLOCK, // ASTC_10x10_UNORM_SRGB + VK_FORMAT_ASTC_12x10_SRGB_BLOCK, // ASTC_12x10_UNORM_SRGB + VK_FORMAT_ASTC_12x12_SRGB_BLOCK, // ASTC_12x12_UNORM_SRGB + VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT, // ASTC_4x4_FLOAT + VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT, // ASTC_5x4_FLOAT + VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT, // ASTC_5x5_FLOAT + VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT, // ASTC_6x5_FLOAT + VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT, // ASTC_6x6_FLOAT + VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT, // ASTC_8x5_FLOAT + VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT, // ASTC_8x6_FLOAT + VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT, // ASTC_8x8_FLOAT + VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT, // ASTC_10x5_FLOAT + VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT, // ASTC_10x6_FLOAT + VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT, // ASTC_10x8_FLOAT + VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT, // ASTC_10x10_FLOAT + VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT, // ASTC_12x10_FLOAT + VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK // ASTC_12x12_FLOAT }; SDL_COMPILE_TIME_ASSERT(SDLToVK_TextureFormat, SDL_arraysize(SDLToVK_TextureFormat) == SDL_GPU_TEXTUREFORMAT_MAX_ENUM_VALUE);