Turn 'TxtrAssetToDxgiFormat' into constant table

Turned into an actual constant.
This commit is contained in:
Kawe Mazidjatari 2023-04-02 01:40:28 +02:00
parent cd40081a20
commit b648378574
2 changed files with 66 additions and 67 deletions

View File

@ -188,77 +188,76 @@ inline int DxgiFormatToTxtrAsset(DXGI_FORMAT dxgi)
case DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM: return 59;
case DXGI_FORMAT_D32_FLOAT : return 60;
case DXGI_FORMAT_D16_UNORM : return 61;
default : return 0;
}
}
// Map txtr asset format to dxgi format
inline DXGI_FORMAT TxtrAssetToDxgiFormat(int txtr)
static const DXGI_FORMAT g_TxtrAssetToDxgiFormat[] =
{
switch (txtr)
{
case 0 : return DXGI_FORMAT_BC1_UNORM;
case 1 : return DXGI_FORMAT_BC1_UNORM_SRGB;
case 2 : return DXGI_FORMAT_BC2_UNORM;
case 3 : return DXGI_FORMAT_BC2_UNORM_SRGB;
case 4 : return DXGI_FORMAT_BC3_UNORM;
case 5 : return DXGI_FORMAT_BC3_UNORM_SRGB;
case 6 : return DXGI_FORMAT_BC4_UNORM;
case 7 : return DXGI_FORMAT_BC4_SNORM;
case 8 : return DXGI_FORMAT_BC5_UNORM;
case 9 : return DXGI_FORMAT_BC5_SNORM;
case 10: return DXGI_FORMAT_BC6H_UF16;
case 11: return DXGI_FORMAT_BC6H_SF16;
case 12: return DXGI_FORMAT_BC7_UNORM;
case 13: return DXGI_FORMAT_BC7_UNORM_SRGB;
case 14: return DXGI_FORMAT_R32G32B32A32_FLOAT;
case 15: return DXGI_FORMAT_R32G32B32A32_UINT;
case 16: return DXGI_FORMAT_R32G32B32A32_SINT;
case 17: return DXGI_FORMAT_R32G32B32_FLOAT;
case 18: return DXGI_FORMAT_R32G32B32_UINT;
case 19: return DXGI_FORMAT_R32G32B32_SINT;
case 20: return DXGI_FORMAT_R16G16B16A16_FLOAT;
case 21: return DXGI_FORMAT_R16G16B16A16_UNORM;
case 22: return DXGI_FORMAT_R16G16B16A16_UINT;
case 23: return DXGI_FORMAT_R16G16B16A16_SNORM;
case 24: return DXGI_FORMAT_R16G16B16A16_SINT;
case 25: return DXGI_FORMAT_R32G32_FLOAT;
case 26: return DXGI_FORMAT_R32G32_UINT;
case 27: return DXGI_FORMAT_R32G32_SINT;
case 28: return DXGI_FORMAT_R10G10B10A2_UNORM;
case 29: return DXGI_FORMAT_R10G10B10A2_UINT;
case 30: return DXGI_FORMAT_R11G11B10_FLOAT;
case 31: return DXGI_FORMAT_R8G8B8A8_UNORM;
case 32: return DXGI_FORMAT_R8G8B8A8_UNORM_SRGB;
case 33: return DXGI_FORMAT_R8G8B8A8_UINT;
case 34: return DXGI_FORMAT_R8G8B8A8_SNORM;
case 35: return DXGI_FORMAT_R8G8B8A8_SINT;
case 36: return DXGI_FORMAT_R16G16_FLOAT;
case 37: return DXGI_FORMAT_R16G16_UNORM;
case 38: return DXGI_FORMAT_R16G16_UINT;
case 39: return DXGI_FORMAT_R16G16_SNORM;
case 40: return DXGI_FORMAT_R16G16_SINT;
case 41: return DXGI_FORMAT_R32_FLOAT;
case 42: return DXGI_FORMAT_R32_UINT;
case 43: return DXGI_FORMAT_R32_SINT;
case 44: return DXGI_FORMAT_R8G8_UNORM;
case 45: return DXGI_FORMAT_R8G8_UINT;
case 46: return DXGI_FORMAT_R8G8_SNORM;
case 47: return DXGI_FORMAT_R8G8_SINT;
case 48: return DXGI_FORMAT_R16_FLOAT;
case 49: return DXGI_FORMAT_R16_UNORM;
case 50: return DXGI_FORMAT_R16_UINT;
case 51: return DXGI_FORMAT_R16_SNORM;
case 52: return DXGI_FORMAT_R16_SINT;
case 53: return DXGI_FORMAT_R8_UNORM;
case 54: return DXGI_FORMAT_R8_UINT;
case 55: return DXGI_FORMAT_R8_SNORM;
case 56: return DXGI_FORMAT_R8_SINT;
case 57: return DXGI_FORMAT_A8_UNORM;
case 58: return DXGI_FORMAT_R9G9B9E5_SHAREDEXP;
case 59: return DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM;
case 60: return DXGI_FORMAT_D32_FLOAT;
case 61: return DXGI_FORMAT_D16_UNORM;
}
DXGI_FORMAT_BC1_UNORM,
DXGI_FORMAT_BC1_UNORM_SRGB,
DXGI_FORMAT_BC2_UNORM,
DXGI_FORMAT_BC2_UNORM_SRGB,
DXGI_FORMAT_BC3_UNORM,
DXGI_FORMAT_BC3_UNORM_SRGB,
DXGI_FORMAT_BC4_UNORM,
DXGI_FORMAT_BC4_SNORM,
DXGI_FORMAT_BC5_UNORM,
DXGI_FORMAT_BC5_SNORM,
DXGI_FORMAT_BC6H_UF16,
DXGI_FORMAT_BC6H_SF16,
DXGI_FORMAT_BC7_UNORM,
DXGI_FORMAT_BC7_UNORM_SRGB,
DXGI_FORMAT_R32G32B32A32_FLOAT,
DXGI_FORMAT_R32G32B32A32_UINT,
DXGI_FORMAT_R32G32B32A32_SINT,
DXGI_FORMAT_R32G32B32_FLOAT,
DXGI_FORMAT_R32G32B32_UINT,
DXGI_FORMAT_R32G32B32_SINT,
DXGI_FORMAT_R16G16B16A16_FLOAT,
DXGI_FORMAT_R16G16B16A16_UNORM,
DXGI_FORMAT_R16G16B16A16_UINT,
DXGI_FORMAT_R16G16B16A16_SNORM,
DXGI_FORMAT_R16G16B16A16_SINT,
DXGI_FORMAT_R32G32_FLOAT,
DXGI_FORMAT_R32G32_UINT,
DXGI_FORMAT_R32G32_SINT,
DXGI_FORMAT_R10G10B10A2_UNORM,
DXGI_FORMAT_R10G10B10A2_UINT,
DXGI_FORMAT_R11G11B10_FLOAT,
DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UINT,
DXGI_FORMAT_R8G8B8A8_SNORM,
DXGI_FORMAT_R8G8B8A8_SINT,
DXGI_FORMAT_R16G16_FLOAT,
DXGI_FORMAT_R16G16_UNORM,
DXGI_FORMAT_R16G16_UINT,
DXGI_FORMAT_R16G16_SNORM,
DXGI_FORMAT_R16G16_SINT,
DXGI_FORMAT_R32_FLOAT,
DXGI_FORMAT_R32_UINT,
DXGI_FORMAT_R32_SINT,
DXGI_FORMAT_R8G8_UNORM,
DXGI_FORMAT_R8G8_UINT,
DXGI_FORMAT_R8G8_SNORM,
DXGI_FORMAT_R8G8_SINT,
DXGI_FORMAT_R16_FLOAT,
DXGI_FORMAT_R16_UNORM,
DXGI_FORMAT_R16_UINT,
DXGI_FORMAT_R16_SNORM,
DXGI_FORMAT_R16_SINT,
DXGI_FORMAT_R8_UNORM,
DXGI_FORMAT_R8_UINT,
DXGI_FORMAT_R8_SNORM,
DXGI_FORMAT_R8_SINT,
DXGI_FORMAT_A8_UNORM,
DXGI_FORMAT_R9G9B9E5_SHAREDEXP,
DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM,
DXGI_FORMAT_D32_FLOAT,
DXGI_FORMAT_D16_UNORM,
};
#endif // TEXTURE_G_H

View File

@ -545,7 +545,7 @@ void RTech::CreateDXTexture(TextureHeader_t* textureHeader, int64_t imageData)
} while (mipLevel != totalStreamedMips);
}
const DXGI_FORMAT dxgiFormat = TxtrAssetToDxgiFormat(textureHeader->m_nImageFormat); // Get dxgi format
const DXGI_FORMAT dxgiFormat = g_TxtrAssetToDxgiFormat[textureHeader->m_nImageFormat]; // Get dxgi format
D3D11_TEXTURE2D_DESC textureDesc{};
textureDesc.Width = textureHeader->m_nWidth >> mipLevel;