Mesa (master): anv/image: Remove extra dependency on HiZ-specific variable

Nanley Chery nchery at kemper.freedesktop.org
Thu Mar 2 21:18:27 UTC 2017


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

Author: Nanley Chery <nanley.g.chery at intel.com>
Date:   Tue Feb 21 18:17:59 2017 -0800

anv/image: Remove extra dependency on HiZ-specific variable

surf_usage is only useful to image views that may use HiZ buffers.
Storage image views don't use HiZ buffers.

v2: Update commit message and add an assertion.

Fixes: 055ff2ec521 ("anv: Replace anv_image_has_hiz() with ISL_AUX_USAGE_HIZ")
Signed-off-by: Nanley Chery <nanley.g.chery at intel.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

---

 src/intel/vulkan/anv_image.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c
index 4791465..0c41ed3 100644
--- a/src/intel/vulkan/anv_image.c
+++ b/src/intel/vulkan/anv_image.c
@@ -180,6 +180,11 @@ make_surface(const struct anv_device *dev,
    /* Add a HiZ surface to a depth buffer that will be used for rendering.
     */
    if (aspect == VK_IMAGE_ASPECT_DEPTH_BIT) {
+      /* We don't advertise that depth buffers could be used as storage
+       * images.
+       */
+       assert(!(image->usage & VK_IMAGE_USAGE_STORAGE_BIT));
+
       /* Allow the user to control HiZ enabling. Disable by default on gen7
        * because resolves are not currently implemented pre-BDW.
        */
@@ -738,7 +743,7 @@ anv_CreateImageView(VkDevice _device,
                           .surf = &surface->isl,
                           .view = &view,
                           .aux_surf = &image->aux_surface.isl,
-                          .aux_usage = surf_usage,
+                          .aux_usage = image->aux_usage,
                           .mocs = device->default_mocs);
 
       if (isl_has_matching_typed_storage_image_format(&device->info,
@@ -755,7 +760,7 @@ anv_CreateImageView(VkDevice _device,
                              .surf = &surface->isl,
                              .view = &view,
                              .aux_surf = &image->aux_surface.isl,
-                             .aux_usage = surf_usage,
+                             .aux_usage = image->aux_usage,
                              .mocs = device->default_mocs);
       } else {
          anv_fill_buffer_surface_state(device, iview->storage_surface_state,




More information about the mesa-commit mailing list