From 72c1ee1bf96be45e2794f26ad83dbd13e892c22d Mon Sep 17 00:00:00 2001 From: Fernando Sahmkow Date: Tue, 23 May 2023 01:34:46 -0400 Subject: texture_cache: process aliases and overlaps in the correct order --- src/video_core/texture_cache/texture_cache_base.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/video_core/texture_cache/texture_cache_base.h') 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 #include #include +#include #include +#include #include #include "common/common_types.h" @@ -474,6 +476,20 @@ private: Common::ThreadWorker texture_decode_worker{1, "TextureDecoder"}; std::vector> async_decodes; + + // Join caching + boost::container::small_vector join_overlap_ids; + std::unordered_set join_overlaps_found; + boost::container::small_vector join_left_aliased_ids; + boost::container::small_vector join_right_aliased_ids; + std::unordered_set join_ignore_textures; + boost::container::small_vector join_bad_overlap_ids; + struct JoinCopy { + bool is_alias; + ImageId id; + }; + boost::container::small_vector join_copies_to_do; + std::unordered_map join_alias_indices; }; } // namespace VideoCommon -- cgit v1.2.3