[Mesa-dev] [RFC v2 12/23] anv: Handle failure in make_hiz_surface_maybe()

Louis-Francis Ratté-Boulianne lfrb at collabora.com
Thu Aug 31 04:24:16 UTC 2017


From: Chad Versace <chadversary at chromium.org>

make_ccs_surface_maybe() correctly handles failure
isl_surf_get_ccs_surf(). When it fails, the resultant VkImage is still
valid, just without a ccs surface.

Same of make_mcs_surface_maybe() and isl_surf_get_mcs_surf().

Fix make_hiz_surface_maybe() to do the same.
---
 src/intel/vulkan/anv_image.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c
index c225113987..25f834b6c7 100644
--- a/src/intel/vulkan/anv_image.c
+++ b/src/intel/vulkan/anv_image.c
@@ -239,7 +239,9 @@ make_hiz_surface_maybe(const struct anv_device *dev,
    } else {
       ok = isl_surf_get_hiz_surf(&dev->isl_dev, &image->depth_surface.isl,
                                  &image->aux_surface.isl);
-      assert(ok);
+      if (!ok)
+         return;
+
       add_surface(image, &image->aux_surface);
       image->aux_usage = ISL_AUX_USAGE_HIZ;
    }
-- 
2.13.0



More information about the mesa-dev mailing list