diff options
author | pineappleEA <pineaea@gmail.com> | 2022-01-29 18:52:22 +0100 |
---|---|---|
committer | pineappleEA <pineaea@gmail.com> | 2022-01-29 18:52:22 +0100 |
commit | b9da2703ada0c066448a730f2145aa6352af7f0c (patch) | |
tree | 8095e83fe09e5ba32ec44220044127faf336caa7 | |
parent | fc6a463ba9c3875935af5b40567d72e4e593c4a6 (diff) |
early-access version 2445EA-2445
-rwxr-xr-x | README.md | 2 | ||||
-rwxr-xr-x | src/video_core/engines/engine_upload.cpp | 1 | ||||
-rwxr-xr-x | src/video_core/memory_manager.h | 4 |
3 files changed, 4 insertions, 3 deletions
@@ -1,7 +1,7 @@ | |||
1 | yuzu emulator early access | 1 | yuzu emulator early access |
2 | ============= | 2 | ============= |
3 | 3 | ||
4 | This is the source code for early-access 2444. | 4 | This is the source code for early-access 2445. |
5 | 5 | ||
6 | ## Legal Notice | 6 | ## Legal Notice |
7 | 7 | ||
diff --git a/src/video_core/engines/engine_upload.cpp b/src/video_core/engines/engine_upload.cpp index 71d7e1473..9ac0e533c 100755 --- a/src/video_core/engines/engine_upload.cpp +++ b/src/video_core/engines/engine_upload.cpp | |||
@@ -32,6 +32,7 @@ void State::ProcessData(const u32 data, const bool is_last_call) { | |||
32 | } | 32 | } |
33 | const GPUVAddr address{regs.dest.Address()}; | 33 | const GPUVAddr address{regs.dest.Address()}; |
34 | if (is_linear) { | 34 | if (is_linear) { |
35 | memory_manager.FlushRegion(address, copy_size); | ||
35 | memory_manager.WriteBlock(address, inner_buffer.data(), copy_size); | 36 | memory_manager.WriteBlock(address, inner_buffer.data(), copy_size); |
36 | } else { | 37 | } else { |
37 | UNIMPLEMENTED_IF(regs.dest.z != 0); | 38 | UNIMPLEMENTED_IF(regs.dest.z != 0); |
diff --git a/src/video_core/memory_manager.h b/src/video_core/memory_manager.h index 38d8d9d74..61bfe47c7 100755 --- a/src/video_core/memory_manager.h +++ b/src/video_core/memory_manager.h | |||
@@ -143,6 +143,8 @@ public: | |||
143 | [[nodiscard]] GPUVAddr Allocate(std::size_t size, std::size_t align); | 143 | [[nodiscard]] GPUVAddr Allocate(std::size_t size, std::size_t align); |
144 | void Unmap(GPUVAddr gpu_addr, std::size_t size); | 144 | void Unmap(GPUVAddr gpu_addr, std::size_t size); |
145 | 145 | ||
146 | void FlushRegion(GPUVAddr gpu_addr, size_t size) const; | ||
147 | |||
146 | private: | 148 | private: |
147 | [[nodiscard]] PageEntry GetPageEntry(GPUVAddr gpu_addr) const; | 149 | [[nodiscard]] PageEntry GetPageEntry(GPUVAddr gpu_addr) const; |
148 | void SetPageEntry(GPUVAddr gpu_addr, PageEntry page_entry, std::size_t size = page_size); | 150 | void SetPageEntry(GPUVAddr gpu_addr, PageEntry page_entry, std::size_t size = page_size); |
@@ -153,8 +155,6 @@ private: | |||
153 | void TryLockPage(PageEntry page_entry, std::size_t size); | 155 | void TryLockPage(PageEntry page_entry, std::size_t size); |
154 | void TryUnlockPage(PageEntry page_entry, std::size_t size); | 156 | void TryUnlockPage(PageEntry page_entry, std::size_t size); |
155 | 157 | ||
156 | void FlushRegion(GPUVAddr gpu_addr, size_t size) const; | ||
157 | |||
158 | void ReadBlockImpl(GPUVAddr gpu_src_addr, void* dest_buffer, std::size_t size, | 158 | void ReadBlockImpl(GPUVAddr gpu_src_addr, void* dest_buffer, std::size_t size, |
159 | bool is_safe) const; | 159 | bool is_safe) const; |
160 | void WriteBlockImpl(GPUVAddr gpu_dest_addr, const void* src_buffer, std::size_t size, | 160 | void WriteBlockImpl(GPUVAddr gpu_dest_addr, const void* src_buffer, std::size_t size, |