summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2021-12-29 17:32:12 +1000
committerDave Airlie <airlied@redhat.com>2021-12-30 14:00:41 +1000
commitd8a38edc48e5567e5f0205b7347761e3d05a4bda (patch)
tree3f6ec950ff2fea54881c8400221a2609a1fbf531
parenta2293e33fd1255049b61c57d93eb89d1dc19c1f0 (diff)
crocus: fail resource allocation properly.
Older gens have a limit of 2GB on surfaces, this results in isl_surf_init_s failing if the surface exceeds that, in this case this should fail all the way back up the stack. This fixes some cases of max-texture-size on crocus Fixes: f3630548f1da ("crocus: initial gallium driver for Intel gfx 4-7") Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14347>
-rw-r--r--src/gallium/drivers/crocus/crocus_resource.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gallium/drivers/crocus/crocus_resource.c b/src/gallium/drivers/crocus/crocus_resource.c
index 4962be3f650..9d4336d3317 100644
--- a/src/gallium/drivers/crocus/crocus_resource.c
+++ b/src/gallium/drivers/crocus/crocus_resource.c
@@ -688,9 +688,10 @@ crocus_resource_create_with_modifiers(struct pipe_screen *pscreen,
devinfo->ver < 6)
return NULL;
- UNUSED const bool isl_surf_created_successfully =
+ const bool isl_surf_created_successfully =
crocus_resource_configure_main(screen, res, templ, modifier, 0);
- assert(isl_surf_created_successfully);
+ if (!isl_surf_created_successfully)
+ return NULL;
const char *name = "miptree";