summaryrefslogtreecommitdiffstats
path: root/src/mesa/vbo/vbo_split_inplace.c
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2009-08-11 12:31:01 -0700
committerEric Anholt <[email protected]>2009-08-12 11:28:34 -0700
commit2708ddfb06a36d8568e2aa130bf1f7d551fcd309 (patch)
treef70549bf497750fc2f865d846069d504852bc014 /src/mesa/vbo/vbo_split_inplace.c
parentef3ad412c746203727324edbd4cbe04079332d7c (diff)
vbo: Avoid extra validation of DrawElements.
This saves mapping the index buffer to get a bounds on the indices that drivers just drop on the floor in the VBO case (cache win), saves a bonus walk of the indices in the CheckArrayBounds case, and other miscellaneous validation. On intel it's a particularly a large win (50-100% in my app) because even though we let the indices stay in both CPU and GPU caches, we still end up waiting for the GPU to be done with the buffer before reading from it. Drivers that want the min/max_index fields must now check index_bounds_valid and use vbo_get_minmax_index before using them.
Diffstat (limited to 'src/mesa/vbo/vbo_split_inplace.c')
-rw-r--r--src/mesa/vbo/vbo_split_inplace.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/mesa/vbo/vbo_split_inplace.c b/src/mesa/vbo/vbo_split_inplace.c
index 9628227e7c4..da84eaa6ead 100644
--- a/src/mesa/vbo/vbo_split_inplace.c
+++ b/src/mesa/vbo/vbo_split_inplace.c
@@ -85,6 +85,7 @@ static void flush_vertex( struct split_context *split )
split->dstprim,
split->dstprim_nr,
NULL,
+ GL_TRUE,
min_index,
max_index);