iris: assert isl_surf_init success in resource_from_handle
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Wed, 29 May 2019 20:27:39 +0000 (16:27 -0400)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 2 Jul 2019 22:39:44 +0000 (15:39 -0700)
this can fail unexpectedly due to bugs, so it's good to provide feedback
when this occurs

Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
src/gallium/drivers/iris/iris_resource.c

index 8b7640a..00e504a 100644 (file)
@@ -782,20 +782,21 @@ iris_resource_from_handle(struct pipe_screen *pscreen,
    if (templ->target == PIPE_BUFFER) {
       res->surf.tiling = ISL_TILING_LINEAR;
    } else {
-      isl_surf_init(&screen->isl_dev, &res->surf,
-                    .dim = target_to_isl_surf_dim(templ->target),
-                    .format = fmt.fmt,
-                    .width = templ->width0,
-                    .height = templ->height0,
-                    .depth = templ->depth0,
-                    .levels = templ->last_level + 1,
-                    .array_len = templ->array_size,
-                    .samples = MAX2(templ->nr_samples, 1),
-                    .min_alignment_B = 0,
-                    .row_pitch_B = whandle->stride,
-                    .usage = isl_usage,
-                    .tiling_flags = 1 << res->mod_info->tiling);
-
+      UNUSED const bool isl_surf_created_successfully =
+         isl_surf_init(&screen->isl_dev, &res->surf,
+                       .dim = target_to_isl_surf_dim(templ->target),
+                       .format = fmt.fmt,
+                       .width = templ->width0,
+                       .height = templ->height0,
+                       .depth = templ->depth0,
+                       .levels = templ->last_level + 1,
+                       .array_len = templ->array_size,
+                       .samples = MAX2(templ->nr_samples, 1),
+                       .min_alignment_B = 0,
+                       .row_pitch_B = whandle->stride,
+                       .usage = isl_usage,
+                       .tiling_flags = 1 << res->mod_info->tiling);
+      assert(isl_surf_created_successfully);
       assert(res->bo->tiling_mode ==
              isl_tiling_to_i915_tiling(res->surf.tiling));