diff options
| author | bunnei <bunneidev@gmail.com> | 2019-02-18 20:58:32 -0500 |
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2019-03-14 22:34:42 -0400 |
| commit | 2eaf6c41a4686028c0abc84d1be6fd48a67cf49f (patch) | |
| tree | 6ad0848c848aea68e637386cad5068e13c831b92 /src/video_core/engines/maxwell_3d.cpp | |
| parent | 84d3cdf7d76de538da6121e327d332809d46af84 (diff) | |
gpu: Use host address for caching instead of guest address.
Diffstat (limited to 'src/video_core/engines/maxwell_3d.cpp')
| -rw-r--r-- | src/video_core/engines/maxwell_3d.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index 144e7fa82..49979694e 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp @@ -396,7 +396,10 @@ void Maxwell3D::ProcessCBData(u32 value) { const auto address = memory_manager.GpuToCpuAddress(buffer_address + regs.const_buffer.cb_pos); ASSERT_MSG(address, "Invalid GPU address"); - Memory::Write32(*address, value); + u8* ptr{Memory::GetPointer(*address)}; + rasterizer.InvalidateRegion(ToCacheAddr(ptr), sizeof(u32)); + std::memcpy(ptr, &value, sizeof(u32)); + dirty_flags.OnMemoryWrite(); // Increment the current buffer position. |
