summaryrefslogtreecommitdiff
path: root/src/video_core/buffer_cache
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2023-05-07 23:25:34 +0200
committerGravatar Fernando Sahmkow2023-05-07 23:46:12 +0200
commit2df19ef0fd5a91ca87e2c2cf201166a40c9d44dc (patch)
tree2007ab777f557eba09cc85326438db0be943d980 /src/video_core/buffer_cache
parentTexture cache: reverse inmediate flush changes (diff)
downloadyuzu-2df19ef0fd5a91ca87e2c2cf201166a40c9d44dc.tar.gz
yuzu-2df19ef0fd5a91ca87e2c2cf201166a40c9d44dc.tar.xz
yuzu-2df19ef0fd5a91ca87e2c2cf201166a40c9d44dc.zip
Buffer Cache: disable reactive flushing in it.
Diffstat (limited to 'src/video_core/buffer_cache')
-rw-r--r--src/video_core/buffer_cache/buffer_cache.h11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/video_core/buffer_cache/buffer_cache.h b/src/video_core/buffer_cache/buffer_cache.h
index 0b15944d6..6624919a4 100644
--- a/src/video_core/buffer_cache/buffer_cache.h
+++ b/src/video_core/buffer_cache/buffer_cache.h
@@ -203,11 +203,8 @@ bool BufferCache<P>::DMACopy(GPUVAddr src_address, GPUVAddr dest_address, u64 am
203 const VAddr new_base_address = *cpu_dest_address + diff; 203 const VAddr new_base_address = *cpu_dest_address + diff;
204 const IntervalType add_interval{new_base_address, new_base_address + size}; 204 const IntervalType add_interval{new_base_address, new_base_address + size};
205 tmp_intervals.push_back(add_interval); 205 tmp_intervals.push_back(add_interval);
206 if (!Settings::values.use_reactive_flushing.GetValue() || 206 uncommitted_ranges.add(add_interval);
207 memory_tracker.IsRegionPreflushable(new_base_address, new_base_address + size)) { 207 pending_ranges.add(add_interval);
208 uncommitted_ranges.add(add_interval);
209 pending_ranges.add(add_interval);
210 }
211 }; 208 };
212 ForEachInRangeSet(common_ranges, *cpu_src_address, amount, mirror); 209 ForEachInRangeSet(common_ranges, *cpu_src_address, amount, mirror);
213 // This subtraction in this order is important for overlapping copies. 210 // This subtraction in this order is important for overlapping copies.
@@ -1234,10 +1231,6 @@ void BufferCache<P>::MarkWrittenBuffer(BufferId buffer_id, VAddr cpu_addr, u32 s
1234 1231
1235 const IntervalType base_interval{cpu_addr, cpu_addr + size}; 1232 const IntervalType base_interval{cpu_addr, cpu_addr + size};
1236 common_ranges.add(base_interval); 1233 common_ranges.add(base_interval);
1237 if (Settings::values.use_reactive_flushing.GetValue() &&
1238 !memory_tracker.IsRegionPreflushable(cpu_addr, cpu_addr + size)) {
1239 return;
1240 }
1241 uncommitted_ranges.add(base_interval); 1234 uncommitted_ranges.add(base_interval);
1242 pending_ranges.add(base_interval); 1235 pending_ranges.add(base_interval);
1243} 1236}