summaryrefslogtreecommitdiffstats
path: root/src/amd
diff options
context:
space:
mode:
authorSamuel Pitoiset <[email protected]>2018-09-21 11:36:17 +0200
committerJuan A. Suarez Romero <[email protected]>2018-09-24 10:46:02 +0200
commit7796d93382a697ee7e2d03203a2aeb9a06728dc3 (patch)
tree47986a23607403e3d8a8dcdc585e6feb1dbce9d7 /src/amd
parente2607a6da52e2c5f75710c9399ec7b8cd21fce28 (diff)
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: <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107786 Signed-off-by: Samuel Pitoiset <[email protected]> Tested-by: Gregor Münch <gr.muench_at_gmail.com> Reviewed-by: Bas Nieuwenhuizen <[email protected]> (cherry picked from commit fe3f13cc5a8b70dfb27f8b26c059272e251da390)
Diffstat (limited to 'src/amd')
-rw-r--r--src/amd/vulkan/radv_meta_resolve.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/amd/vulkan/radv_meta_resolve.c b/src/amd/vulkan/radv_meta_resolve.c
index b049237ba65..2c8ba5306c0 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)) {