diff options
author | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2017-06-22 07:48:00 +0200 |
---|---|---|
committer | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2017-06-22 07:57:12 +0200 |
commit | d5531357487a144cf962ce08a912417fd5e61570 (patch) | |
tree | 22a4991545b092b5a46cc448c0359d3bfcaf253e /src/core/hle | |
parent | Memory: Add TryVirtualToPhysicalAddress, returning a boost::optional (diff) | |
download | yuzu-d5531357487a144cf962ce08a912417fd5e61570.tar yuzu-d5531357487a144cf962ce08a912417fd5e61570.tar.gz yuzu-d5531357487a144cf962ce08a912417fd5e61570.tar.bz2 yuzu-d5531357487a144cf962ce08a912417fd5e61570.tar.lz yuzu-d5531357487a144cf962ce08a912417fd5e61570.tar.xz yuzu-d5531357487a144cf962ce08a912417fd5e61570.tar.zst yuzu-d5531357487a144cf962ce08a912417fd5e61570.zip |
Diffstat (limited to 'src/core/hle')
-rw-r--r-- | src/core/hle/service/gsp_gpu.cpp | 11 | ||||
-rw-r--r-- | src/core/hle/service/y2r_u.cpp | 4 |
2 files changed, 7 insertions, 8 deletions
diff --git a/src/core/hle/service/gsp_gpu.cpp b/src/core/hle/service/gsp_gpu.cpp index bc964ec60..88684b82d 100644 --- a/src/core/hle/service/gsp_gpu.cpp +++ b/src/core/hle/service/gsp_gpu.cpp @@ -475,12 +475,11 @@ static void ExecuteCommand(const Command& command, u32 thread_id) { // TODO: Consider attempting rasterizer-accelerated surface blit if that usage is ever // possible/likely - Memory::RasterizerFlushRegion( - Memory::VirtualToPhysicalAddress(command.dma_request.source_address), - command.dma_request.size); - Memory::RasterizerFlushAndInvalidateRegion( - Memory::VirtualToPhysicalAddress(command.dma_request.dest_address), - command.dma_request.size); + Memory::RasterizerFlushVirtualRegion(command.dma_request.source_address, + command.dma_request.size, Memory::FlushMode::Flush); + Memory::RasterizerFlushVirtualRegion(command.dma_request.dest_address, + command.dma_request.size, + Memory::FlushMode::FlushAndInvalidate); // TODO(Subv): These memory accesses should not go through the application's memory mapping. // They should go through the GSP module's memory mapping. diff --git a/src/core/hle/service/y2r_u.cpp b/src/core/hle/service/y2r_u.cpp index e73971d5f..57172ddd6 100644 --- a/src/core/hle/service/y2r_u.cpp +++ b/src/core/hle/service/y2r_u.cpp @@ -587,8 +587,8 @@ static void StartConversion(Interface* self) { // dst_image_size would seem to be perfect for this, but it doesn't include the gap :( u32 total_output_size = conversion.input_lines * (conversion.dst.transfer_unit + conversion.dst.gap); - Memory::RasterizerFlushAndInvalidateRegion( - Memory::VirtualToPhysicalAddress(conversion.dst.address), total_output_size); + Memory::RasterizerFlushVirtualRegion(conversion.dst.address, total_output_size, + Memory::FlushMode::FlushAndInvalidate); HW::Y2R::PerformConversion(conversion); |