Browse Source

Simplify logic

buffer_cache
MaranBr 2 days ago
parent
commit
c334743d85
  1. 6
      src/video_core/buffer_cache/buffer_cache.h

6
src/video_core/buffer_cache/buffer_cache.h

@ -1619,7 +1619,6 @@ void BufferCache<P>::TouchBuffer(Buffer& buffer, BufferId buffer_id) noexcept {
template <class P>
bool BufferCache<P>::SynchronizeBuffer(Buffer& buffer, DAddr device_addr, u32 size) {
upload_copies.clear();
boost::container::small_vector<std::pair<u64, u64>, 8> uploaded_ranges;
u64 staging_offset = 0;
u64 largest_copy = 0;
DAddr buffer_start = buffer.CpuAddr();
@ -1633,7 +1632,6 @@ bool BufferCache<P>::SynchronizeBuffer(Buffer& buffer, DAddr device_addr, u32 si
.dst_offset = start - buffer_start,
.size = sz
});
uploaded_ranges.emplace_back(start, sz);
staging_offset += sz;
largest_copy = (std::max)(largest_copy, sz);
};
@ -1647,10 +1645,6 @@ bool BufferCache<P>::SynchronizeBuffer(Buffer& buffer, DAddr device_addr, u32 si
});
push(start, end);
});
for (const auto& [addr, range_size] : uploaded_ranges) {
ClearDownload(addr, range_size);
gpu_modified_ranges.Subtract(addr, range_size);
}
if (upload_copies.empty()) {
return true;
}

Loading…
Cancel
Save