diff options
| author | 2023-12-29 07:53:52 +0100 | |
|---|---|---|
| committer | 2024-01-18 21:12:30 -0500 | |
| commit | 34a8d0cc8e04b4b9d8e5a75e552f0adb31b5d718 (patch) | |
| tree | afa899bb63e97df9c80e5de49395495143799dbd /src/video_core | |
| parent | SMMU: Initial adaptation to video_core. (diff) | |
| download | yuzu-34a8d0cc8e04b4b9d8e5a75e552f0adb31b5d718.tar.gz yuzu-34a8d0cc8e04b4b9d8e5a75e552f0adb31b5d718.tar.xz yuzu-34a8d0cc8e04b4b9d8e5a75e552f0adb31b5d718.zip | |
SMMU: Implement physical memory mirroring
Diffstat (limited to 'src/video_core')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 7 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_rasterizer.cpp | 6 |
2 files changed, 5 insertions, 8 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index ca31e2fbd..71b748c74 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp | |||
| @@ -554,9 +554,8 @@ void RasterizerOpenGL::InvalidateRegion(DAddr addr, u64 size, VideoCommon::Cache | |||
| 554 | } | 554 | } |
| 555 | } | 555 | } |
| 556 | 556 | ||
| 557 | bool RasterizerOpenGL::OnCPUWrite(PAddr p_addr, u64 size) { | 557 | bool RasterizerOpenGL::OnCPUWrite(DAddr addr, u64 size) { |
| 558 | MICROPROFILE_SCOPE(OpenGL_CacheManagement); | 558 | MICROPROFILE_SCOPE(OpenGL_CacheManagement); |
| 559 | const DAddr addr = device_memory.GetAddressFromPAddr(p_addr); | ||
| 560 | if (addr == 0 || size == 0) { | 559 | if (addr == 0 || size == 0) { |
| 561 | return false; | 560 | return false; |
| 562 | } | 561 | } |
| @@ -577,9 +576,9 @@ bool RasterizerOpenGL::OnCPUWrite(PAddr p_addr, u64 size) { | |||
| 577 | return false; | 576 | return false; |
| 578 | } | 577 | } |
| 579 | 578 | ||
| 580 | void RasterizerOpenGL::OnCacheInvalidation(PAddr p_addr, u64 size) { | 579 | void RasterizerOpenGL::OnCacheInvalidation(DAddr addr, u64 size) { |
| 581 | MICROPROFILE_SCOPE(OpenGL_CacheManagement); | 580 | MICROPROFILE_SCOPE(OpenGL_CacheManagement); |
| 582 | const DAddr addr = device_memory.GetAddressFromPAddr(p_addr); | 581 | |
| 583 | if (addr == 0 || size == 0) { | 582 | if (addr == 0 || size == 0) { |
| 584 | return; | 583 | return; |
| 585 | } | 584 | } |
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp index efcc349a0..7db131985 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp +++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp | |||
| @@ -602,8 +602,7 @@ void RasterizerVulkan::InnerInvalidation(std::span<const std::pair<DAddr, std::s | |||
| 602 | } | 602 | } |
| 603 | } | 603 | } |
| 604 | 604 | ||
| 605 | bool RasterizerVulkan::OnCPUWrite(PAddr p_addr, u64 size) { | 605 | bool RasterizerVulkan::OnCPUWrite(DAddr addr, u64 size) { |
| 606 | const DAddr addr = device_memory.GetAddressFromPAddr(p_addr); | ||
| 607 | if (addr == 0 || size == 0) { | 606 | if (addr == 0 || size == 0) { |
| 608 | return false; | 607 | return false; |
| 609 | } | 608 | } |
| @@ -624,8 +623,7 @@ bool RasterizerVulkan::OnCPUWrite(PAddr p_addr, u64 size) { | |||
| 624 | return false; | 623 | return false; |
| 625 | } | 624 | } |
| 626 | 625 | ||
| 627 | void RasterizerVulkan::OnCacheInvalidation(PAddr p_addr, u64 size) { | 626 | void RasterizerVulkan::OnCacheInvalidation(DAddr addr, u64 size) { |
| 628 | const DAddr addr = device_memory.GetAddressFromPAddr(p_addr); | ||
| 629 | if (addr == 0 || size == 0) { | 627 | if (addr == 0 || size == 0) { |
| 630 | return; | 628 | return; |
| 631 | } | 629 | } |