summaryrefslogtreecommitdiffstats
path: root/src/video_core/memory_manager.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-02-15Revert "video_core: memory_manager: Use GPU interface for cache functions."bunnei1-1/+6
2020-02-08video_core: memory_manager: Use GPU interface for cache functions.bunnei1-6/+1
2019-07-09prefer system reference over global accessorMichael Scire1-1/+7
2019-06-09GPUVM: Correct GPU VM virtual address spaceFernando Sahmkow1-2/+2
2019-05-10video_core/memory_manager: Mark IsBlockContinuous() as a const member functionLioncash1-2/+2
Corrects the typo in its name and marks the function as a const member function, given it doesn't actually modify memory manager state.
2019-05-10video_core/memory_manager: Mark the constructor as explicitLioncash1-1/+1
Prevents implicit converting constructions of the memory manager.
2019-05-10video_core/memory_manager: Default the destructor within the cpp fileLioncash1-0/+1
Makes the class less surprising when it comes to forward declaring the type, and also prevents inlining the destruction code of the class, given it contains non-trivial types.
2019-05-10video_core/memory_manager: Amend doxygen commentsLioncash1-7/+7
Corrects references to non-existent parameters and corrects typos.
2019-05-10video_core/memory_manager: Remove superfluous const from function declarationsLioncash1-7/+7
These are able to be omitted from the declaration of functions, since they don't do anything at the type system level. The definitions of the functions can retain the use of const though, since they make the variables immutable in the implementation of the function where they're used.
2019-04-17Implement IsBlockContinousFernando Sahmkow1-2/+5
This detects when a GPU Memory Block is not continous within host cpu memory.
2019-04-16Use ReadBlockUnsafe for fetyching DMA CommandListsFernando Sahmkow1-2/+0
2019-04-16Document unsafe versions and add BlockCopyUnsafeFernando Sahmkow1-5/+25
2019-04-16GPU MemoryManager: Implement ReadBlockUnsafe and WriteBlockUnsafeFernando Sahmkow1-0/+2
2019-04-06memory_manager: Improved implementation of read/write/copy block.bunnei1-1/+6
- Fixes graphical issues with Chocobo's Mystery Dungeon EVERY BUDDY! - Fixes a crash with Mario Tennis Aces
2019-04-06video_core/memory_manager: Make Read() a const qualified member functionLioncash1-1/+1
Given this doesn't actually alter internal state, this can be made a const member function.
2019-04-06video_core/memory_manager: Make ReadBlock() a const qualifier member functionLioncash1-1/+1
Now, since we have a const qualified variant of GetPointer(), we can put it to use in ReadBlock() to retrieve the source pointer that is passed into memcpy. Now block reading may be done from a const context.
2019-04-06video_core/memory_manager: Add a const qualified variant of GetPointer()Lioncash1-0/+1
Allows retrieving read-only pointers from a const context externally.
2019-04-06video_core/memory_manager: Make FindFreeRegion() a const member functionLioncash1-1/+1
This doesn't modify internal state, so it can be made a const member function.
2019-04-06video_core/memory_manager: Make GpuToCpuAddress() a const member functionLioncash1-1/+1
This doesn't modify any internal state, so it can be made a const member function to allow its use in const contexts.
2019-03-21memory_manager: Cleanup FindFreeRegion.bunnei1-2/+2
2019-03-21memory_manager: Bug fixes and further cleanup.bunnei1-7/+7
2019-03-21memory_manager: Add protections for invalid GPU addresses.bunnei1-7/+8
- Avoid a crash in Xenoblade Chronicles 2.
2019-03-21gpu: Rewrite virtual memory manager using PageTable.bunnei1-47/+115
2019-03-21gpu: Move GPUVAddr definition to common_types.bunnei1-3/+0
2019-03-16video_core: Refactor to use MemoryManager interface for all memory access.bunnei1-1/+16
# 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
2018-11-23memory_manager: Do not allow 0 to be a valid GPUVAddr.bunnei1-1/+2
- Fixes a bug with Undertale using 0 for a render target.
2018-11-01memory_manager: Do not MapBufferEx over already in use memory.bunnei1-4/+4
- This fixes rendering when changing areas in Super Mario Odyssey.
2018-10-30global: Use std::optional instead of boost::optional (#1578)Frederic L1-4/+3
* 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
2018-10-16memory_manager: Add a method for querying the end of a mapped GPU region.bunnei1-0/+1
2018-05-20GPU: Implemented nvhost-as-gpu's UnmapBuffer ioctl.Subv1-0/+1
It removes a mapping previously created with the MapBufferEx ioctl.
2018-04-25gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses.bunnei1-1/+0
2018-04-24memory_manager: Add implement CpuToGpuAddress.bunnei1-0/+10
2018-04-24memory_manager: Make GpuToCpuAddress return an optional.bunnei1-1/+4
2018-04-24memory_manager: Use GPUVAdddr, not PAddr, for GPU addresses.bunnei1-8/+8
2018-04-23GPU: Make the GPU virtual memory manager use 16 page bits and 10 page table bits.Subv1-1/+5
Also removed some dead code and added memory map consistency asserts.
2018-02-12Make a GPU class in VideoCore to contain the GPU state.Subv1-4/+5
Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there.
2018-02-08nvdrv: Add MemoryManager class to track GPU memory.bunnei1-0/+48