Mesa (18.2): radv: use the resolve compute path if dest uses multiple layers

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Oct 3 12:42:50 UTC 2018


Module: Mesa
Branch: 18.2
Commit: 7796d93382a697ee7e2d03203a2aeb9a06728dc3
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7796d93382a697ee7e2d03203a2aeb9a06728dc3

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Fri Sep 21 11:36:17 2018 +0200

radv: use the resolve compute path if dest uses multiple layers

The hardware path doesn't support resolving layers, for both
source and destination images.

This fixes a reflection issue when MSAA is enabled which
affects GTA V and probably DIRT3.

CC: <mesa-stable at lists.freedesktop.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107786
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Tested-by: Gregor Münch <gr.muench_at_gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
(cherry picked from commit fe3f13cc5a8b70dfb27f8b26c059272e251da390)

---

 src/amd/vulkan/radv_meta_resolve.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/amd/vulkan/radv_meta_resolve.c b/src/amd/vulkan/radv_meta_resolve.c
index b049237ba6..2c8ba5306c 100644
--- a/src/amd/vulkan/radv_meta_resolve.c
+++ b/src/amd/vulkan/radv_meta_resolve.c
@@ -358,7 +358,8 @@ static void radv_pick_resolve_method_images(struct radv_image *src_image,
 		*method = RESOLVE_COMPUTE;
 	else if (vk_format_is_int(src_image->vk_format))
 		*method = RESOLVE_COMPUTE;
-	else if (src_image->info.array_size > 1)
+	else if (src_image->info.array_size > 1 ||
+		 dest_image->info.array_size > 1)
 		*method = RESOLVE_COMPUTE;
 	
 	if (radv_layout_dcc_compressed(dest_image, dest_image_layout, queue_mask)) {




More information about the mesa-commit mailing list