|
|
|
@ -47,7 +47,7 @@ public: |
|
|
|
bool is_written = false, bool use_fast_cbuf = false) { |
|
|
|
std::lock_guard lock{mutex}; |
|
|
|
|
|
|
|
const auto& memory_manager = system.GPU().MemoryManager(); |
|
|
|
auto& memory_manager = system.GPU().MemoryManager(); |
|
|
|
const std::optional<VAddr> cpu_addr_opt = memory_manager.GpuToCpuAddress(gpu_addr); |
|
|
|
if (!cpu_addr_opt) { |
|
|
|
return {GetEmptyBuffer(size), 0}; |
|
|
|
@ -59,7 +59,6 @@ public: |
|
|
|
constexpr std::size_t max_stream_size = 0x800; |
|
|
|
if (use_fast_cbuf || size < max_stream_size) { |
|
|
|
if (!is_written && !IsRegionWritten(cpu_addr, cpu_addr + size - 1)) { |
|
|
|
auto& memory_manager = system.GPU().MemoryManager(); |
|
|
|
const bool is_granular = memory_manager.IsGranularRange(gpu_addr, size); |
|
|
|
if (use_fast_cbuf) { |
|
|
|
u8* dest; |
|
|
|
|