Browse Source

GPU: ASTC block size fixes (#11157)

Caleb Cornett 6 months ago
parent
commit
3db10a6b2c

+ 163 - 12
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);
 }
 

+ 47 - 46
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) {

+ 42 - 42
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);
 

+ 42 - 42
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);
 

+ 42 - 42
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);