diff options
author | Eric Anholt <eric@anholt.net> | 2008-01-10 14:43:16 -0800 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2008-01-10 14:43:16 -0800 |
commit | 609ad99a1a4b3a59436c520b355f482dff64b34a (patch) | |
tree | 487588f4396a3d54acdf745e98904a052fb166d9 /src/mesa/drivers/dri/i965/brw_vtbl.c | |
parent | 4e5b3626a1fc42ff7a88264ded8f0997b0fcd22e (diff) |
[965] Improve performance by allocating CURBE buffers a page at a time.
Since each one is only 64b, and kernel allocations are a page anyway, this
lets us reduce buffer allocation by packing many CURBEs into one buffer, for
each batchbuffer submitted. Improves openarena performance by around 10%.
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_vtbl.c')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vtbl.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vtbl.c b/src/mesa/drivers/dri/i965/brw_vtbl.c index e9fed4dae1..126e655839 100644 --- a/src/mesa/drivers/dri/i965/brw_vtbl.c +++ b/src/mesa/drivers/dri/i965/brw_vtbl.c @@ -94,6 +94,9 @@ static void brw_new_batch( struct intel_context *intel ) /* Check that we didn't just wrap our batchbuffer at a bad time. */ assert(!brw->no_batch_wrap); + dri_bo_unreference(brw->curbe.curbe_bo); + brw->curbe.curbe_bo = NULL; + /* Mark all context state as needing to be re-emitted. * This is probably not as severe as on 915, since almost all of our state * is just in referenced buffers. |