diff options
| author | 2019-11-26 15:19:15 -0500 | |
|---|---|---|
| committer | 2019-11-26 21:55:38 -0500 | |
| commit | 3f08e8d8d4ef16cf2468620fbfbdac46e43dcaef (patch) | |
| tree | 0e13cc5e2595d7019f8e9e80fe0279dc6a2b1d4c /src/video_core | |
| parent | core: Prepare various classes for memory read/write migration (diff) | |
| download | yuzu-3f08e8d8d4ef16cf2468620fbfbdac46e43dcaef.tar.gz yuzu-3f08e8d8d4ef16cf2468620fbfbdac46e43dcaef.tar.xz yuzu-3f08e8d8d4ef16cf2468620fbfbdac46e43dcaef.zip | |
core/memory: Migrate over GetPointer()
With all of the interfaces ready for migration, it's trivial to migrate
over GetPointer().
Diffstat (limited to 'src/video_core')
| -rw-r--r-- | src/video_core/memory_manager.cpp | 4 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 3 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/renderer_opengl.cpp | 2 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_buffer_cache.cpp | 6 |
4 files changed, 8 insertions, 7 deletions
diff --git a/src/video_core/memory_manager.cpp b/src/video_core/memory_manager.cpp index bffae940c..11848fbce 100644 --- a/src/video_core/memory_manager.cpp +++ b/src/video_core/memory_manager.cpp | |||
| @@ -52,7 +52,7 @@ GPUVAddr MemoryManager::MapBufferEx(VAddr cpu_addr, u64 size) { | |||
| 52 | const u64 aligned_size{Common::AlignUp(size, page_size)}; | 52 | const u64 aligned_size{Common::AlignUp(size, page_size)}; |
| 53 | const GPUVAddr gpu_addr{FindFreeRegion(address_space_base, aligned_size)}; | 53 | const GPUVAddr gpu_addr{FindFreeRegion(address_space_base, aligned_size)}; |
| 54 | 54 | ||
| 55 | MapBackingMemory(gpu_addr, Memory::GetPointer(cpu_addr), aligned_size, cpu_addr); | 55 | MapBackingMemory(gpu_addr, system.Memory().GetPointer(cpu_addr), aligned_size, cpu_addr); |
| 56 | ASSERT(system.CurrentProcess() | 56 | ASSERT(system.CurrentProcess() |
| 57 | ->VMManager() | 57 | ->VMManager() |
| 58 | .SetMemoryAttribute(cpu_addr, size, Kernel::MemoryAttribute::DeviceMapped, | 58 | .SetMemoryAttribute(cpu_addr, size, Kernel::MemoryAttribute::DeviceMapped, |
| @@ -67,7 +67,7 @@ GPUVAddr MemoryManager::MapBufferEx(VAddr cpu_addr, GPUVAddr gpu_addr, u64 size) | |||
| 67 | 67 | ||
| 68 | const u64 aligned_size{Common::AlignUp(size, page_size)}; | 68 | const u64 aligned_size{Common::AlignUp(size, page_size)}; |
| 69 | 69 | ||
| 70 | MapBackingMemory(gpu_addr, Memory::GetPointer(cpu_addr), aligned_size, cpu_addr); | 70 | MapBackingMemory(gpu_addr, system.Memory().GetPointer(cpu_addr), aligned_size, cpu_addr); |
| 71 | ASSERT(system.CurrentProcess() | 71 | ASSERT(system.CurrentProcess() |
| 72 | ->VMManager() | 72 | ->VMManager() |
| 73 | .SetMemoryAttribute(cpu_addr, size, Kernel::MemoryAttribute::DeviceMapped, | 73 | .SetMemoryAttribute(cpu_addr, size, Kernel::MemoryAttribute::DeviceMapped, |
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index 85f05544c..a568a4343 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp | |||
| @@ -19,6 +19,7 @@ | |||
| 19 | #include "common/scope_exit.h" | 19 | #include "common/scope_exit.h" |
| 20 | #include "core/core.h" | 20 | #include "core/core.h" |
| 21 | #include "core/hle/kernel/process.h" | 21 | #include "core/hle/kernel/process.h" |
| 22 | #include "core/memory.h" | ||
| 22 | #include "core/settings.h" | 23 | #include "core/settings.h" |
| 23 | #include "video_core/engines/kepler_compute.h" | 24 | #include "video_core/engines/kepler_compute.h" |
| 24 | #include "video_core/engines/maxwell_3d.h" | 25 | #include "video_core/engines/maxwell_3d.h" |
| @@ -838,7 +839,7 @@ bool RasterizerOpenGL::AccelerateDisplay(const Tegra::FramebufferConfig& config, | |||
| 838 | MICROPROFILE_SCOPE(OpenGL_CacheManagement); | 839 | MICROPROFILE_SCOPE(OpenGL_CacheManagement); |
| 839 | 840 | ||
| 840 | const auto surface{ | 841 | const auto surface{ |
| 841 | texture_cache.TryFindFramebufferSurface(Memory::GetPointer(framebuffer_addr))}; | 842 | texture_cache.TryFindFramebufferSurface(system.Memory().GetPointer(framebuffer_addr))}; |
| 842 | if (!surface) { | 843 | if (!surface) { |
| 843 | return {}; | 844 | return {}; |
| 844 | } | 845 | } |
diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp index 7646cbb0e..a57a564f7 100644 --- a/src/video_core/renderer_opengl/renderer_opengl.cpp +++ b/src/video_core/renderer_opengl/renderer_opengl.cpp | |||
| @@ -158,7 +158,7 @@ void RendererOpenGL::LoadFBToScreenInfo(const Tegra::FramebufferConfig& framebuf | |||
| 158 | VideoCore::Surface::PixelFormatFromGPUPixelFormat(framebuffer.pixel_format)}; | 158 | VideoCore::Surface::PixelFormatFromGPUPixelFormat(framebuffer.pixel_format)}; |
| 159 | const u32 bytes_per_pixel{VideoCore::Surface::GetBytesPerPixel(pixel_format)}; | 159 | const u32 bytes_per_pixel{VideoCore::Surface::GetBytesPerPixel(pixel_format)}; |
| 160 | const u64 size_in_bytes{framebuffer.stride * framebuffer.height * bytes_per_pixel}; | 160 | const u64 size_in_bytes{framebuffer.stride * framebuffer.height * bytes_per_pixel}; |
| 161 | const auto host_ptr{Memory::GetPointer(framebuffer_addr)}; | 161 | u8* const host_ptr{system.Memory().GetPointer(framebuffer_addr)}; |
| 162 | rasterizer->FlushRegion(ToCacheAddr(host_ptr), size_in_bytes); | 162 | rasterizer->FlushRegion(ToCacheAddr(host_ptr), size_in_bytes); |
| 163 | 163 | ||
| 164 | // TODO(Rodrigo): Read this from HLE | 164 | // TODO(Rodrigo): Read this from HLE |
diff --git a/src/video_core/renderer_vulkan/vk_buffer_cache.cpp b/src/video_core/renderer_vulkan/vk_buffer_cache.cpp index 959638747..46da81aaa 100644 --- a/src/video_core/renderer_vulkan/vk_buffer_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_buffer_cache.cpp | |||
| @@ -50,9 +50,9 @@ u64 VKBufferCache::UploadMemory(GPUVAddr gpu_addr, std::size_t size, u64 alignme | |||
| 50 | // TODO: Figure out which size is the best for given games. | 50 | // TODO: Figure out which size is the best for given games. |
| 51 | cache &= size >= 2048; | 51 | cache &= size >= 2048; |
| 52 | 52 | ||
| 53 | const auto& host_ptr{Memory::GetPointer(*cpu_addr)}; | 53 | u8* const host_ptr{cpu_memory.GetPointer(*cpu_addr)}; |
| 54 | if (cache) { | 54 | if (cache) { |
| 55 | auto entry = TryGet(host_ptr); | 55 | const auto entry = TryGet(host_ptr); |
| 56 | if (entry) { | 56 | if (entry) { |
| 57 | if (entry->GetSize() >= size && entry->GetAlignment() == alignment) { | 57 | if (entry->GetSize() >= size && entry->GetAlignment() == alignment) { |
| 58 | return entry->GetOffset(); | 58 | return entry->GetOffset(); |
| @@ -64,7 +64,7 @@ u64 VKBufferCache::UploadMemory(GPUVAddr gpu_addr, std::size_t size, u64 alignme | |||
| 64 | AlignBuffer(alignment); | 64 | AlignBuffer(alignment); |
| 65 | const u64 uploaded_offset = buffer_offset; | 65 | const u64 uploaded_offset = buffer_offset; |
| 66 | 66 | ||
| 67 | if (!host_ptr) { | 67 | if (host_ptr == nullptr) { |
| 68 | return uploaded_offset; | 68 | return uploaded_offset; |
| 69 | } | 69 | } |
| 70 | 70 | ||