diff options
author | Dave Airlie <airlied@redhat.com> | 2021-12-29 17:32:12 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2021-12-30 14:00:41 +1000 |
commit | d8a38edc48e5567e5f0205b7347761e3d05a4bda (patch) | |
tree | 3f6ec950ff2fea54881c8400221a2609a1fbf531 | |
parent | a2293e33fd1255049b61c57d93eb89d1dc19c1f0 (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.c | 5 |
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"; |