diff options
| author | 2022-02-01 01:39:40 -0500 | |
|---|---|---|
| committer | 2022-02-01 01:40:41 -0500 | |
| commit | 540ed72e99d783f03574a63077c876deed9a6aaf (patch) | |
| tree | 8e8ecc9388054e7f96e5d3b9f3b6b462039bcae5 /src/video_core/shader_cache.cpp | |
| parent | Merge pull request #7791 from german77/wall_clock (diff) | |
| download | yuzu-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.cpp | 4 |
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 | ||
| 216 | void ShaderCache::RemoveShadersFromStorage(std::vector<ShaderInfo*> removed_shaders) { | 216 | void 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(); |