Commit 3547e19b authored by Sagar Ghuge's avatar Sagar Ghuge Committed by Marge Bot
Browse files

intel/isl: Switch to R8_UNORM format for compatiblity

Gen12 added CCS_E support for A8_UNORM. Intercept A8_UNORM format and
switch to R8_UNORM, as both share the same aux map format encoding so
they are compatible.

Fixes Piglit's ext_framebuffer_multisample-formats all_samples, which
was hitting an assert about A8_UNORM and R8_UINT not being CCS_E
compatible formats.

v2: Add gen check (Kenneth Graunke)

v3: Intercept A8_UNORM and set format to R8_UNORM (Jason Ekstrand)

- Remove gen check and move block little bit down (Jason Ekstrand)
Signed-off-by: Sagar Ghuge's avatarSagar Ghuge <>
Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <>
Reviewed-by: Jason Ekstrand's avatarJason Ekstrand <>
Tested-by: Marge Bot <mesa/mesa!3719>
Part-of: <mesa/mesa!3719>
parent 207a93bb
......@@ -928,6 +928,15 @@ isl_formats_are_ccs_e_compatible(const struct gen_device_info *devinfo,
!isl_format_supports_ccs_e(devinfo, format2))
return false;
/* Gen12 added CCS_E support for A8_UNORM, A8_UNORM and R8_UNORM share the
* same aux map format encoding so they are definitely compatible.
if (format1 == ISL_FORMAT_A8_UNORM)
format1 = ISL_FORMAT_R8_UNORM;
if (format2 == ISL_FORMAT_A8_UNORM)
format2 = ISL_FORMAT_R8_UNORM;
const struct isl_format_layout *fmtl1 = isl_format_get_layout(format1);
const struct isl_format_layout *fmtl2 = isl_format_get_layout(format2);
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment