diff --git a/src/intel/isl/isl_genX_helpers.h b/src/intel/isl/isl_genX_helpers.h index 4fd83393d7c..470b691a851 100644 --- a/src/intel/isl/isl_genX_helpers.h +++ b/src/intel/isl/isl_genX_helpers.h @@ -204,29 +204,41 @@ isl_get_qpitch(const struct isl_surf *surf) UNUSED static uint8_t isl_get_render_compression_format(enum isl_format format) { - /* From the Bspec, Enumeration_UNIFIED_COMPRESSION_FORMAT section (63919): */ + /* Bspec 63919 (r47142) Enumeration_UNIFIED_COMPRESSION_FORMAT: + * + * Table "[Enumeration] UNIFIED_COMPRESSION_FORMAT" + */ switch(format) { case ISL_FORMAT_R8_UNORM: case ISL_FORMAT_R8_UINT: - case ISL_FORMAT_A8_UNORM: case ISL_FORMAT_R8_SNORM: case ISL_FORMAT_R8_SINT: + case ISL_FORMAT_A8_UNORM: case ISL_FORMAT_R24_UNORM_X8_TYPELESS: return CMF_R8; + case ISL_FORMAT_R8G8_UNORM: + case ISL_FORMAT_R8G8_UINT: case ISL_FORMAT_R8G8_SNORM: case ISL_FORMAT_R8G8_SINT: + case ISL_FORMAT_B5G6R5_UNORM: + case ISL_FORMAT_B5G6R5_UNORM_SRGB: + case ISL_FORMAT_B5G5R5A1_UNORM: + case ISL_FORMAT_B5G5R5A1_UNORM_SRGB: + case ISL_FORMAT_B4G4R4A4_UNORM: + case ISL_FORMAT_B4G4R4A4_UNORM_SRGB: + case ISL_FORMAT_B5G5R5X1_UNORM: + case ISL_FORMAT_B5G5R5X1_UNORM_SRGB: + case ISL_FORMAT_A1B5G5R5_UNORM: + case ISL_FORMAT_A4B4G4R4_UNORM: return CMF_R8_G8; - case ISL_FORMAT_B8G8R8A8_UNORM: - case ISL_FORMAT_B8G8R8X8_UNORM: - case ISL_FORMAT_B8G8R8A8_UNORM_SRGB: - case ISL_FORMAT_B8G8R8X8_UNORM_SRGB: case ISL_FORMAT_R8G8B8A8_UNORM: - case ISL_FORMAT_R8G8B8X8_UNORM: - case ISL_FORMAT_R8G8B8A8_UNORM_SRGB: - case ISL_FORMAT_R8G8B8X8_UNORM_SRGB: case ISL_FORMAT_R8G8B8A8_UINT: case ISL_FORMAT_R8G8B8A8_SNORM: case ISL_FORMAT_R8G8B8A8_SINT: + case ISL_FORMAT_R8G8B8A8_UNORM_SRGB: + case ISL_FORMAT_B8G8R8A8_UNORM_SRGB: + case ISL_FORMAT_B8G8R8A8_UNORM: + case ISL_FORMAT_B8G8R8X8_UNORM: return CMF_R8_G8_B8_A8; case ISL_FORMAT_R10G10B10A2_UNORM: case ISL_FORMAT_R10G10B10A2_UNORM_SRGB: @@ -251,38 +263,57 @@ isl_get_render_compression_format(enum isl_format format) case ISL_FORMAT_R16G16_FLOAT: return CMF_R16_G16; case ISL_FORMAT_R16G16B16A16_UNORM: - case ISL_FORMAT_R16G16B16X16_UNORM: case ISL_FORMAT_R16G16B16A16_UINT: case ISL_FORMAT_R16G16B16A16_SNORM: case ISL_FORMAT_R16G16B16A16_SINT: case ISL_FORMAT_R16G16B16A16_FLOAT: case ISL_FORMAT_R16G16B16X16_FLOAT: return CMF_R16_G16_B16_A16; + case ISL_FORMAT_R32_UNORM: + case ISL_FORMAT_R32_UINT: + case ISL_FORMAT_R32_SNORM: case ISL_FORMAT_R32_SINT: case ISL_FORMAT_R32_FLOAT: - case ISL_FORMAT_R32_UINT: return CMF_R32; - case ISL_FORMAT_R32G32_FLOAT: - case ISL_FORMAT_R32G32_SINT: + case ISL_FORMAT_R32G32_UNORM: case ISL_FORMAT_R32G32_UINT: + case ISL_FORMAT_R32G32_SNORM: + case ISL_FORMAT_R32G32_SINT: + case ISL_FORMAT_R32G32_FLOAT: return CMF_R32_G32; + case ISL_FORMAT_R32G32B32A32_UNORM: + case ISL_FORMAT_R32G32B32A32_UINT: + case ISL_FORMAT_R32G32B32A32_SNORM: + case ISL_FORMAT_R32G32B32A32_SINT: case ISL_FORMAT_R32G32B32A32_FLOAT: case ISL_FORMAT_R32G32B32X32_FLOAT: - case ISL_FORMAT_R32G32B32A32_SINT: - case ISL_FORMAT_R32G32B32A32_UINT: return CMF_R32_G32_B32_A32; - case ISL_FORMAT_B5G6R5_UNORM: - case ISL_FORMAT_B5G6R5_UNORM_SRGB: - case ISL_FORMAT_B5G5R5A1_UNORM: - case ISL_FORMAT_B5G5R5A1_UNORM_SRGB: - case ISL_FORMAT_B4G4R4A4_UNORM: - case ISL_FORMAT_B4G4R4A4_UNORM_SRGB: - case ISL_FORMAT_B5G5R5X1_UNORM: - case ISL_FORMAT_B5G5R5X1_UNORM_SRGB: - case ISL_FORMAT_A1B5G5R5_UNORM: - case ISL_FORMAT_A4B4G4R4_UNORM: - case ISL_FORMAT_R8G8_UNORM: - case ISL_FORMAT_R8G8_UINT: + case ISL_FORMAT_EAC_R11: + case ISL_FORMAT_EAC_RG11: + case ISL_FORMAT_EAC_SIGNED_R11: + case ISL_FORMAT_EAC_SIGNED_RG11: + case ISL_FORMAT_ETC1_RGB8: + case ISL_FORMAT_ETC2_RGB8: + case ISL_FORMAT_ETC2_SRGB8: + case ISL_FORMAT_ETC2_RGB8_PTA: + case ISL_FORMAT_ETC2_SRGB8_PTA: + case ISL_FORMAT_ETC2_EAC_RGBA8: + case ISL_FORMAT_ETC2_EAC_SRGB8_A8: + case ISL_FORMAT_BC1_UNORM: + case ISL_FORMAT_BC2_UNORM: + case ISL_FORMAT_BC3_UNORM: + case ISL_FORMAT_BC4_UNORM: + case ISL_FORMAT_BC5_UNORM: + case ISL_FORMAT_BC1_UNORM_SRGB: + case ISL_FORMAT_BC2_UNORM_SRGB: + case ISL_FORMAT_BC3_UNORM_SRGB: + case ISL_FORMAT_BC4_SNORM: + case ISL_FORMAT_BC5_SNORM: + case ISL_FORMAT_BC6H_SF16: + case ISL_FORMAT_BC7_UNORM: + case ISL_FORMAT_BC7_UNORM_SRGB: + case ISL_FORMAT_BC6H_UF16: + return CMF_ML8; default: unreachable("Unsupported render compression format!"); return 0;