From 92136dfa2e122f6d169fad4a8a740e11bc5c6b5f Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Fri, 21 Mar 2014 13:06:50 +0100 Subject: [PATCH] i965: Make sure we always compute valid index bounds before drawing. Calling _tnl_draw_prims() with invalid index bounds can crash and in some cases where vbo_all_varyings_in_vbos() is TRUE but we don't have valid index bounds, this happens. This was producing a crash in Blender when rendering to the selection buffer. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59455 --- src/mesa/drivers/dri/i965/brw_draw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/brw_draw.c b/src/mesa/drivers/dri/i965/brw_draw.c index d684c17..967923b 100644 --- a/src/mesa/drivers/dri/i965/brw_draw.c +++ b/src/mesa/drivers/dri/i965/brw_draw.c @@ -554,7 +554,7 @@ void brw_draw_prims( struct gl_context *ctx, * get the minimum and maximum of their index buffer so we know what range * to upload. */ - if (!vbo_all_varyings_in_vbos(arrays) && !index_bounds_valid) { + if (!index_bounds_valid) { perf_debug("Scanning index buffer to compute index buffer bounds. " "Use glDrawRangeElements() to avoid this.\n"); vbo_get_minmax_indices(ctx, prims, ib, &min_index, &max_index, nr_prims); -- 1.8.3.2