From 2afdee0cdb91de9925a8b83df88bc187b1b6fefa Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 14 Jul 2021 20:05:54 +0200 Subject: [PATCH] radv: only init the TC-compat ZRANGE metadata for the depth aspect With separate depth/stencil layouts, if the depth aspect is first initialized and then cleared, the ZRANGE_PRECISION metadata might be different than 0. Initializing it again for the stencil aspect will overwrite the value. Fixes rendering glitches with Scarlet Nexus on GFX8-9. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5052 Cc: 21.1 21.2 mesa-stable Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen Part-of: (cherry picked from commit 1ea156f44c7ce8d6880217ef4d46692cc7ac0219) --- .pick_status.json | 2 +- src/amd/vulkan/radv_cmd_buffer.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index d32f7959278..c825e1554c8 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1867,7 +1867,7 @@ "description": "radv: only init the TC-compat ZRANGE metadata for the depth aspect", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 7ad9fd625a0..82e6fb44940 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -5956,7 +5956,7 @@ radv_initialize_htile(struct radv_cmd_buffer *cmd_buffer, struct radv_image *ima radv_set_ds_clear_metadata(cmd_buffer, image, range, value, aspects); - if (radv_image_is_tc_compat_htile(image)) { + if (radv_image_is_tc_compat_htile(image) && (range->aspectMask & VK_IMAGE_ASPECT_DEPTH_BIT)) { /* Initialize the TC-compat metada value to 0 because by * default DB_Z_INFO.RANGE_PRECISION is set to 1, and we only * need have to conditionally update its value when performing