summaryrefslogtreecommitdiffstats
path: root/src/video_core/memory_manager.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* memory_manager: Cleanup FindFreeRegion.bunnei2019-03-211-10/+4
|
* memory_manager: Use Common::AlignUp in public interface as needed.bunnei2019-03-211-11/+22
|
* memory_manager: Bug fixes and further cleanup.bunnei2019-03-211-66/+65
|
* memory_manager: Add protections for invalid GPU addresses.bunnei2019-03-211-15/+35
| | | | - Avoid a crash in Xenoblade Chronicles 2.
* gpu: Rewrite virtual memory manager using PageTable.bunnei2019-03-211-134/+338
|
* video_core: Refactor to use MemoryManager interface for all memory access.bunnei2019-03-161-9/+46
| | | | | | | | | | | # Conflicts: # src/video_core/engines/kepler_memory.cpp # src/video_core/engines/maxwell_3d.cpp # src/video_core/morton.cpp # src/video_core/morton.h # src/video_core/renderer_opengl/gl_global_cache.cpp # src/video_core/renderer_opengl/gl_global_cache.h # src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
* memory_manager: Check for reserved page statusReinUsesLisp2019-02-031-1/+2
|
* memory_manager: Do not allow 0 to be a valid GPUVAddr.bunnei2018-11-231-0/+7
| | | | - Fixes a bug with Undertale using 0 for a render target.
* memory_manager: Do not MapBufferEx over already in use memory.bunnei2018-11-011-27/+48
| | | | - This fixes rendering when changing areas in Super Mario Odyssey.
* global: Use std::optional instead of boost::optional (#1578)Frederic L2018-10-301-4/+4
| | | | | | | | | | | | | | | | * get rid of boost::optional * Remove optional references * Use std::reference_wrapper for optional references * Fix clang format * Fix clang format part 2 * Adressed feedback * Fix clang format and MacOS build
* memory_manager: Add a method for querying the end of a mapped GPU region.bunnei2018-10-161-0/+10
|
* video_core/memory_manager: Replace a loop with std::array's fill() function in PageSlot()Lioncash2018-07-241-3/+1
| | | | | We already have a function that does what this code was doing, so let's use that instead.
* video_core/memory_manager: Avoid repeated unnecessary page slot lookupsLioncash2018-07-241-11/+21
| | | | | | | We don't need to keep calling the same function over and over again in a loop, especially when the behavior is slightly non-trivial. We can just keep a reference to the looked up location and do all the checking and assignments based off it instead.
* GPU: Allow GpuToCpuAddress to return boost::none for unmapped addresses.Subv2018-07-021-2/+2
|
* GPU: Implemented nvhost-as-gpu's UnmapBuffer ioctl.Subv2018-05-201-0/+19
| | | | It removes a mapping previously created with the MapBufferEx ioctl.
* memory_manager: Add implement CpuToGpuAddress.bunnei2018-04-241-0/+17
|
* memory_manager: Make GpuToCpuAddress return an optional.bunnei2018-04-241-1/+6
|
* memory_manager: Use GPUVAdddr, not PAddr, for GPU addresses.bunnei2018-04-241-36/+36
|
* GPU: Make the GPU virtual memory manager use 16 page bits and 10 page table bits.Subv2018-04-231-33/+20
| | | | Also removed some dead code and added memory map consistency asserts.
* Make a GPU class in VideoCore to contain the GPU state.Subv2018-02-121-0/+110
Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there.