Mesa (master): i965/miptree: Check tex image allocation failures

Topi Pohjolainen tpohjola at kemper.freedesktop.org
Fri Jul 21 21:14:59 UTC 2017


Module: Mesa
Branch: master
Commit: f8894fab0294817481b30e3cc40f6b3ccfe9314d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f8894fab0294817481b30e3cc40f6b3ccfe9314d

Author: Topi Pohjolainen <topi.pohjolainen at intel.com>
Date:   Fri Jul 21 11:17:57 2017 +0300

i965/miptree: Check tex image allocation failures

allowing graceful failure instead of crash on assert later on.

This can be hit, for example, on SNB when trying to allocate
8kx8k CUBE_MAP against isl: x-tiled buffer size becomes
2421161984 exceeding the maximum of 1 << 31 == 2147483648.

Another way to hit this on SNB is with multisampling of over
64-bit formats.

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>

---

 src/mesa/drivers/dri/i965/intel_tex.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/intel_tex.c b/src/mesa/drivers/dri/i965/intel_tex.c
index 82e25fc5ea..7ce2ceb9a2 100644
--- a/src/mesa/drivers/dri/i965/intel_tex.c
+++ b/src/mesa/drivers/dri/i965/intel_tex.c
@@ -95,6 +95,8 @@ intel_alloc_texture_image_buffer(struct gl_context *ctx,
       intel_image->mt = intel_miptree_create_for_teximage(brw, intel_texobj,
                                                           intel_image,
                                                           1 /* samples */);
+      if (!intel_image->mt)
+         return false;
 
       /* Even if the object currently has a mipmap tree associated
        * with it, this one is a more likely candidate to represent the




More information about the mesa-commit mailing list