mirror of
https://github.com/eden-emulator/mirror.git
synced 2026-06-06 07:25:52 +08:00
Simplify logic
This commit is contained in:
parent
b49b103226
commit
c334743d85
@ -1619,7 +1619,6 @@ void BufferCache<P>::TouchBuffer(Buffer& buffer, BufferId buffer_id) noexcept {
|
|||||||
template <class P>
|
template <class P>
|
||||||
bool BufferCache<P>::SynchronizeBuffer(Buffer& buffer, DAddr device_addr, u32 size) {
|
bool BufferCache<P>::SynchronizeBuffer(Buffer& buffer, DAddr device_addr, u32 size) {
|
||||||
upload_copies.clear();
|
upload_copies.clear();
|
||||||
boost::container::small_vector<std::pair<u64, u64>, 8> uploaded_ranges;
|
|
||||||
u64 staging_offset = 0;
|
u64 staging_offset = 0;
|
||||||
u64 largest_copy = 0;
|
u64 largest_copy = 0;
|
||||||
DAddr buffer_start = buffer.CpuAddr();
|
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,
|
.dst_offset = start - buffer_start,
|
||||||
.size = sz
|
.size = sz
|
||||||
});
|
});
|
||||||
uploaded_ranges.emplace_back(start, sz);
|
|
||||||
staging_offset += sz;
|
staging_offset += sz;
|
||||||
largest_copy = (std::max)(largest_copy, 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);
|
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()) {
|
if (upload_copies.empty()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user