render: double the texture store cap now that entries carry no staging
This commit is contained in:
parent
3d09c764f8
commit
d3f230b064
1 changed files with 8 additions and 1 deletions
|
|
@ -183,10 +183,17 @@ void RetireGuestTexture(const GuestTexture& t, uint64_t submission) {
|
||||||
// reuse) is just different keys, so both states of any transition stay
|
// reuse) is just different keys, so both states of any transition stay
|
||||||
// resident and no rebind can ever serve another binding's art.
|
// resident and no rebind can ever serve another binding's art.
|
||||||
std::atomic<uint64_t> g_store_evicted{0};
|
std::atomic<uint64_t> g_store_evicted{0};
|
||||||
constexpr size_t kTexStoreCap = 3072;
|
constexpr size_t kTexStoreCap = 6144;
|
||||||
|
|
||||||
uint32_t SwapU32(uint32_t v); // defined with the decode helpers below
|
uint32_t SwapU32(uint32_t v); // defined with the decode helpers below
|
||||||
|
|
||||||
|
// (kTexStoreCap sizing: dense areas with the extended draw distance hold a
|
||||||
|
// ~3000-4000 entry live working set, so the previous 3072 cap kept the
|
||||||
|
// eviction latch cycling and re-decoding mip states the player was about
|
||||||
|
// to face again - re-promoted content resolved visibly late. Entries no
|
||||||
|
// longer retain their staging buffers, so 6144 costs the VRAM the old
|
||||||
|
// 3072 did.)
|
||||||
|
|
||||||
// Seqlock-stable read of a texture object's six fetch words, guest -> host
|
// Seqlock-stable read of a texture object's six fetch words, guest -> host
|
||||||
// order. The streamer rewrites the words word-by-word on its own thread; a
|
// order. The streamer rewrites the words word-by-word on its own thread; a
|
||||||
// mixed snapshot decodes a coherent image of the WRONG memory (a shared
|
// mixed snapshot decodes a coherent image of the WRONG memory (a shared
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue