|
|
|
@ -1661,6 +1661,7 @@ bool BufferCache<P>::InlineMemory(VAddr dest_address, size_t copy_size,
|
|
|
|
|
|
|
|
|
|
const IntervalType subtract_interval{dest_address, dest_address + copy_size};
|
|
|
|
|
ClearDownload(subtract_interval);
|
|
|
|
|
common_ranges.subtract(subtract_interval);
|
|
|
|
|
|
|
|
|
|
BufferId buffer_id = FindBuffer(dest_address, static_cast<u32>(copy_size));
|
|
|
|
|
auto& buffer = slot_buffers[buffer_id];
|
|
|
|
@ -1677,7 +1678,7 @@ bool BufferCache<P>::InlineMemory(VAddr dest_address, size_t copy_size,
|
|
|
|
|
std::memcpy(src_pointer, inlined_buffer.data(), copy_size);
|
|
|
|
|
runtime.CopyBuffer(buffer, upload_staging.buffer, copies);
|
|
|
|
|
} else {
|
|
|
|
|
buffer.ImmediateUpload(buffer.Offset(dest_address), inlined_buffer);
|
|
|
|
|
buffer.ImmediateUpload(buffer.Offset(dest_address), inlined_buffer.first(copy_size));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|