|
|
|
@ -170,7 +170,7 @@ void ShaderCache::RemovePendingShaders() {
|
|
|
|
|
marked_for_removal.clear();
|
|
|
|
|
|
|
|
|
|
if (!removed_shaders.empty()) {
|
|
|
|
|
RemoveShadersFromStorage(std::move(removed_shaders));
|
|
|
|
|
RemoveShadersFromStorage(removed_shaders);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -213,7 +213,7 @@ void ShaderCache::UnmarkMemory(Entry* entry) {
|
|
|
|
|
rasterizer.UpdatePagesCachedCount(addr, size, -1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void ShaderCache::RemoveShadersFromStorage(std::vector<ShaderInfo*> removed_shaders) {
|
|
|
|
|
void ShaderCache::RemoveShadersFromStorage(std::span<ShaderInfo*> removed_shaders) {
|
|
|
|
|
// Remove them from the cache
|
|
|
|
|
std::erase_if(storage, [&removed_shaders](const std::unique_ptr<ShaderInfo>& shader) {
|
|
|
|
|
return std::ranges::find(removed_shaders, shader.get()) != removed_shaders.end();
|
|
|
|
|