summaryrefslogtreecommitdiffstats
path: root/src/video_core/texture_cache/texture_cache_base.h
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2023-05-23 07:34:46 +0200
committerFernando Sahmkow <fsahmkow27@gmail.com>2023-05-24 09:53:42 +0200
commit72c1ee1bf96be45e2794f26ad83dbd13e892c22d (patch)
treedd7fbc88c130471ae9f77049fa9782b33d929d22 /src/video_core/texture_cache/texture_cache_base.h
parentMerge pull request #10386 from german77/high (diff)
downloadyuzu-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 '')
-rw-r--r--src/video_core/texture_cache/texture_cache_base.h16
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