diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2023-05-23 07:34:46 +0200 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2023-05-24 09:53:42 +0200 |
commit | 72c1ee1bf96be45e2794f26ad83dbd13e892c22d (patch) | |
tree | dd7fbc88c130471ae9f77049fa9782b33d929d22 /src/video_core/texture_cache/texture_cache_base.h | |
parent | Merge pull request #10386 from german77/high (diff) | |
download | yuzu-72c1ee1bf96be45e2794f26ad83dbd13e892c22d.tar yuzu-72c1ee1bf96be45e2794f26ad83dbd13e892c22d.tar.gz yuzu-72c1ee1bf96be45e2794f26ad83dbd13e892c22d.tar.bz2 yuzu-72c1ee1bf96be45e2794f26ad83dbd13e892c22d.tar.lz yuzu-72c1ee1bf96be45e2794f26ad83dbd13e892c22d.tar.xz yuzu-72c1ee1bf96be45e2794f26ad83dbd13e892c22d.tar.zst yuzu-72c1ee1bf96be45e2794f26ad83dbd13e892c22d.zip |
Diffstat (limited to 'src/video_core/texture_cache/texture_cache_base.h')
-rw-r--r-- | src/video_core/texture_cache/texture_cache_base.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/video_core/texture_cache/texture_cache_base.h b/src/video_core/texture_cache/texture_cache_base.h index 0720494e5..9e5289977 100644 --- a/src/video_core/texture_cache/texture_cache_base.h +++ b/src/video_core/texture_cache/texture_cache_base.h @@ -10,7 +10,9 @@ #include <span> #include <type_traits> #include <unordered_map> +#include <unordered_set> #include <vector> +#include <boost/container/small_vector.hpp> #include <queue> #include "common/common_types.h" @@ -474,6 +476,20 @@ private: Common::ThreadWorker texture_decode_worker{1, "TextureDecoder"}; std::vector<std::unique_ptr<AsyncDecodeContext>> async_decodes; + + // Join caching + boost::container::small_vector<ImageId, 4> join_overlap_ids; + std::unordered_set<ImageId> join_overlaps_found; + boost::container::small_vector<ImageId, 4> join_left_aliased_ids; + boost::container::small_vector<ImageId, 4> join_right_aliased_ids; + std::unordered_set<ImageId> join_ignore_textures; + boost::container::small_vector<ImageId, 4> join_bad_overlap_ids; + struct JoinCopy { + bool is_alias; + ImageId id; + }; + boost::container::small_vector<JoinCopy, 4> join_copies_to_do; + std::unordered_map<ImageId, size_t> join_alias_indices; }; } // namespace VideoCommon |