diff options
| author | 2020-06-21 22:38:04 -0400 | |
|---|---|---|
| committer | 2020-06-21 22:38:04 -0400 | |
| commit | 14a1181a97e096de6ac8fb4f4b80f01e092aae9d (patch) | |
| tree | 798af67b758500927791cbbb148f60e32de6bc90 | |
| parent | Merge pull request #4126 from lioncash/noexcept (diff) | |
| parent | memory_manager: Eliminate variable shadowing (diff) | |
| download | yuzu-14a1181a97e096de6ac8fb4f4b80f01e092aae9d.tar.gz yuzu-14a1181a97e096de6ac8fb4f4b80f01e092aae9d.tar.xz yuzu-14a1181a97e096de6ac8fb4f4b80f01e092aae9d.zip | |
Merge pull request #4122 from lioncash/hide
video_core: Eliminate some variable shadowing
| -rw-r--r-- | src/video_core/buffer_cache/buffer_cache.h | 3 | ||||
| -rw-r--r-- | src/video_core/macro/macro_jit_x64.cpp | 4 | ||||
| -rw-r--r-- | src/video_core/memory_manager.cpp | 40 | ||||
| -rw-r--r-- | src/video_core/memory_manager.h | 12 |
4 files changed, 31 insertions, 28 deletions
diff --git a/src/video_core/buffer_cache/buffer_cache.h b/src/video_core/buffer_cache/buffer_cache.h index 308d8b55f..bae1d527c 100644 --- a/src/video_core/buffer_cache/buffer_cache.h +++ b/src/video_core/buffer_cache/buffer_cache.h | |||
| @@ -47,7 +47,7 @@ public: | |||
| 47 | bool is_written = false, bool use_fast_cbuf = false) { | 47 | bool is_written = false, bool use_fast_cbuf = false) { |
| 48 | std::lock_guard lock{mutex}; | 48 | std::lock_guard lock{mutex}; |
| 49 | 49 | ||
| 50 | const auto& memory_manager = system.GPU().MemoryManager(); | 50 | auto& memory_manager = system.GPU().MemoryManager(); |
| 51 | const std::optional<VAddr> cpu_addr_opt = memory_manager.GpuToCpuAddress(gpu_addr); | 51 | const std::optional<VAddr> cpu_addr_opt = memory_manager.GpuToCpuAddress(gpu_addr); |
| 52 | if (!cpu_addr_opt) { | 52 | if (!cpu_addr_opt) { |
| 53 | return {GetEmptyBuffer(size), 0}; | 53 | return {GetEmptyBuffer(size), 0}; |
| @@ -59,7 +59,6 @@ public: | |||
| 59 | constexpr std::size_t max_stream_size = 0x800; | 59 | constexpr std::size_t max_stream_size = 0x800; |
| 60 | if (use_fast_cbuf || size < max_stream_size) { | 60 | if (use_fast_cbuf || size < max_stream_size) { |
| 61 | if (!is_written && !IsRegionWritten(cpu_addr, cpu_addr + size - 1)) { | 61 | if (!is_written && !IsRegionWritten(cpu_addr, cpu_addr + size - 1)) { |
| 62 | auto& memory_manager = system.GPU().MemoryManager(); | ||
| 63 | const bool is_granular = memory_manager.IsGranularRange(gpu_addr, size); | 62 | const bool is_granular = memory_manager.IsGranularRange(gpu_addr, size); |
| 64 | if (use_fast_cbuf) { | 63 | if (use_fast_cbuf) { |
| 65 | u8* dest; | 64 | u8* dest; |
diff --git a/src/video_core/macro/macro_jit_x64.cpp b/src/video_core/macro/macro_jit_x64.cpp index 389b58989..30abb66e5 100644 --- a/src/video_core/macro/macro_jit_x64.cpp +++ b/src/video_core/macro/macro_jit_x64.cpp | |||
| @@ -553,7 +553,7 @@ Xbyak::Reg32 MacroJITx64Impl::Compile_GetRegister(u32 index, Xbyak::Reg32 dst) { | |||
| 553 | } | 553 | } |
| 554 | 554 | ||
| 555 | void MacroJITx64Impl::Compile_ProcessResult(Macro::ResultOperation operation, u32 reg) { | 555 | void MacroJITx64Impl::Compile_ProcessResult(Macro::ResultOperation operation, u32 reg) { |
| 556 | auto SetRegister = [=](u32 reg, Xbyak::Reg32 result) { | 556 | const auto SetRegister = [this](u32 reg, const Xbyak::Reg32& result) { |
| 557 | // Register 0 is supposed to always return 0. NOP is implemented as a store to the zero | 557 | // Register 0 is supposed to always return 0. NOP is implemented as a store to the zero |
| 558 | // register. | 558 | // register. |
| 559 | if (reg == 0) { | 559 | if (reg == 0) { |
| @@ -561,7 +561,7 @@ void MacroJITx64Impl::Compile_ProcessResult(Macro::ResultOperation operation, u3 | |||
| 561 | } | 561 | } |
| 562 | mov(dword[STATE + offsetof(JITState, registers) + reg * sizeof(u32)], result); | 562 | mov(dword[STATE + offsetof(JITState, registers) + reg * sizeof(u32)], result); |
| 563 | }; | 563 | }; |
| 564 | auto SetMethodAddress = [=](Xbyak::Reg32 reg) { mov(METHOD_ADDRESS, reg); }; | 564 | const auto SetMethodAddress = [this](const Xbyak::Reg32& reg) { mov(METHOD_ADDRESS, reg); }; |
| 565 | 565 | ||
| 566 | switch (operation) { | 566 | switch (operation) { |
| 567 | case Macro::ResultOperation::IgnoreAndFetch: | 567 | case Macro::ResultOperation::IgnoreAndFetch: |
diff --git a/src/video_core/memory_manager.cpp b/src/video_core/memory_manager.cpp index dbee9f634..ff5505d12 100644 --- a/src/video_core/memory_manager.cpp +++ b/src/video_core/memory_manager.cpp | |||
| @@ -210,10 +210,11 @@ bool MemoryManager::IsBlockContinuous(const GPUVAddr start, const std::size_t si | |||
| 210 | return range == inner_size; | 210 | return range == inner_size; |
| 211 | } | 211 | } |
| 212 | 212 | ||
| 213 | void MemoryManager::ReadBlock(GPUVAddr src_addr, void* dest_buffer, const std::size_t size) const { | 213 | void MemoryManager::ReadBlock(GPUVAddr gpu_src_addr, void* dest_buffer, |
| 214 | const std::size_t size) const { | ||
| 214 | std::size_t remaining_size{size}; | 215 | std::size_t remaining_size{size}; |
| 215 | std::size_t page_index{src_addr >> page_bits}; | 216 | std::size_t page_index{gpu_src_addr >> page_bits}; |
| 216 | std::size_t page_offset{src_addr & page_mask}; | 217 | std::size_t page_offset{gpu_src_addr & page_mask}; |
| 217 | 218 | ||
| 218 | auto& memory = system.Memory(); | 219 | auto& memory = system.Memory(); |
| 219 | 220 | ||
| @@ -234,11 +235,11 @@ void MemoryManager::ReadBlock(GPUVAddr src_addr, void* dest_buffer, const std::s | |||
| 234 | } | 235 | } |
| 235 | } | 236 | } |
| 236 | 237 | ||
| 237 | void MemoryManager::ReadBlockUnsafe(GPUVAddr src_addr, void* dest_buffer, | 238 | void MemoryManager::ReadBlockUnsafe(GPUVAddr gpu_src_addr, void* dest_buffer, |
| 238 | const std::size_t size) const { | 239 | const std::size_t size) const { |
| 239 | std::size_t remaining_size{size}; | 240 | std::size_t remaining_size{size}; |
| 240 | std::size_t page_index{src_addr >> page_bits}; | 241 | std::size_t page_index{gpu_src_addr >> page_bits}; |
| 241 | std::size_t page_offset{src_addr & page_mask}; | 242 | std::size_t page_offset{gpu_src_addr & page_mask}; |
| 242 | 243 | ||
| 243 | auto& memory = system.Memory(); | 244 | auto& memory = system.Memory(); |
| 244 | 245 | ||
| @@ -259,10 +260,11 @@ void MemoryManager::ReadBlockUnsafe(GPUVAddr src_addr, void* dest_buffer, | |||
| 259 | } | 260 | } |
| 260 | } | 261 | } |
| 261 | 262 | ||
| 262 | void MemoryManager::WriteBlock(GPUVAddr dest_addr, const void* src_buffer, const std::size_t size) { | 263 | void MemoryManager::WriteBlock(GPUVAddr gpu_dest_addr, const void* src_buffer, |
| 264 | const std::size_t size) { | ||
| 263 | std::size_t remaining_size{size}; | 265 | std::size_t remaining_size{size}; |
| 264 | std::size_t page_index{dest_addr >> page_bits}; | 266 | std::size_t page_index{gpu_dest_addr >> page_bits}; |
| 265 | std::size_t page_offset{dest_addr & page_mask}; | 267 | std::size_t page_offset{gpu_dest_addr & page_mask}; |
| 266 | 268 | ||
| 267 | auto& memory = system.Memory(); | 269 | auto& memory = system.Memory(); |
| 268 | 270 | ||
| @@ -283,11 +285,11 @@ void MemoryManager::WriteBlock(GPUVAddr dest_addr, const void* src_buffer, const | |||
| 283 | } | 285 | } |
| 284 | } | 286 | } |
| 285 | 287 | ||
| 286 | void MemoryManager::WriteBlockUnsafe(GPUVAddr dest_addr, const void* src_buffer, | 288 | void MemoryManager::WriteBlockUnsafe(GPUVAddr gpu_dest_addr, const void* src_buffer, |
| 287 | const std::size_t size) { | 289 | const std::size_t size) { |
| 288 | std::size_t remaining_size{size}; | 290 | std::size_t remaining_size{size}; |
| 289 | std::size_t page_index{dest_addr >> page_bits}; | 291 | std::size_t page_index{gpu_dest_addr >> page_bits}; |
| 290 | std::size_t page_offset{dest_addr & page_mask}; | 292 | std::size_t page_offset{gpu_dest_addr & page_mask}; |
| 291 | 293 | ||
| 292 | auto& memory = system.Memory(); | 294 | auto& memory = system.Memory(); |
| 293 | 295 | ||
| @@ -306,16 +308,18 @@ void MemoryManager::WriteBlockUnsafe(GPUVAddr dest_addr, const void* src_buffer, | |||
| 306 | } | 308 | } |
| 307 | } | 309 | } |
| 308 | 310 | ||
| 309 | void MemoryManager::CopyBlock(GPUVAddr dest_addr, GPUVAddr src_addr, const std::size_t size) { | 311 | void MemoryManager::CopyBlock(GPUVAddr gpu_dest_addr, GPUVAddr gpu_src_addr, |
| 312 | const std::size_t size) { | ||
| 310 | std::vector<u8> tmp_buffer(size); | 313 | std::vector<u8> tmp_buffer(size); |
| 311 | ReadBlock(src_addr, tmp_buffer.data(), size); | 314 | ReadBlock(gpu_src_addr, tmp_buffer.data(), size); |
| 312 | WriteBlock(dest_addr, tmp_buffer.data(), size); | 315 | WriteBlock(gpu_dest_addr, tmp_buffer.data(), size); |
| 313 | } | 316 | } |
| 314 | 317 | ||
| 315 | void MemoryManager::CopyBlockUnsafe(GPUVAddr dest_addr, GPUVAddr src_addr, const std::size_t size) { | 318 | void MemoryManager::CopyBlockUnsafe(GPUVAddr gpu_dest_addr, GPUVAddr gpu_src_addr, |
| 319 | const std::size_t size) { | ||
| 316 | std::vector<u8> tmp_buffer(size); | 320 | std::vector<u8> tmp_buffer(size); |
| 317 | ReadBlockUnsafe(src_addr, tmp_buffer.data(), size); | 321 | ReadBlockUnsafe(gpu_src_addr, tmp_buffer.data(), size); |
| 318 | WriteBlockUnsafe(dest_addr, tmp_buffer.data(), size); | 322 | WriteBlockUnsafe(gpu_dest_addr, tmp_buffer.data(), size); |
| 319 | } | 323 | } |
| 320 | 324 | ||
| 321 | bool MemoryManager::IsGranularRange(GPUVAddr gpu_addr, std::size_t size) { | 325 | bool MemoryManager::IsGranularRange(GPUVAddr gpu_addr, std::size_t size) { |
diff --git a/src/video_core/memory_manager.h b/src/video_core/memory_manager.h index 0ddd52d5a..87658e87a 100644 --- a/src/video_core/memory_manager.h +++ b/src/video_core/memory_manager.h | |||
| @@ -79,9 +79,9 @@ public: | |||
| 79 | * in the Host Memory counterpart. Note: This functions cause Host GPU Memory | 79 | * in the Host Memory counterpart. Note: This functions cause Host GPU Memory |
| 80 | * Flushes and Invalidations, respectively to each operation. | 80 | * Flushes and Invalidations, respectively to each operation. |
| 81 | */ | 81 | */ |
| 82 | void ReadBlock(GPUVAddr src_addr, void* dest_buffer, std::size_t size) const; | 82 | void ReadBlock(GPUVAddr gpu_src_addr, void* dest_buffer, std::size_t size) const; |
| 83 | void WriteBlock(GPUVAddr dest_addr, const void* src_buffer, std::size_t size); | 83 | void WriteBlock(GPUVAddr gpu_dest_addr, const void* src_buffer, std::size_t size); |
| 84 | void CopyBlock(GPUVAddr dest_addr, GPUVAddr src_addr, std::size_t size); | 84 | void CopyBlock(GPUVAddr gpu_dest_addr, GPUVAddr gpu_src_addr, std::size_t size); |
| 85 | 85 | ||
| 86 | /** | 86 | /** |
| 87 | * ReadBlockUnsafe and WriteBlockUnsafe are special versions of ReadBlock and | 87 | * ReadBlockUnsafe and WriteBlockUnsafe are special versions of ReadBlock and |
| @@ -93,9 +93,9 @@ public: | |||
| 93 | * WriteBlockUnsafe instead of WriteBlock since it shouldn't invalidate the texture | 93 | * WriteBlockUnsafe instead of WriteBlock since it shouldn't invalidate the texture |
| 94 | * being flushed. | 94 | * being flushed. |
| 95 | */ | 95 | */ |
| 96 | void ReadBlockUnsafe(GPUVAddr src_addr, void* dest_buffer, std::size_t size) const; | 96 | void ReadBlockUnsafe(GPUVAddr gpu_src_addr, void* dest_buffer, std::size_t size) const; |
| 97 | void WriteBlockUnsafe(GPUVAddr dest_addr, const void* src_buffer, std::size_t size); | 97 | void WriteBlockUnsafe(GPUVAddr gpu_dest_addr, const void* src_buffer, std::size_t size); |
| 98 | void CopyBlockUnsafe(GPUVAddr dest_addr, GPUVAddr src_addr, std::size_t size); | 98 | void CopyBlockUnsafe(GPUVAddr gpu_dest_addr, GPUVAddr gpu_src_addr, std::size_t size); |
| 99 | 99 | ||
| 100 | /** | 100 | /** |
| 101 | * IsGranularRange checks if a gpu region can be simply read with a pointer | 101 | * IsGranularRange checks if a gpu region can be simply read with a pointer |