Mesa (master): i965: Drop assertion about buffer offset at draw time.

Eric Anholt anholt at kemper.freedesktop.org
Sat Sep 17 17:40:03 UTC 2016


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

Author: Eric Anholt <eric at anholt.net>
Date:   Mon Aug 15 08:58:27 2016 -0700

i965: Drop assertion about buffer offset at draw time.

Given robust access, we should just be returning zeroes if the user gives
us a base pointer that's too big, which is what was happens on a release
build.  This was caught by a webgl conformance test for out-of-bounds
draws on servo.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/drivers/dri/i965/brw_draw_upload.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c
index fdb1b35..a44e04b 100644
--- a/src/mesa/drivers/dri/i965/brw_draw_upload.c
+++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c
@@ -552,17 +552,6 @@ brw_prepare_vertices(struct brw_context *brw)
 	    input->buffer = j++;
 	    input->offset = 0;
 	 }
-
-	 /* This is a common place to reach if the user mistakenly supplies
-	  * a pointer in place of a VBO offset.  If we just let it go through,
-	  * we may end up dereferencing a pointer beyond the bounds of the
-	  * GTT.
-	  *
-	  * The VBO spec allows application termination in this case, and it's
-	  * probably a service to the poor programmer to do so rather than
-	  * trying to just not render.
-	  */
-	 assert(input->offset < intel_buffer->Base.Size);
       } else {
 	 /* Queue the buffer object up to be uploaded in the next pass,
 	  * when we've decided if we're doing interleaved or not.




More information about the mesa-commit mailing list