radv: use compute path for multi-layer images.
authorDave Airlie <airlied@redhat.com>
Fri, 11 May 2018 04:55:29 +0000 (14:55 +1000)
committerDave Airlie <airlied@redhat.com>
Sun, 13 May 2018 22:57:54 +0000 (08:57 +1000)
I don't think the hw resolve path can't handle multi-layer images.

This fixes all the:
dEQP-VK.renderpass.multisample_resolve.layers_*
tests on my VI card.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Cc: <mesa-stable@lists.freedesktop.org>
src/amd/vulkan/radv_meta_resolve.c

index 75916713c0078999a9cc1b4102fbc672a4da029b..d4d3552f317a1676bb331a28c4e1dc15ebbdcc84 100644 (file)
@@ -358,6 +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)
+               *method = RESOLVE_COMPUTE;
        
        if (radv_layout_dcc_compressed(dest_image, dest_image_layout, queue_mask)) {
                *method = RESOLVE_FRAGMENT;