diff options
| author | 2020-04-08 12:08:06 -0400 | |
|---|---|---|
| committer | 2020-04-08 12:08:06 -0400 | |
| commit | e00d992848d8c7a0117b79f1fe9c521c333bf6f7 (patch) | |
| tree | 1b7cd21d9b0dc68fb75df763490315e950566047 /src/video_core/buffer_cache | |
| parent | Clang Format. (diff) | |
| download | yuzu-e00d992848d8c7a0117b79f1fe9c521c333bf6f7.tar.gz yuzu-e00d992848d8c7a0117b79f1fe9c521c333bf6f7.tar.xz yuzu-e00d992848d8c7a0117b79f1fe9c521c333bf6f7.zip | |
GPUMemoryManager: Improve safety of memory reads.
Diffstat (limited to 'src/video_core/buffer_cache')
| -rw-r--r-- | src/video_core/buffer_cache/buffer_cache.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/video_core/buffer_cache/buffer_cache.h b/src/video_core/buffer_cache/buffer_cache.h index 262d0fc6e..eb2f9ecf2 100644 --- a/src/video_core/buffer_cache/buffer_cache.h +++ b/src/video_core/buffer_cache/buffer_cache.h | |||
| @@ -53,7 +53,7 @@ public: | |||
| 53 | if (!is_written && !IsRegionWritten(cpu_addr, cpu_addr + size - 1)) { | 53 | if (!is_written && !IsRegionWritten(cpu_addr, cpu_addr + size - 1)) { |
| 54 | auto& memory_manager = system.GPU().MemoryManager(); | 54 | auto& memory_manager = system.GPU().MemoryManager(); |
| 55 | if (use_fast_cbuf) { | 55 | if (use_fast_cbuf) { |
| 56 | if (Tegra::MemoryManager::IsGranularRange(gpu_addr, size)) { | 56 | if (memory_manager.IsGranularRange(gpu_addr, size)) { |
| 57 | const auto host_ptr = memory_manager.GetPointer(gpu_addr); | 57 | const auto host_ptr = memory_manager.GetPointer(gpu_addr); |
| 58 | return ConstBufferUpload(host_ptr, size); | 58 | return ConstBufferUpload(host_ptr, size); |
| 59 | } else { | 59 | } else { |
| @@ -62,7 +62,7 @@ public: | |||
| 62 | return ConstBufferUpload(staging_buffer.data(), size); | 62 | return ConstBufferUpload(staging_buffer.data(), size); |
| 63 | } | 63 | } |
| 64 | } else { | 64 | } else { |
| 65 | if (Tegra::MemoryManager::IsGranularRange(gpu_addr, size)) { | 65 | if (memory_manager.IsGranularRange(gpu_addr, size)) { |
| 66 | const auto host_ptr = memory_manager.GetPointer(gpu_addr); | 66 | const auto host_ptr = memory_manager.GetPointer(gpu_addr); |
| 67 | return StreamBufferUpload(host_ptr, size, alignment); | 67 | return StreamBufferUpload(host_ptr, size, alignment); |
| 68 | } else { | 68 | } else { |
| @@ -228,7 +228,7 @@ private: | |||
| 228 | auto& memory_manager = system.GPU().MemoryManager(); | 228 | auto& memory_manager = system.GPU().MemoryManager(); |
| 229 | const VAddr cpu_addr_end = cpu_addr + size; | 229 | const VAddr cpu_addr_end = cpu_addr + size; |
| 230 | MapInterval new_map = CreateMap(cpu_addr, cpu_addr_end, gpu_addr); | 230 | MapInterval new_map = CreateMap(cpu_addr, cpu_addr_end, gpu_addr); |
| 231 | if (Tegra::MemoryManager::IsGranularRange(gpu_addr, size)) { | 231 | if (memory_manager.IsGranularRange(gpu_addr, size)) { |
| 232 | u8* host_ptr = memory_manager.GetPointer(gpu_addr); | 232 | u8* host_ptr = memory_manager.GetPointer(gpu_addr); |
| 233 | UploadBlockData(block, block->GetOffset(cpu_addr), size, host_ptr); | 233 | UploadBlockData(block, block->GetOffset(cpu_addr), size, host_ptr); |
| 234 | } else { | 234 | } else { |