From d8a38edc48e5567e5f0205b7347761e3d05a4bda Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 29 Dec 2021 17:32:12 +1000 Subject: [PATCH] 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 Part-of: --- src/gallium/drivers/crocus/crocus_resource.c | 5 +++-- 1 file 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";