diff options
author | Eric Anholt <[email protected]> | 2013-06-18 13:52:03 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2013-11-07 10:20:33 -0800 |
commit | 185b5a54c94ce11487146042c8eec24909187ed6 (patch) | |
tree | 0b2cdf65e9527f5d8772a8616cc96e4ea3bbd42b /src/gallium/auxiliary/draw | |
parent | fd03dd6ddd96afe782d8686fcba437d23c878da1 (diff) |
i965: Avoid flushing the batch for every blorp op.
This brings over the batch-wrap-prevention and aperture space checking
code from the normal brw_draw.c path, so that we don't need to flush the
batch every time.
There's a risk here if the intel_emit_post_sync_nonzero_flush() call isn't
high enough up in the state emit sequences -- before, we implicitly had
one at the batch flush before any state was emitted, so Mesa's workaround
emits didn't really matter. Since the SNB fixes by Ken, I didn't see any
regressions after 3 piglit runs.
Improves cairo-gl performance by 13.7733% +/- 1.74876% (n=30/32)
Improves minecraft apitrace performance by 1.03183% +/- 0.482297% (n=90).
Reduces low-resolution GLB 2.7 performance by 1.17553% +/- 0.432263% (n=88)
Reduces Lightsmark performance by 3.70246% +/- 0.322432% (n=126)
No statistically significant performance difference on unigine tropics
(n=10)
No statistically significant performance difference on openarena (n=755)
The two apps that are hurt happen to include stalls on busy buffer
objects, so I think this is an effect of missing out on an opportune
flush.
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Paul Berry <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/draw')
0 files changed, 0 insertions, 0 deletions