summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/kernel/memory.cpp4
-rw-r--r--src/core/memory.cpp16
-rw-r--r--src/core/memory.h10
-rw-r--r--src/core/memory_setup.h6
-rw-r--r--src/video_core/rasterizer_interface.h4
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp4
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.h4
-rw-r--r--src/video_core/swrasterizer/swrasterizer.h4
8 files changed, 26 insertions, 26 deletions
diff --git a/src/core/hle/kernel/memory.cpp b/src/core/hle/kernel/memory.cpp
index 95d3a6bf6..d990d0569 100644
--- a/src/core/hle/kernel/memory.cpp
+++ b/src/core/hle/kernel/memory.cpp
@@ -69,8 +69,8 @@ void MemoryInit(u32 mem_type) {
69 // app_mem_malloc does not always match the configured size for memory_region[0]: in case the 69 // app_mem_malloc does not always match the configured size for memory_region[0]: in case the
70 // n3DS type override is in effect it reports the size the game expects, not the real one. 70 // n3DS type override is in effect it reports the size the game expects, not the real one.
71 config_mem.app_mem_alloc = memory_region_sizes[mem_type][0]; 71 config_mem.app_mem_alloc = memory_region_sizes[mem_type][0];
72 config_mem.sys_mem_alloc = memory_regions[1].size; 72 config_mem.sys_mem_alloc = static_cast<u32_le>(memory_regions[1].size);
73 config_mem.base_mem_alloc = memory_regions[2].size; 73 config_mem.base_mem_alloc = static_cast<u32_le>(memory_regions[2].size);
74} 74}
75 75
76void MemoryShutdown() { 76void MemoryShutdown() {
diff --git a/src/core/memory.cpp b/src/core/memory.cpp
index 9a5661a99..93ffe9938 100644
--- a/src/core/memory.cpp
+++ b/src/core/memory.cpp
@@ -37,7 +37,7 @@ PageTable* GetCurrentPageTable() {
37 return current_page_table; 37 return current_page_table;
38} 38}
39 39
40static void MapPages(PageTable& page_table, VAddr base, u32 size, u8* memory, PageType type) { 40static void MapPages(PageTable& page_table, VAddr base, u64 size, u8* memory, PageType type) {
41 LOG_DEBUG(HW_Memory, "Mapping %p onto %08X-%08X", memory, base * PAGE_SIZE, 41 LOG_DEBUG(HW_Memory, "Mapping %p onto %08X-%08X", memory, base * PAGE_SIZE,
42 (base + size) * PAGE_SIZE); 42 (base + size) * PAGE_SIZE);
43 43
@@ -58,13 +58,13 @@ static void MapPages(PageTable& page_table, VAddr base, u32 size, u8* memory, Pa
58 } 58 }
59} 59}
60 60
61void MapMemoryRegion(PageTable& page_table, VAddr base, u32 size, u8* target) { 61void MapMemoryRegion(PageTable& page_table, VAddr base, u64 size, u8* target) {
62 ASSERT_MSG((size & PAGE_MASK) == 0, "non-page aligned size: %08X", size); 62 ASSERT_MSG((size & PAGE_MASK) == 0, "non-page aligned size: %08X", size);
63 ASSERT_MSG((base & PAGE_MASK) == 0, "non-page aligned base: %08X", base); 63 ASSERT_MSG((base & PAGE_MASK) == 0, "non-page aligned base: %08X", base);
64 MapPages(page_table, base / PAGE_SIZE, size / PAGE_SIZE, target, PageType::Memory); 64 MapPages(page_table, base / PAGE_SIZE, size / PAGE_SIZE, target, PageType::Memory);
65} 65}
66 66
67void MapIoRegion(PageTable& page_table, VAddr base, u32 size, MMIORegionPointer mmio_handler) { 67void MapIoRegion(PageTable& page_table, VAddr base, u64 size, MMIORegionPointer mmio_handler) {
68 ASSERT_MSG((size & PAGE_MASK) == 0, "non-page aligned size: %08X", size); 68 ASSERT_MSG((size & PAGE_MASK) == 0, "non-page aligned size: %08X", size);
69 ASSERT_MSG((base & PAGE_MASK) == 0, "non-page aligned base: %08X", base); 69 ASSERT_MSG((base & PAGE_MASK) == 0, "non-page aligned base: %08X", base);
70 MapPages(page_table, base / PAGE_SIZE, size / PAGE_SIZE, nullptr, PageType::Special); 70 MapPages(page_table, base / PAGE_SIZE, size / PAGE_SIZE, nullptr, PageType::Special);
@@ -72,7 +72,7 @@ void MapIoRegion(PageTable& page_table, VAddr base, u32 size, MMIORegionPointer
72 page_table.special_regions.emplace_back(SpecialRegion{base, size, mmio_handler}); 72 page_table.special_regions.emplace_back(SpecialRegion{base, size, mmio_handler});
73} 73}
74 74
75void UnmapRegion(PageTable& page_table, VAddr base, u32 size) { 75void UnmapRegion(PageTable& page_table, VAddr base, u64 size) {
76 ASSERT_MSG((size & PAGE_MASK) == 0, "non-page aligned size: %08X", size); 76 ASSERT_MSG((size & PAGE_MASK) == 0, "non-page aligned size: %08X", size);
77 ASSERT_MSG((base & PAGE_MASK) == 0, "non-page aligned base: %08X", base); 77 ASSERT_MSG((base & PAGE_MASK) == 0, "non-page aligned base: %08X", base);
78 MapPages(page_table, base / PAGE_SIZE, size / PAGE_SIZE, nullptr, PageType::Unmapped); 78 MapPages(page_table, base / PAGE_SIZE, size / PAGE_SIZE, nullptr, PageType::Unmapped);
@@ -334,7 +334,7 @@ u8* GetPhysicalPointer(PAddr address) {
334 return target_pointer; 334 return target_pointer;
335} 335}
336 336
337void RasterizerMarkRegionCached(PAddr start, u32 size, int count_delta) { 337void RasterizerMarkRegionCached(PAddr start, u64 size, int count_delta) {
338 if (start == 0) { 338 if (start == 0) {
339 return; 339 return;
340 } 340 }
@@ -413,13 +413,13 @@ void RasterizerMarkRegionCached(PAddr start, u32 size, int count_delta) {
413 } 413 }
414} 414}
415 415
416void RasterizerFlushRegion(PAddr start, u32 size) { 416void RasterizerFlushRegion(PAddr start, u64 size) {
417 if (VideoCore::g_renderer != nullptr) { 417 if (VideoCore::g_renderer != nullptr) {
418 VideoCore::g_renderer->Rasterizer()->FlushRegion(start, size); 418 VideoCore::g_renderer->Rasterizer()->FlushRegion(start, size);
419 } 419 }
420} 420}
421 421
422void RasterizerFlushAndInvalidateRegion(PAddr start, u32 size) { 422void RasterizerFlushAndInvalidateRegion(PAddr start, u64 size) {
423 // Since pages are unmapped on shutdown after video core is shutdown, the renderer may be 423 // Since pages are unmapped on shutdown after video core is shutdown, the renderer may be
424 // null here 424 // null here
425 if (VideoCore::g_renderer != nullptr) { 425 if (VideoCore::g_renderer != nullptr) {
@@ -427,7 +427,7 @@ void RasterizerFlushAndInvalidateRegion(PAddr start, u32 size) {
427 } 427 }
428} 428}
429 429
430void RasterizerFlushVirtualRegion(VAddr start, u32 size, FlushMode mode) { 430void RasterizerFlushVirtualRegion(VAddr start, u64 size, FlushMode mode) {
431 // Since pages are unmapped on shutdown after video core is shutdown, the renderer may be 431 // Since pages are unmapped on shutdown after video core is shutdown, the renderer may be
432 // null here 432 // null here
433 if (VideoCore::g_renderer != nullptr) { 433 if (VideoCore::g_renderer != nullptr) {
diff --git a/src/core/memory.h b/src/core/memory.h
index 71ba487fc..91bd4d889 100644
--- a/src/core/memory.h
+++ b/src/core/memory.h
@@ -45,7 +45,7 @@ enum class PageType {
45 45
46struct SpecialRegion { 46struct SpecialRegion {
47 VAddr base; 47 VAddr base;
48 u32 size; 48 u64 size;
49 MMIORegionPointer handler; 49 MMIORegionPointer handler;
50}; 50};
51 51
@@ -247,17 +247,17 @@ u8* GetPhysicalPointer(PAddr address);
247 * Adds the supplied value to the rasterizer resource cache counter of each 247 * Adds the supplied value to the rasterizer resource cache counter of each
248 * page touching the region. 248 * page touching the region.
249 */ 249 */
250void RasterizerMarkRegionCached(PAddr start, u32 size, int count_delta); 250void RasterizerMarkRegionCached(PAddr start, u64 size, int count_delta);
251 251
252/** 252/**
253 * Flushes any externally cached rasterizer resources touching the given region. 253 * Flushes any externally cached rasterizer resources touching the given region.
254 */ 254 */
255void RasterizerFlushRegion(PAddr start, u32 size); 255void RasterizerFlushRegion(PAddr start, u64 size);
256 256
257/** 257/**
258 * Flushes and invalidates any externally cached rasterizer resources touching the given region. 258 * Flushes and invalidates any externally cached rasterizer resources touching the given region.
259 */ 259 */
260void RasterizerFlushAndInvalidateRegion(PAddr start, u32 size); 260void RasterizerFlushAndInvalidateRegion(PAddr start, u64 size);
261 261
262enum class FlushMode { 262enum class FlushMode {
263 /// Write back modified surfaces to RAM 263 /// Write back modified surfaces to RAM
@@ -270,6 +270,6 @@ enum class FlushMode {
270 * Flushes and invalidates any externally cached rasterizer resources touching the given virtual 270 * Flushes and invalidates any externally cached rasterizer resources touching the given virtual
271 * address region. 271 * address region.
272 */ 272 */
273void RasterizerFlushVirtualRegion(VAddr start, u32 size, FlushMode mode); 273void RasterizerFlushVirtualRegion(VAddr start, u64 size, FlushMode mode);
274 274
275} // namespace Memory 275} // namespace Memory
diff --git a/src/core/memory_setup.h b/src/core/memory_setup.h
index c58baa50b..ff4dcc936 100644
--- a/src/core/memory_setup.h
+++ b/src/core/memory_setup.h
@@ -17,7 +17,7 @@ namespace Memory {
17 * @param size The amount of bytes to map. Must be page-aligned. 17 * @param size The amount of bytes to map. Must be page-aligned.
18 * @param target Buffer with the memory backing the mapping. Must be of length at least `size`. 18 * @param target Buffer with the memory backing the mapping. Must be of length at least `size`.
19 */ 19 */
20void MapMemoryRegion(PageTable& page_table, VAddr base, u32 size, u8* target); 20void MapMemoryRegion(PageTable& page_table, VAddr base, u64 size, u8* target);
21 21
22/** 22/**
23 * Maps a region of the emulated process address space as a IO region. 23 * Maps a region of the emulated process address space as a IO region.
@@ -26,7 +26,7 @@ void MapMemoryRegion(PageTable& page_table, VAddr base, u32 size, u8* target);
26 * @param size The amount of bytes to map. Must be page-aligned. 26 * @param size The amount of bytes to map. Must be page-aligned.
27 * @param mmio_handler The handler that backs the mapping. 27 * @param mmio_handler The handler that backs the mapping.
28 */ 28 */
29void MapIoRegion(PageTable& page_table, VAddr base, u32 size, MMIORegionPointer mmio_handler); 29void MapIoRegion(PageTable& page_table, VAddr base, u64 size, MMIORegionPointer mmio_handler);
30 30
31void UnmapRegion(PageTable& page_table, VAddr base, u32 size); 31void UnmapRegion(PageTable& page_table, VAddr base, u64 size);
32} 32}
diff --git a/src/video_core/rasterizer_interface.h b/src/video_core/rasterizer_interface.h
index 8ef7e74c7..4b099bc55 100644
--- a/src/video_core/rasterizer_interface.h
+++ b/src/video_core/rasterizer_interface.h
@@ -36,11 +36,11 @@ public:
36 virtual void FlushAll() = 0; 36 virtual void FlushAll() = 0;
37 37
38 /// Notify rasterizer that any caches of the specified region should be flushed to 3DS memory 38 /// Notify rasterizer that any caches of the specified region should be flushed to 3DS memory
39 virtual void FlushRegion(PAddr addr, u32 size) = 0; 39 virtual void FlushRegion(PAddr addr, u64 size) = 0;
40 40
41 /// Notify rasterizer that any caches of the specified region should be flushed to 3DS memory 41 /// Notify rasterizer that any caches of the specified region should be flushed to 3DS memory
42 /// and invalidated 42 /// and invalidated
43 virtual void FlushAndInvalidateRegion(PAddr addr, u32 size) = 0; 43 virtual void FlushAndInvalidateRegion(PAddr addr, u64 size) = 0;
44 44
45 /// Attempt to use a faster method to perform a display transfer with is_texture_copy = 0 45 /// Attempt to use a faster method to perform a display transfer with is_texture_copy = 0
46 virtual bool AccelerateDisplayTransfer(const GPU::Regs::DisplayTransferConfig& config) { 46 virtual bool AccelerateDisplayTransfer(const GPU::Regs::DisplayTransferConfig& config) {
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index 7e09e4712..becaf7bde 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -889,12 +889,12 @@ void RasterizerOpenGL::FlushAll() {
889 res_cache.FlushAll(); 889 res_cache.FlushAll();
890} 890}
891 891
892void RasterizerOpenGL::FlushRegion(PAddr addr, u32 size) { 892void RasterizerOpenGL::FlushRegion(PAddr addr, u64 size) {
893 MICROPROFILE_SCOPE(OpenGL_CacheManagement); 893 MICROPROFILE_SCOPE(OpenGL_CacheManagement);
894 res_cache.FlushRegion(addr, size, nullptr, false); 894 res_cache.FlushRegion(addr, size, nullptr, false);
895} 895}
896 896
897void RasterizerOpenGL::FlushAndInvalidateRegion(PAddr addr, u32 size) { 897void RasterizerOpenGL::FlushAndInvalidateRegion(PAddr addr, u64 size) {
898 MICROPROFILE_SCOPE(OpenGL_CacheManagement); 898 MICROPROFILE_SCOPE(OpenGL_CacheManagement);
899 res_cache.FlushRegion(addr, size, nullptr, true); 899 res_cache.FlushRegion(addr, size, nullptr, true);
900} 900}
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.h b/src/video_core/renderer_opengl/gl_rasterizer.h
index 46c62961c..d02c157e8 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.h
+++ b/src/video_core/renderer_opengl/gl_rasterizer.h
@@ -42,8 +42,8 @@ public:
42 void DrawTriangles() override; 42 void DrawTriangles() override;
43 void NotifyPicaRegisterChanged(u32 id) override; 43 void NotifyPicaRegisterChanged(u32 id) override;
44 void FlushAll() override; 44 void FlushAll() override;
45 void FlushRegion(PAddr addr, u32 size) override; 45 void FlushRegion(PAddr addr, u64 size) override;
46 void FlushAndInvalidateRegion(PAddr addr, u32 size) override; 46 void FlushAndInvalidateRegion(PAddr addr, u64 size) override;
47 bool AccelerateDisplayTransfer(const GPU::Regs::DisplayTransferConfig& config) override; 47 bool AccelerateDisplayTransfer(const GPU::Regs::DisplayTransferConfig& config) override;
48 bool AccelerateTextureCopy(const GPU::Regs::DisplayTransferConfig& config) override; 48 bool AccelerateTextureCopy(const GPU::Regs::DisplayTransferConfig& config) override;
49 bool AccelerateFill(const GPU::Regs::MemoryFillConfig& config) override; 49 bool AccelerateFill(const GPU::Regs::MemoryFillConfig& config) override;
diff --git a/src/video_core/swrasterizer/swrasterizer.h b/src/video_core/swrasterizer/swrasterizer.h
index 6d42d7409..04ebd5312 100644
--- a/src/video_core/swrasterizer/swrasterizer.h
+++ b/src/video_core/swrasterizer/swrasterizer.h
@@ -21,7 +21,7 @@ class SWRasterizer : public RasterizerInterface {
21 void DrawTriangles() override {} 21 void DrawTriangles() override {}
22 void NotifyPicaRegisterChanged(u32 id) override {} 22 void NotifyPicaRegisterChanged(u32 id) override {}
23 void FlushAll() override {} 23 void FlushAll() override {}
24 void FlushRegion(PAddr addr, u32 size) override {} 24 void FlushRegion(PAddr addr, u64 size) override {}
25 void FlushAndInvalidateRegion(PAddr addr, u32 size) override {} 25 void FlushAndInvalidateRegion(PAddr addr, u64 size) override {}
26}; 26};
27} 27}