From: Topi Pohjolainen Date: Fri, 21 Jul 2017 08:17:57 +0000 (+0300) Subject: i965/miptree: Check tex image allocation failures X-Git-Tag: android-x86-8.1-r1~11436 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=f8894fab0294817481b30e3cc40f6b3ccfe9314d;p=android-x86%2Fexternal-mesa.git 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 Signed-off-by: Topi Pohjolainen --- diff --git a/src/mesa/drivers/dri/i965/intel_tex.c b/src/mesa/drivers/dri/i965/intel_tex.c index 82e25fc5ea1..7ce2ceb9a2f 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