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 03:46:16 UTC 2020


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

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 | 13 -------------
 .pick_status.json                        |  2 +-
 src/freedreno/vulkan/tu_clear_blit.c     |  2 +-
 3 files changed, 2 insertions(+), 15 deletions(-)

diff --git a/.gitlab-ci/deqp-freedreno-a630-fails.txt b/.gitlab-ci/deqp-freedreno-a630-fails.txt
index b53c4d1839c..ae8a968b619 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
@@ -13,14 +11,3 @@ dEQP-VK.spirv_assembly.instruction.graphics.opquantize.spec_const_positive_round
 dEQP-VK.tessellation.invariance.outer_edge_index_independence.quads_fractional_even_spacing_ccw_point_mode,Fail
 dEQP-VK.tessellation.invariance.outer_edge_symmetry.triangles_fractional_odd_spacing_cw_point_mode,Fail
 
-KHR-GL30.transform_feedback.api_errors_test,Fail
-KHR-GL30.transform_feedback.capture_vertex_interleaved_test,Fail
-KHR-GL30.transform_feedback.capture_vertex_separate_test,Fail
-KHR-GL30.transform_feedback.discard_vertex_test,Fail
-KHR-GL30.transform_feedback.draw_xfb_feedbackk_test,Crash
-KHR-GL30.transform_feedback.draw_xfb_instanced_test,Crash
-KHR-GL30.transform_feedback.draw_xfb_stream_instanced_test,Crash
-KHR-GL30.transform_feedback.draw_xfb_test,Crash
-KHR-GL30.transform_feedback.get_xfb_varying,Fail
-KHR-GL30.transform_feedback.query_vertex_interleaved_test,Fail
-KHR-GL30.transform_feedback.query_vertex_separate_test,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