Mesa (master): anv: Do not sample from 3d depth image with HiZ

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Apr 1 20:23:27 UTC 2020


Module: Mesa
Branch: master
Commit: e47bf7dadff612694cf61eedbabc7b313766053f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e47bf7dadff612694cf61eedbabc7b313766053f

Author: Danylo Piliaiev <danylo.piliaiev at globallogic.com>
Date:   Wed Apr  1 18:41:03 2020 +0300

anv: Do not sample from 3d depth image with HiZ

For Gen8-11, there are some restrictions around sampling from HiZ.
The Skylake PRM docs for RENDER_SURFACE_STATE::AuxiliarySurfaceMode
say:

    "If this field is set to AUX_HIZ, Number of Multisamples must
    be MULTISAMPLECOUNT_1, and Surface Type cannot be SURFTYPE_3D."

Fixes: dEQP-VK.geometry.layered.3d.*.readback

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2720
Signed-off-by: Danylo Piliaiev <danylo.piliaiev at globallogic.com>
Reviewed-by: Arcady Goldmints-Orlov <agoldmints at igalia.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4409>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4409>

---

 src/intel/vulkan/anv_private.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index d4e237025d0..d7134101c20 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -3684,6 +3684,16 @@ anv_can_sample_with_hiz(const struct gen_device_info * const devinfo,
    if (!(image->aspects & VK_IMAGE_ASPECT_DEPTH_BIT))
       return false;
 
+   /* For Gen8-11, there are some restrictions around sampling from HiZ.
+    * The Skylake PRM docs for RENDER_SURFACE_STATE::AuxiliarySurfaceMode
+    * say:
+    *
+    *    "If this field is set to AUX_HIZ, Number of Multisamples must
+    *    be MULTISAMPLECOUNT_1, and Surface Type cannot be SURFTYPE_3D."
+    */
+   if (image->type == VK_IMAGE_TYPE_3D)
+      return false;
+
    /* Allow this feature on BDW even though it is disabled in the BDW devinfo
     * struct. There's documentation which suggests that this feature actually
     * reduces performance on BDW, but it has only been observed to help so



More information about the mesa-commit mailing list