diff options
| author | 2021-07-06 17:26:21 -0700 | |
|---|---|---|
| committer | 2021-07-06 17:26:21 -0700 | |
| commit | eb3cb3af353dd1d62b11a6032e35656153ecb505 (patch) | |
| tree | 239f6d2857bd4af68ed77b91639c1d7fce5934cb /src/video_core/renderer_vulkan | |
| parent | Merge pull request #6566 from Morph1984/sign-compare-as-error (diff) | |
| parent | Texture Cache: Fix collision with multiple overlaps of the same sparse texture. (diff) | |
| download | yuzu-eb3cb3af353dd1d62b11a6032e35656153ecb505.tar.gz yuzu-eb3cb3af353dd1d62b11a6032e35656153ecb505.tar.xz yuzu-eb3cb3af353dd1d62b11a6032e35656153ecb505.zip | |
Merge pull request #6497 from FernandoS27/scotty-doesnt-know
GPU Memory Manager - Correct handling of non continuous backing memory.
Diffstat (limited to 'src/video_core/renderer_vulkan')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_rasterizer.cpp | 7 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_rasterizer.h | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp index 1c9120170..bd4d649cc 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp +++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp | |||
| @@ -557,6 +557,13 @@ void RasterizerVulkan::UnmapMemory(VAddr addr, u64 size) { | |||
| 557 | pipeline_cache.OnCPUWrite(addr, size); | 557 | pipeline_cache.OnCPUWrite(addr, size); |
| 558 | } | 558 | } |
| 559 | 559 | ||
| 560 | void RasterizerVulkan::ModifyGPUMemory(GPUVAddr addr, u64 size) { | ||
| 561 | { | ||
| 562 | std::scoped_lock lock{texture_cache.mutex}; | ||
| 563 | texture_cache.UnmapGPUMemory(addr, size); | ||
| 564 | } | ||
| 565 | } | ||
| 566 | |||
| 560 | void RasterizerVulkan::SignalSemaphore(GPUVAddr addr, u32 value) { | 567 | void RasterizerVulkan::SignalSemaphore(GPUVAddr addr, u32 value) { |
| 561 | if (!gpu.IsAsync()) { | 568 | if (!gpu.IsAsync()) { |
| 562 | gpu_memory.Write<u32>(addr, value); | 569 | gpu_memory.Write<u32>(addr, value); |
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.h b/src/video_core/renderer_vulkan/vk_rasterizer.h index cb8c5c279..41459c5c5 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.h +++ b/src/video_core/renderer_vulkan/vk_rasterizer.h | |||
| @@ -72,6 +72,7 @@ public: | |||
| 72 | void OnCPUWrite(VAddr addr, u64 size) override; | 72 | void OnCPUWrite(VAddr addr, u64 size) override; |
| 73 | void SyncGuestHost() override; | 73 | void SyncGuestHost() override; |
| 74 | void UnmapMemory(VAddr addr, u64 size) override; | 74 | void UnmapMemory(VAddr addr, u64 size) override; |
| 75 | void ModifyGPUMemory(GPUVAddr addr, u64 size) override; | ||
| 75 | void SignalSemaphore(GPUVAddr addr, u32 value) override; | 76 | void SignalSemaphore(GPUVAddr addr, u32 value) override; |
| 76 | void SignalSyncPoint(u32 value) override; | 77 | void SignalSyncPoint(u32 value) override; |
| 77 | void ReleaseFences() override; | 78 | void ReleaseFences() override; |