vbo: disable the minmax cache when the hit rate is low
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Mon, 11 Jan 2016 20:07:48 +0000 (15:07 -0500)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Wed, 3 Feb 2016 13:04:06 +0000 (14:04 +0100)
commit761c7d59c4403832c33d931bb097d060ed07e555
tree53db3635ba745e2e27131bf0f37159afb6f734b1
parent115c643b1669bd050af8d890adbfc771d9ff8126
vbo: disable the minmax cache when the hit rate is low

When applications stream their index buffers, the caches for those BOs become
useless and add overhead, so we want to disable them. The tricky part is
coming up with the right heuristic for *when* to disable them.

The first question is which hit rate to aim for. Since I'm not aware of any
interesting borderline applications that do something like "draw two or three
times for each upload", I just kept it simple.

The second question is how soon we should give up on the caching. Applications
might have a warm-up phase where they fill a buffer gradually but then keep
reusing it. For this reason, I count the number of indices that hit and miss
(instead of the number of calls that hit or miss), since comparing that to
the size of the buffer makes sense.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/mesa/main/mtypes.h
src/mesa/vbo/vbo_minmax_index.c