diff options
| author | 2022-02-06 01:16:11 +0100 | |
|---|---|---|
| committer | 2022-10-06 21:00:52 +0200 | |
| commit | bc8b3d225eda388f0603830cbff8357893abb0f9 (patch) | |
| tree | 479b41b73913feceeeb0c9c6f3147d6491c0fa04 /src/video_core/buffer_cache | |
| parent | MemoryManager: initial multi paging system implementation. (diff) | |
| download | yuzu-bc8b3d225eda388f0603830cbff8357893abb0f9.tar.gz yuzu-bc8b3d225eda388f0603830cbff8357893abb0f9.tar.xz yuzu-bc8b3d225eda388f0603830cbff8357893abb0f9.zip | |
VideoCore: Refactor fencing system.
Diffstat (limited to 'src/video_core/buffer_cache')
| -rw-r--r-- | src/video_core/buffer_cache/buffer_cache.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/video_core/buffer_cache/buffer_cache.h b/src/video_core/buffer_cache/buffer_cache.h index 6b6764d72..e55cac0d6 100644 --- a/src/video_core/buffer_cache/buffer_cache.h +++ b/src/video_core/buffer_cache/buffer_cache.h | |||
| @@ -826,6 +826,19 @@ void BufferCache<P>::CommitAsyncFlushesHigh() { | |||
| 826 | const bool is_accuracy_normal = | 826 | const bool is_accuracy_normal = |
| 827 | Settings::values.gpu_accuracy.GetValue() == Settings::GPUAccuracy::Normal; | 827 | Settings::values.gpu_accuracy.GetValue() == Settings::GPUAccuracy::Normal; |
| 828 | 828 | ||
| 829 | auto it = committed_ranges.begin(); | ||
| 830 | while (it != committed_ranges.end()) { | ||
| 831 | auto& current_intervals = *it; | ||
| 832 | auto next_it = std::next(it); | ||
| 833 | while (next_it != committed_ranges.end()) { | ||
| 834 | for (auto& interval : *next_it) { | ||
| 835 | current_intervals.subtract(interval); | ||
| 836 | } | ||
| 837 | next_it++; | ||
| 838 | } | ||
| 839 | it++; | ||
| 840 | } | ||
| 841 | |||
| 829 | boost::container::small_vector<std::pair<BufferCopy, BufferId>, 1> downloads; | 842 | boost::container::small_vector<std::pair<BufferCopy, BufferId>, 1> downloads; |
| 830 | u64 total_size_bytes = 0; | 843 | u64 total_size_bytes = 0; |
| 831 | u64 largest_copy = 0; | 844 | u64 largest_copy = 0; |