summaryrefslogtreecommitdiff
path: root/src/video_core/buffer_cache
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2020-04-08 12:08:06 -0400
committerGravatar Fernando Sahmkow2020-04-08 12:08:06 -0400
commite00d992848d8c7a0117b79f1fe9c521c333bf6f7 (patch)
tree1b7cd21d9b0dc68fb75df763490315e950566047 /src/video_core/buffer_cache
parentClang Format. (diff)
downloadyuzu-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.h6
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 {