summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>2020-07-09 15:21:32 -0400
committerMarge Bot <eric+marge@anholt.net>2020-07-16 19:59:43 +0000
commit6ffebfbff8a6bc8b4ec14946037378c45136223b (patch)
treeb9136e5bff10764707f3473a8f1ef8ab982d9bfb
parent721b5c6eef64ab968373cb977503c63c2c6f2d01 (diff)
panfrost: Fix sRGB clear colour packing
It should be sRGB transformed first, which the generic path handles but the RGBA8 special path does not. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858>
-rw-r--r--.gitlab-ci/deqp-panfrost-t860-fails.txt3
-rw-r--r--src/gallium/drivers/panfrost/pan_job.c2
2 files changed, 1 insertions, 4 deletions
diff --git a/.gitlab-ci/deqp-panfrost-t860-fails.txt b/.gitlab-ci/deqp-panfrost-t860-fails.txt
index 26dda2d4439..93de93424e6 100644
--- a/.gitlab-ci/deqp-panfrost-t860-fails.txt
+++ b/.gitlab-ci/deqp-panfrost-t860-fails.txt
@@ -15,9 +15,6 @@ dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_x
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_y
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_x
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_y
-dEQP-GLES3.functional.fbo.color.repeated_clear.blit.rbo.srgb8_alpha8
-dEQP-GLES3.functional.fbo.color.repeated_clear.blit.tex2d.srgb8_alpha8
-dEQP-GLES3.functional.fbo.color.repeated_clear.sample.tex2d.srgb8_alpha8
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_color
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_depth
dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_stencil
diff --git a/src/gallium/drivers/panfrost/pan_job.c b/src/gallium/drivers/panfrost/pan_job.c
index 365b4ccdb3a..c495d6133e6 100644
--- a/src/gallium/drivers/panfrost/pan_job.c
+++ b/src/gallium/drivers/panfrost/pan_job.c
@@ -1324,7 +1324,7 @@ pan_pack_color(uint32_t *packed, const union pipe_color_union *color, enum pipe_
const struct util_format_description *desc =
util_format_description(format);
- if (util_format_is_rgba8_variant(desc)) {
+ if (util_format_is_rgba8_variant(desc) && desc->colorspace != UTIL_FORMAT_COLORSPACE_SRGB) {
pan_pack_color_32(packed,
((uint32_t) float_to_ubyte(clear_alpha) << 24) |
((uint32_t) float_to_ubyte(color->f[2]) << 16) |