aboutsummaryrefslogtreecommitdiff
path: root/src/core/memory.cpp
AgeCommit message (Collapse)Author
2018-08-04renderer_base: Make Rasterizer() return the rasterizer by referenceLioncash
All calling code assumes that the rasterizer will be in a valid state, which is a totally fine assumption. The only way the rasterizer wouldn't be is if initialization is done incorrectly or fails, which is checked against in System::Init().
2018-08-04video_core: Eliminate the g_renderer global variableLioncash
We move the initialization of the renderer to the core class, while keeping the creation of it and any other specifics in video_core. This way we can ensure that the renderer is initialized and doesn't give unfettered access to the renderer. This also makes dependencies on types more explicit. For example, the GPU class doesn't need to depend on the existence of a renderer, it only needs to care about whether or not it has a rasterizer, but since it was accessing the global variable, it was also making the renderer a part of its dependency chain. By adjusting the interface, we can get rid of this dependency.
2018-08-03memory: Remove unused GetSpecialHandlers() functionLioncash
This is just unused code, so we may as well get rid of it.
2018-08-03core/memory: Get rid of 3DS leftoversLioncash
Removes leftover code from citra that isn't needed.
2018-07-18Merge pull request #690 from lioncash/movebunnei
core/memory, core/hle/kernel: Use std::move where applicable
2018-07-18core/memory: Remove unused function GetSpecialHandlers() and an unused ↵Lioncash
variable in ZeroBlock()
2018-07-18core/memory, core/hle/kernel: Use std::move where applicableLioncash
Avoids pointless copies
2018-07-02Update clang formatJames Rowe
2018-07-02Rename logging macro back to LOG_*James Rowe
2018-06-22Kernel/Arbiters: Fix casts, cleanup comments/magic numbersMichael Scire
2018-05-10core: Implement multicore support.bunnei
2018-05-02general: Make formatting of logged hex values more straightforwardLioncash
This makes the formatting expectations more obvious (e.g. any zero padding specified is padding that's entirely dedicated to the value being printed, not any pretty-printing that also gets tacked on).
2018-04-27general: Convert assertion macros over to be fmt-compatibleLioncash
2018-04-25Merge pull request #387 from Subv/maxwell_2dbunnei
GPU: Partially implemented the 2D surface copy engine
2018-04-25Memory: Added a missing shortcut for Memory::CopyBlock for the current process.Subv
2018-04-25core/memory: Amend address widths in assertsLioncash
Addresses are 64-bit, these formatting specifiers are simply holdovers from citra. Adjust them to be the correct width.
2018-04-25core/memory: Move logging macros over to new fmt-capable onesLioncash
While we're at it, correct addresses to print all 64 bits where applicable, which were holdovers from citra.
2018-04-24gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses.bunnei
2018-03-26memory: Fix cast for ReadBlock/WriteBlock/ZeroBlock/CopyBlock.bunnei
2018-03-26memory: Add RasterizerMarkRegionCached code and cleanup.bunnei
2018-03-23Merge pull request #265 from bunnei/tegra-progress-2bunnei
Tegra progress 2
2018-03-23memory: Fix typo in RasterizerFlushVirtualRegion.bunnei
2018-03-23memory: RasterizerFlushVirtualRegion should also check process image region.bunnei
2018-03-23rasterizer: Flush and invalidate regions should be 64-bit.bunnei
2018-03-22memory: Port RasterizerFlushVirtualRegion from Citra.bunnei
2018-03-22Remove more N3DS ReferencesN00byKing
2018-03-14core: Move process creation out of global state.bunnei
2018-02-21memory: LOG_ERROR when falling off end of page tableMerryMage
2018-02-14memory: Silence formatting sepecifier warningsLioncash
2018-01-27memory: Replace all memory hooking with Special regionsMerryMage
2018-01-20memory: Return false for large VAddr in IsValidVirtualAddressRozlette
2018-01-12Remove gpu debugger and get yuzu qt to compileJames Rowe
2018-01-08fix macos buildMerryMage
2018-01-01core/video_core: Fix a bunch of u64 -> u32 warnings.bunnei
2017-10-18memory: Print addresses as 64-bit.bunnei
2017-10-09Merge remote-tracking branch 'upstream/master' into nxbunnei
# Conflicts: # src/core/CMakeLists.txt # src/core/arm/dynarmic/arm_dynarmic.cpp # src/core/arm/dyncom/arm_dyncom.cpp # src/core/hle/kernel/process.cpp # src/core/hle/kernel/thread.cpp # src/core/hle/kernel/thread.h # src/core/hle/kernel/vm_manager.cpp # src/core/loader/3dsx.cpp # src/core/loader/elf.cpp # src/core/loader/ncch.cpp # src/core/memory.cpp # src/core/memory.h # src/core/memory_setup.h
2017-10-01Memory: Make WriteBlock take a Process parameter on which to operateSubv
2017-10-01Memory: Make ReadBlock take a Process parameter on which to operateSubv
2017-09-30memory: Log with 64-bit values.bunnei
2017-09-30core: Various changes to support 64-bit addressing.bunnei
2017-09-30Fixed type conversion ambiguityHuw Pascoe
2017-09-29Merge pull request #2961 from Subv/load_titlesbunnei
Loaders: Don't automatically set the current process every time we load an application.
2017-09-26Merge pull request #2954 from Subv/cache_unmapped_memJames Rowe
Memory/RasterizerCache: Ignore unmapped memory regions when caching physical regions
2017-09-26Memory: Allow IsValidVirtualAddress to be called with a specific process ↵Subv
parameter. There is still an overload of IsValidVirtualAddress that only takes the VAddr and will default to the current process.
2017-09-25Memory/RasterizerCache: Ignore unmapped memory regions when caching physical ↵Subv
regions. Not all physical regions need to be mapped into the address space of every process, for example, system modules do not have a VRAM mapping. This fixes a crash when loading applets and system modules.
2017-09-24ARM_Interface: Implement PageTableChangedMerryMage
2017-09-24memory: Remove GetCurrentPageTablePointersMerryMage
2017-09-24memory: Add GetCurrentPageTable/SetCurrentPageTableMerryMage
Don't expose Memory::current_page_table as a global.
2017-09-15Merge pull request #2842 from Subv/switchable_page_tableB3n30
Kernel/Memory: Give each process its own page table and allow switching the current page table upon reschedule
2017-09-15Kernel/Memory: Make IsValidPhysicalAddress not go through the current ↵Subv
process' virtual memory mapping.