[Mesa-dev] [PATCH] i965: Drop assertion about buffer offset at draw time.

Eric Anholt eric at anholt.net
Mon Aug 15 16:01:06 UTC 2016


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.
---
 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 fdb1b35f4c35..a44e04be6be6 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.
-- 
2.8.1



More information about the mesa-dev mailing list