turnip: no linear_to_srgb for alpha channel for gmem clear value packing
authorJonathan Marek <jonathan@marek.ca>
Thu, 3 Dec 2020 04:23:20 +0000 (23:23 -0500)
committerJonathan Marek <jonathan@marek.ca>
Tue, 8 Dec 2020 18:16:09 +0000 (13:16 -0500)
Alpha channel is always linear (oops).

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

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7899>

.gitlab-ci/deqp-freedreno-a630-fails.txt
src/freedreno/vulkan/tu_clear_blit.c

index 545f9b5..b67513e 100644 (file)
@@ -1,9 +1,4 @@
 
-dEQP-VK.api.image_clearing.core.clear_color_attachment.single_layer.a8b8g8r8_srgb_pack32_1x33,Fail
-dEQP-VK.api.image_clearing.core.partial_clear_color_attachment.single_layer.a8b8g8r8_srgb_pack32_200x180,Fail
-dEQP-VK.api.image_clearing.dedicated_allocation.clear_color_attachment.single_layer.b8g8r8a8_srgb_33x128,Fail
-dEQP-VK.api.image_clearing.dedicated_allocation.clear_color_attachment.single_layer.r8g8b8a8_srgb_200x180,Fail
-dEQP-VK.api.image_clearing.dedicated_allocation.partial_clear_color_attachment.single_layer.r8g8b8a8_srgb,Fail
 dEQP-VK.api.object_management.single_alloc_callbacks.compute_pipeline,Fail
 dEQP-VK.compute.indirect_dispatch.gen_in_compute.large_offset,Fail
 dEQP-VK.compute.indirect_dispatch.upload_buffer.small_offset,Fail
index 2a7e636..57b0f3e 100644 (file)
@@ -2091,7 +2091,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]);
    }