early-access version 2456

This commit is contained in:
pineappleEA 2022-02-01 09:05:14 +01:00
parent 77c401380f
commit 591ab4a56e
3 changed files with 4 additions and 5 deletions

View file

@ -1,7 +1,7 @@
yuzu emulator early access yuzu emulator early access
============= =============
This is the source code for early-access 2455. This is the source code for early-access 2456.
## Legal Notice ## Legal Notice

View file

@ -170,7 +170,7 @@ void ShaderCache::RemovePendingShaders() {
marked_for_removal.clear(); marked_for_removal.clear();
if (!removed_shaders.empty()) { 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); 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 // Remove them from the cache
std::erase_if(storage, [&removed_shaders](const std::unique_ptr<ShaderInfo>& shader) { std::erase_if(storage, [&removed_shaders](const std::unique_ptr<ShaderInfo>& shader) {
return std::ranges::find(removed_shaders, shader.get()) != removed_shaders.end(); return std::ranges::find(removed_shaders, shader.get()) != removed_shaders.end();

View file

@ -4,7 +4,6 @@
#pragma once #pragma once
#include <algorithm>
#include <array> #include <array>
#include <memory> #include <memory>
#include <mutex> #include <mutex>
@ -138,7 +137,7 @@ private:
/// @param removed_shaders Shaders to be removed from the storage /// @param removed_shaders Shaders to be removed from the storage
/// @pre invalidation_mutex is locked /// @pre invalidation_mutex is locked
/// @pre lookup_mutex is locked /// @pre lookup_mutex is locked
void RemoveShadersFromStorage(std::vector<ShaderInfo*> removed_shaders); void RemoveShadersFromStorage(std::span<ShaderInfo*> removed_shaders);
/// @brief Creates a new entry in the lookup cache and returns its pointer /// @brief Creates a new entry in the lookup cache and returns its pointer
/// @pre lookup_mutex is locked /// @pre lookup_mutex is locked