Hi,
On 02/05/2015 01:31 AM, Kenneth Graunke wrote:
On Wednesday, February 04, 2015 01:52:57 PM Carl Worth wrote:
From: Kristian Høgsberg <k...@bitplanet.net>
This code provides for an on-disk cache of objects. Objects are stored
and retrieved (in ~/.cache/mesa) via names that are arbitrary 20-byte
sequences, (intended to be SHA-1 hashes of something identifying for
the content).
The cache is limited to a maximum number of entries (1024 in this
patch), and uses random replacement. These attributes are managed via
The cache will need to be much larger than 1024 entries - perhaps by an
order of magnitude.
Order of magnitude isn't enough, even for single application. DOTA2
alone can create >10000 shaders [1].
Games that do not use separate shader objects extension can have
combinatorial explosion of concatenated shader code pieces...
For example, "Shadowrun Returns" uses 1299 shaders,
"Left 4 Dead 2" uses 1849 shaders, and "Natural Selection 2" uses 2719
shaders. A single application could overflow the cache :)
For what it's worth, the total number of shaders in my game collection
is around 17,000.
- Eero
[1] At least 2013 version of DOTA2 did, depending on what options were
selected.
Carl, my Apitrace trace "library" has such trace if you're interested.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev