anv: Respect ISL_SURF_USAGE_DISABLE_AUX_BIT in make_surface()
authorChad Versace <chadversary@chromium.org>
Wed, 30 Oct 2019 16:15:48 +0000 (09:15 -0700)
committerMarge Bot <eric+marge@anholt.net>
Wed, 12 Feb 2020 21:34:02 +0000 (21:34 +0000)
If set, then don't make the aux surface.

Only anv_android.c used the flag, but anv_image.c fully ignored it.

Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3797>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3797>

src/intel/vulkan/anv_image.c

index e55d6b2db8bbe42b0089b9ef8cdadefb9a345f2a..83dcdb18668cf1903a36915a92fdc29eaae215d5 100644 (file)
@@ -409,9 +409,10 @@ make_surface(struct anv_device *device,
       add_surface(image, &image->planes[plane].shadow_surface, plane);
    }
 
-   /* Add a HiZ surface to a depth buffer that will be used for rendering.
-    */
-   if (aspect == VK_IMAGE_ASPECT_DEPTH_BIT) {
+   /* Add aux surface. */
+   if ((isl_extra_usage_flags & ISL_SURF_USAGE_DISABLE_AUX_BIT)) {
+      /* Nevermind. No aux surface. */
+   } else if (aspect == VK_IMAGE_ASPECT_DEPTH_BIT) {
       /* We don't advertise that depth buffers could be used as storage
        * images.
        */