Module: Mesa Branch: main Commit: 0be0ad102eef2e2e447b4a1b42d37159c70ff0b2 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0be0ad102eef2e2e447b4a1b42d37159c70ff0b2
Author: Samuel Pitoiset <[email protected]> Date: Wed Aug 18 17:25:22 2021 +0200 radv: keep depth/stencil images compressed for TRANSFER_DST on compute Only if the image is TC-compat HTILE because it can be decompressed on compute for partial copies. This should remove few depth/stencil decompressions for RAGE2 and Red Dead Redemption 2 because they declare all images as concurrent but never use the compute queue for them. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12452> --- src/amd/vulkan/radv_image.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c index 005ddae0c51..ba119f010ea 100644 --- a/src/amd/vulkan/radv_image.c +++ b/src/amd/vulkan/radv_image.c @@ -2063,7 +2063,8 @@ radv_layout_is_htile_compressed(const struct radv_device *device, const struct r case VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR: return radv_image_has_htile(image); case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: - return radv_image_has_htile(image) && queue_mask == (1u << RADV_QUEUE_GENERAL); + return radv_image_is_tc_compat_htile(image) || + (radv_image_has_htile(image) && queue_mask == (1u << RADV_QUEUE_GENERAL)); case VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR: case VK_IMAGE_LAYOUT_GENERAL: /* It should be safe to enable TC-compat HTILE with
