summaryrefslogtreecommitdiff
path: root/src/video_core/shader_cache.cpp
diff options
context:
space:
mode:
authorGravatar Lioncash2022-02-01 01:39:40 -0500
committerGravatar Lioncash2022-02-01 01:40:41 -0500
commit540ed72e99d783f03574a63077c876deed9a6aaf (patch)
tree8e8ecc9388054e7f96e5d3b9f3b6b462039bcae5 /src/video_core/shader_cache.cpp
parentMerge pull request #7791 from german77/wall_clock (diff)
downloadyuzu-540ed72e99d783f03574a63077c876deed9a6aaf.tar.gz
yuzu-540ed72e99d783f03574a63077c876deed9a6aaf.tar.xz
yuzu-540ed72e99d783f03574a63077c876deed9a6aaf.zip
video_core/shader_cache: Take std::span in RemoveShadersFromStorage()
Same behavior, but without the need to move into the function to avoid an allocation.
Diffstat (limited to 'src/video_core/shader_cache.cpp')
-rw-r--r--src/video_core/shader_cache.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/video_core/shader_cache.cpp b/src/video_core/shader_cache.cpp
index 78bf90c48..87636857d 100644
--- a/src/video_core/shader_cache.cpp
+++ b/src/video_core/shader_cache.cpp
@@ -170,7 +170,7 @@ void ShaderCache::RemovePendingShaders() {
170 marked_for_removal.clear(); 170 marked_for_removal.clear();
171 171
172 if (!removed_shaders.empty()) { 172 if (!removed_shaders.empty()) {
173 RemoveShadersFromStorage(std::move(removed_shaders)); 173 RemoveShadersFromStorage(removed_shaders);
174 } 174 }
175} 175}
176 176
@@ -213,7 +213,7 @@ void ShaderCache::UnmarkMemory(Entry* entry) {
213 rasterizer.UpdatePagesCachedCount(addr, size, -1); 213 rasterizer.UpdatePagesCachedCount(addr, size, -1);
214} 214}
215 215
216void ShaderCache::RemoveShadersFromStorage(std::vector<ShaderInfo*> removed_shaders) { 216void ShaderCache::RemoveShadersFromStorage(std::span<ShaderInfo*> removed_shaders) {
217 // Remove them from the cache 217 // Remove them from the cache
218 std::erase_if(storage, [&removed_shaders](const std::unique_ptr<ShaderInfo>& shader) { 218 std::erase_if(storage, [&removed_shaders](const std::unique_ptr<ShaderInfo>& shader) {
219 return std::ranges::find(removed_shaders, shader.get()) != removed_shaders.end(); 219 return std::ranges::find(removed_shaders, shader.get()) != removed_shaders.end();