bunnei
51cdb0df88
memory_manager: Cleanup FindFreeRegion.
7 years ago
bunnei
7521cd30d1
memory_manager: Bug fixes and further cleanup.
7 years ago
bunnei
bb6e007a63
memory_manager: Add protections for invalid GPU addresses.
- Avoid a crash in Xenoblade Chronicles 2.
7 years ago
bunnei
fa405371ee
gpu: Rewrite virtual memory manager using PageTable.
7 years ago
bunnei
6f872bd580
gpu: Move GPUVAddr definition to common_types.
7 years ago
bunnei
d3f26c1546
video_core: Refactor to use MemoryManager interface for all memory access.
# 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
7 years ago
bunnei
ae72f4154e
memory_manager: Do not allow 0 to be a valid GPUVAddr.
- Fixes a bug with Undertale using 0 for a render target.
7 years ago
bunnei
938dd94181
memory_manager: Do not MapBufferEx over already in use memory.
- This fixes rendering when changing areas in Super Mario Odyssey.
7 years ago
Frederic L
c76f4b6aec
global: Use std::optional instead of boost::optional ( #1578 )
* 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
7 years ago
bunnei
ac8ab8f305
memory_manager: Add a method for querying the end of a mapped GPU region.
7 years ago
Subv
9abfc3df7b
GPU: Implemented nvhost-as-gpu's UnmapBuffer ioctl.
It removes a mapping previously created with the MapBufferEx ioctl.
8 years ago
bunnei
31748079de
gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses.
8 years ago
bunnei
995cbfc15f
memory_manager: Add implement CpuToGpuAddress.
8 years ago
bunnei
b6bed8fd74
memory_manager: Make GpuToCpuAddress return an optional.
8 years ago
bunnei
ebef12f037
memory_manager: Use GPUVAdddr, not PAddr, for GPU addresses.
8 years ago
Subv
fbc480d611
GPU: Make the GPU virtual memory manager use 16 page bits and 10 page table bits.
Also removed some dead code and added memory map consistency asserts.
8 years ago
Subv
0088b3128b
Make a GPU class in VideoCore to contain the GPU state.
Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there.
8 years ago
bunnei
0fb50d9aa1
nvdrv: Add MemoryManager class to track GPU memory.
8 years ago