Mesa (staging/20.3): turnip: no linear_to_srgb for alpha channel for gmem clear value packing

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Dec 10 20:43:16 UTC 2020


Module: Mesa
Branch: staging/20.3
Commit: 18fd2554021f16a70b6a83a1afa1a52cfb22d8c8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=18fd2554021f16a70b6a83a1afa1a52cfb22d8c8

Author: Jonathan Marek <jonathan at marek.ca>
Date:   Wed Dec  2 23:23:20 2020 -0500

turnip: no linear_to_srgb for alpha channel for gmem clear value packing

Alpha channel is always linear (oops).

Fixes: ddac5933f8f3 ("turnip: call packing functions directly for pack_gmem_clear_value")

Signed-off-by: Jonathan Marek <jonathan at marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7899>
(cherry picked from commit d7ea266e6f5cdcde5dd880839a057afaa560e97e)

Conflicts:
	.gitlab-ci/deqp-freedreno-a630-fails.txt

---

 .gitlab-ci/deqp-freedreno-a630-fails.txt | 2 --
 .pick_status.json                        | 2 +-
 src/freedreno/vulkan/tu_clear_blit.c     | 2 +-
 3 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/.gitlab-ci/deqp-freedreno-a630-fails.txt b/.gitlab-ci/deqp-freedreno-a630-fails.txt
index b53c4d1839c..e74588f0146 100644
--- a/.gitlab-ci/deqp-freedreno-a630-fails.txt
+++ b/.gitlab-ci/deqp-freedreno-a630-fails.txt
@@ -1,8 +1,6 @@
 # Possibly https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2035 related,Fail
 dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z,Fail
 
-dEQP-VK.api.image_clearing.core.clear_color_attachment.single_layer.a8b8g8r8_srgb_pack32_1x33,Fail
-dEQP-VK.api.image_clearing.dedicated_allocation.clear_color_attachment.single_layer.b8g8r8a8_srgb_33x128,Fail
 dEQP-VK.compute.indirect_dispatch.upload_buffer.multi_dispatch,Fail
 dEQP-VK.draw.output_location.array.r8g8-uint-mediump-output-uint,Fail
 dEQP-VK.memory_model.message_passing.core11.u32.coherent.fence_fence.atomicwrite.device.payload_local.image.guard_nonlocal.workgroup.comp,Fail
diff --git a/.pick_status.json b/.pick_status.json
index 83ab0740916..13e5bed0de7 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -796,7 +796,7 @@
         "description": "turnip: no linear_to_srgb for alpha channel for gmem clear value packing",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "master_sha": null,
         "because_sha": "ddac5933f8f30df66b389c32a634dab16cff5a4c"
     },
diff --git a/src/freedreno/vulkan/tu_clear_blit.c b/src/freedreno/vulkan/tu_clear_blit.c
index a19f91cf77b..30994bec9a2 100644
--- a/src/freedreno/vulkan/tu_clear_blit.c
+++ b/src/freedreno/vulkan/tu_clear_blit.c
@@ -1983,7 +1983,7 @@ pack_gmem_clear_value(const VkClearValue *val, VkFormat format, uint32_t clear_v
    float tmp[4];
    memcpy(tmp, val->color.float32, 4 * sizeof(float));
    if (vk_format_is_srgb(format)) {
-      for (int i = 0; i < 4; i++)
+      for (int i = 0; i < 3; i++)
          tmp[i] = util_format_linear_to_srgb_float(tmp[i]);
    }
 



More information about the mesa-commit mailing list