DDS: Recognize more formats.

This commit is contained in:
Branimir Karadžić
2024-02-09 21:39:48 -08:00
parent daedacc877
commit af81ff7a3c

View File

@@ -3409,6 +3409,7 @@ namespace bimg
#define DDS_FORMAT_R16_FLOAT 54
#define DDS_FORMAT_R16_UNORM 56
#define DDS_FORMAT_R8_UNORM 61
#define DDS_FORMAT_A8_UNORM 65
#define DDS_FORMAT_R1_UNORM 66
#define DDS_FORMAT_BC1_UNORM 71
#define DDS_FORMAT_BC1_UNORM_SRGB 72
@@ -3426,6 +3427,35 @@ namespace bimg
#define DDS_FORMAT_BC7_UNORM 98
#define DDS_FORMAT_BC7_UNORM_SRGB 99
#define DDS_FORMAT_B4G4R4A4_UNORM 115
#define DDS_FORMAT_ASTC_4X4_UNORM 134
#define DDS_FORMAT_ASTC_4X4_UNORM_SRGB 135
#define DDS_FORMAT_ASTC_5X4_UNORM 138
#define DDS_FORMAT_ASTC_5X4_UNORM_SRGB 139
#define DDS_FORMAT_ASTC_5X5_UNORM 142
#define DDS_FORMAT_ASTC_5X5_UNORM_SRGB 143
#define DDS_FORMAT_ASTC_6X5_UNORM 146
#define DDS_FORMAT_ASTC_6X5_UNORM_SRGB 147
#define DDS_FORMAT_ASTC_6X6_UNORM 150
#define DDS_FORMAT_ASTC_6X6_UNORM_SRGB 151
#define DDS_FORMAT_ASTC_8X5_UNORM 154
#define DDS_FORMAT_ASTC_8X5_UNORM_SRGB 155
#define DDS_FORMAT_ASTC_8X6_UNORM 158
#define DDS_FORMAT_ASTC_8X6_UNORM_SRGB 159
#define DDS_FORMAT_ASTC_8X8_UNORM 162
#define DDS_FORMAT_ASTC_8X8_UNORM_SRGB 163
#define DDS_FORMAT_ASTC_10X5_UNORM 166
#define DDS_FORMAT_ASTC_10X5_UNORM_SRGB 167
#define DDS_FORMAT_ASTC_10X6_UNORM 170
#define DDS_FORMAT_ASTC_10X6_UNORM_SRGB 171
#define DDS_FORMAT_ASTC_10X8_UNORM 174
#define DDS_FORMAT_ASTC_10X8_UNORM_SRGB 175
#define DDS_FORMAT_ASTC_10X10_UNORM 178
#define DDS_FORMAT_ASTC_10X10_UNORM_SRGB 179
#define DDS_FORMAT_ASTC_12X10_UNORM 182
#define DDS_FORMAT_ASTC_12X10_UNORM_SRGB 183
#define DDS_FORMAT_ASTC_12X12_UNORM 186
#define DDS_FORMAT_ASTC_12X12_UNORM_SRGB 187
#define DDS_DX10_DIMENSION_TEXTURE2D 3
#define DDS_DX10_DIMENSION_TEXTURE3D 4
@@ -3553,9 +3583,37 @@ namespace bimg
{ DDS_FORMAT_BC6H_SF16, TextureFormat::BC6H, false },
{ DDS_FORMAT_BC7_UNORM, TextureFormat::BC7, false },
{ DDS_FORMAT_BC7_UNORM_SRGB, TextureFormat::BC7, true },
{ DDS_FORMAT_ASTC_4X4_UNORM, TextureFormat::ASTC4x4, false },
{ DDS_FORMAT_ASTC_4X4_UNORM_SRGB, TextureFormat::ASTC4x4, true },
{ DDS_FORMAT_ASTC_5X4_UNORM, TextureFormat::ASTC5x4, false },
{ DDS_FORMAT_ASTC_5X4_UNORM_SRGB, TextureFormat::ASTC5x4, true },
{ DDS_FORMAT_ASTC_5X5_UNORM, TextureFormat::ASTC5x5, false },
{ DDS_FORMAT_ASTC_5X5_UNORM_SRGB, TextureFormat::ASTC5x5, true },
{ DDS_FORMAT_ASTC_6X5_UNORM, TextureFormat::ASTC6x5, false },
{ DDS_FORMAT_ASTC_6X5_UNORM_SRGB, TextureFormat::ASTC6x5, true },
{ DDS_FORMAT_ASTC_6X6_UNORM, TextureFormat::ASTC6x6, false },
{ DDS_FORMAT_ASTC_6X6_UNORM_SRGB, TextureFormat::ASTC6x6, true },
{ DDS_FORMAT_ASTC_8X5_UNORM, TextureFormat::ASTC8x5, false },
{ DDS_FORMAT_ASTC_8X5_UNORM_SRGB, TextureFormat::ASTC8x5, true },
{ DDS_FORMAT_ASTC_8X6_UNORM, TextureFormat::ASTC8x6, false },
{ DDS_FORMAT_ASTC_8X6_UNORM_SRGB, TextureFormat::ASTC8x6, true },
{ DDS_FORMAT_ASTC_8X8_UNORM, TextureFormat::ASTC8x8, false },
{ DDS_FORMAT_ASTC_8X8_UNORM_SRGB, TextureFormat::ASTC8x8, true },
{ DDS_FORMAT_ASTC_10X5_UNORM, TextureFormat::ASTC10x5, false },
{ DDS_FORMAT_ASTC_10X5_UNORM_SRGB, TextureFormat::ASTC10x5, true },
{ DDS_FORMAT_ASTC_10X6_UNORM, TextureFormat::ASTC10x6, false },
{ DDS_FORMAT_ASTC_10X6_UNORM_SRGB, TextureFormat::ASTC10x6, true },
{ DDS_FORMAT_ASTC_10X8_UNORM, TextureFormat::ASTC10x8, false },
{ DDS_FORMAT_ASTC_10X8_UNORM_SRGB, TextureFormat::ASTC10x8, true },
{ DDS_FORMAT_ASTC_10X10_UNORM, TextureFormat::ASTC10x10, false },
{ DDS_FORMAT_ASTC_10X10_UNORM_SRGB, TextureFormat::ASTC10x10, true },
{ DDS_FORMAT_ASTC_12X10_UNORM, TextureFormat::ASTC12x10, false },
{ DDS_FORMAT_ASTC_12X10_UNORM_SRGB, TextureFormat::ASTC12x10, true },
{ DDS_FORMAT_ASTC_12X12_UNORM, TextureFormat::ASTC12x12, false },
{ DDS_FORMAT_R1_UNORM, TextureFormat::R1, false },
{ DDS_FORMAT_R8_UNORM, TextureFormat::R8, false },
{ DDS_FORMAT_A8_UNORM, TextureFormat::R8, false },
{ DDS_FORMAT_R16_UNORM, TextureFormat::R16, false },
{ DDS_FORMAT_R16_FLOAT, TextureFormat::R16F, false },
{ DDS_FORMAT_R32_UINT, TextureFormat::R32U, false },
@@ -3594,6 +3652,7 @@ namespace bimg
static const TranslateDdsPixelFormat s_translateDdsPixelFormat[] =
{
{ 8, DDPF_LUMINANCE, { 0x000000ff, 0x00000000, 0x00000000, 0x00000000 }, TextureFormat::R8 },
{ 8, DDPF_ALPHA, { 0x00000000, 0x00000000, 0x00000000, 0x000000ff }, TextureFormat::R8 },
{ 16, DDPF_BUMPDUDV, { 0x000000ff, 0x0000ff00, 0x00000000, 0x00000000 }, TextureFormat::RG8S },
{ 16, DDPF_RGB, { 0x0000ffff, 0x00000000, 0x00000000, 0x00000000 }, TextureFormat::R16U },
{ 16, DDPF_RGB|DDPF_ALPHAPIXELS, { 0x0000000f, 0x000000f0, 0x00000f00, 0x0000f000 }, TextureFormat::BGRA4 },