video_core: use interval map for page count tracking
This commit is contained in:
parent
462ba1b360
commit
030e6b3980
7 changed files with 66 additions and 76 deletions
|
@ -132,7 +132,7 @@ void ShaderCache::Register(std::unique_ptr<ShaderInfo> data, VAddr addr, size_t
|
|||
|
||||
storage.push_back(std::move(data));
|
||||
|
||||
rasterizer.UpdatePagesCachedCount(addr, size, 1);
|
||||
rasterizer.UpdatePagesCachedCount(addr, size, true);
|
||||
}
|
||||
|
||||
void ShaderCache::InvalidatePagesInRegion(VAddr addr, size_t size) {
|
||||
|
@ -209,7 +209,7 @@ void ShaderCache::UnmarkMemory(Entry* entry) {
|
|||
|
||||
const VAddr addr = entry->addr_start;
|
||||
const size_t size = entry->addr_end - addr;
|
||||
rasterizer.UpdatePagesCachedCount(addr, size, -1);
|
||||
rasterizer.UpdatePagesCachedCount(addr, size, false);
|
||||
}
|
||||
|
||||
void ShaderCache::RemoveShadersFromStorage(std::span<ShaderInfo*> removed_shaders) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue