panfrost: Fix panfrost_afbc_format_needs_fixup()

This function returns true for PIPE_FORMAT_R8G8B8X8_UNORM, which is
wrong.

Fixes: 44217be921 ("panfrost: Adjust the format for AFBC textures on Bifrost v7")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8466>
This commit is contained in:
Boris Brezillon
2021-01-13 10:04:02 +01:00
committed by Marge Bot
parent 001c1105f1
commit 09bf6910b0
2 changed files with 9 additions and 7 deletions
-6
View File
@@ -1,9 +1,3 @@
dEQP-GLES3.functional.fbo.blit.conversion.rgb8_to_rgba4,Fail
dEQP-GLES3.functional.fbo.blit.conversion.rgb8_to_srgb8_alpha8,Fail
dEQP-GLES3.functional.fbo.blit.default_framebuffer.rgb8,Fail
dEQP-GLES3.functional.fbo.blit.default_framebuffer.rgb8_linear_out_of_bounds_blit_to_default,Fail
dEQP-GLES3.functional.fbo.blit.default_framebuffer.rgb8_linear_scale_blit_to_default,Fail
dEQP-GLES3.functional.fbo.blit.default_framebuffer.rgb8_nearest_scale_blit_to_default,Fail
dEQP-GLES3.functional.transform_feedback.random.interleaved.lines.9,Fail
dEQP-GLES3.functional.transform_feedback.random.interleaved.points.1,Fail
dEQP-GLES3.functional.transform_feedback.random.interleaved.points.3,Fail
+9 -1
View File
@@ -151,8 +151,16 @@ panfrost_afbc_format_needs_fixup(const struct panfrost_device *dev,
const struct util_format_description *desc =
util_format_description(format);
unsigned nr_channels = desc->nr_channels;
/* rgb1 is a valid component order, don't test channel 3 in that
* case.
*/
if (nr_channels == 4 && desc->swizzle[3] == PIPE_SWIZZLE_1)
nr_channels = 3;
bool identity_swizzle = true;
for (unsigned c = 0; c < desc->nr_channels; c++) {
for (unsigned c = 0; c < nr_channels; c++) {
if (desc->swizzle[c] != c) {
identity_swizzle = false;
break;