[Mesa-dev] [PATCH 00/10] vbo: introduce a minmax_index cache (v3)
Nicolai Hähnle
nhaehnle at gmail.com
Mon Jan 11 18:32:37 PST 2016
Hi,
here is a new version of the series. I'm calling it v3 even though I never
sent v2 because it contains v3 of the main patch. Changes relative to v1:
- disable cache on USAGE_TEXTURE_BUFFER and bool/GLboolean nit
- disable cache only temporarily when a persistent writable mapping exists
- add a MESA_NO_MINMAX_CACHE environment variable that disables caches
completely
- track hits and misses and disable the cache on a per-BO basis if the
hit rate is low
The last point is on a per-BO basis because applications don't always have
the same usage pattern for all BOs.
There is also a new util/hash_table patch which I added for an idea that I
ultimately rejected, but it turns out to be useful elsewhere, so I'm
sending it along while I'm at it.
I benchmarked this series with a couple of tests from PTS, using low
resolutions in an attempt to emphasize CPU usage. Their performance is
unaffected, with averages with/without this series within the measurement
tolerance of each other. That there's no regression is good news, and that
there's no improvement is to be expected - if one of these tests had been
affected by the problem this series addresses, someone else would probably
have done it much earlier ;)
Please review!
Thanks,
Nicolai
--
docs/envvars.html | 1 +
src/mesa/Makefile.sources | 1 +
src/mesa/main/bufferobj.c | 59 +++-
src/mesa/main/hash.c | 4 +-
src/mesa/main/mtypes.h | 9 +
src/mesa/main/transformfeedback.h | 3 +
src/mesa/vbo/vbo.h | 3 +
src/mesa/vbo/vbo_exec_array.c | 148 ----------
src/mesa/vbo/vbo_minmax_index.c | 378 ++++++++++++++++++++++++
src/util/hash_table.c | 25 ++
src/util/hash_table.h | 7 +
src/util/tests/hash_table/Makefile.am | 1 +
src/util/tests/hash_table/clear.c | 91 ++++++
13 files changed, 570 insertions(+), 160 deletions(-)
More information about the mesa-dev
mailing list