GPU: ASTC block size fixes (#11157)

This commit is contained in:
Caleb Cornett
2024-10-10 18:40:21 -04:00
committed by GitHub
parent 90a3a2359b
commit 3db10a6b2c
5 changed files with 336 additions and 184 deletions

View File

@@ -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);