[Mesa-dev] [PATCH 00/10] vbo: introduce a minmax_index cache (v3)

Nicolai Hähnle nhaehnle at gmail.com
Fri Jan 22 09:17:55 PST 2016


On 11.01.2016 21:32, Nicolai Hähnle wrote:
> 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!

Ping... any opinions on this series? Other than Matt's coding style 
comment, I haven't received anything.

Nicolai
>
> 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