diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2022-01-01 22:03:37 +0100 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2022-10-06 21:00:52 +0200 |
commit | f350c3d74ea7880fc6d21f7f638b0d4a70a3246b (patch) | |
tree | 30927fa3c736f5b758a0a971a2d95114d8f8d5fa /src/video_core/control | |
parent | 9cf4c8831d6a8b0d9c6e2a48e89b667fd73accee (diff) |
Texture cache: Fix the remaining issues with memory mnagement and unmapping.
Diffstat (limited to 'src/video_core/control')
-rw-r--r-- | src/video_core/control/channel_state_cache.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/video_core/control/channel_state_cache.h b/src/video_core/control/channel_state_cache.h index 9b1d7362b..31d80e8b7 100644 --- a/src/video_core/control/channel_state_cache.h +++ b/src/video_core/control/channel_state_cache.h @@ -3,6 +3,7 @@ #include <deque> #include <limits> #include <mutex> +#include <optional> #include <unordered_map> #include "common/common_types.h" @@ -59,6 +60,15 @@ public: return ref->second.gpu_memory; } + std::optional<size_t> getStorageID(size_t id) const { + std::unique_lock<std::mutex> lk(config_mutex); + const auto ref = address_spaces.find(id); + if (ref == address_spaces.end()) { + return std::nullopt; + } + return ref->second.storage_id; + } + protected: static constexpr size_t UNSET_CHANNEL{std::numeric_limits<size_t>::max()}; |