Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2020-07-26 | hle: nvdrv: Rewrite of GPU memory management. | bunnei | 1 | -394/+138 | |
2020-06-20 | memory_manager: Eliminate variable shadowing | Lioncash | 1 | -18/+22 | |
Renames some variables to prevent ones in inner scopes from shadowing outer-scoped variables. The Copy* functions have no shadowing, but we rename them anyways to remain consistent with the other functions. | |||||
2020-04-23 | kernel: memory: Improve implementation of device shared memory. (#3707) | bunnei | 1 | -13/+5 | |
* kernel: memory: Improve implementation of device shared memory. * fixup! kernel: memory: Improve implementation of device shared memory. * fixup! kernel: memory: Improve implementation of device shared memory. | |||||
2020-04-17 | video_core: memory_manager: Updates for Common::PageTable changes. | bunnei | 1 | -66/+33 | |
2020-04-09 | Memory: Correct GCC errors. | Fernando Sahmkow | 1 | -2/+2 | |
2020-04-08 | GPUMemoryManager: Improve safety of memory reads. | Fernando Sahmkow | 1 | -48/+43 | |
2020-04-06 | GPU: Setup Flush/Invalidate to use VAddr instead of CacheAddr | Fernando Sahmkow | 1 | -5/+5 | |
2020-02-20 | video_core: memory_manager: Flush/invalidate asynchronously on Unmap. | bunnei | 1 | -1/+10 | |
- Minor perf improvement. | |||||
2020-02-15 | Revert "video_core: memory_manager: Use GPU interface for cache functions." | bunnei | 1 | -7/+7 | |
2020-02-08 | video_core: memory_manager: Use GPU interface for cache functions. | bunnei | 1 | -7/+7 | |
2019-11-27 | core/memory: Migrate over GetPointer() | Lioncash | 1 | -2/+2 | |
With all of the interfaces ready for migration, it's trivial to migrate over GetPointer(). | |||||
2019-07-09 | prefer system reference over global accessor | Michael Scire | 1 | -7/+5 | |
2019-07-09 | Prevent merging of device mapped memory blocks. | Michael Scire | 1 | -1/+23 | |
This sets the DeviceMapped attribute for GPU-mapped memory blocks, and prevents merging device mapped blocks. This prevents memory mapped from the gpu from having its backing address changed by block coalesce. | |||||
2019-06-21 | texture_cache: Handle uncontinuous surfaces. | Fernando Sahmkow | 1 | -2/+3 | |
2019-06-21 | Change texture_cache chaching from GPUAddr to CacheAddr | Fernando Sahmkow | 1 | -1/+1 | |
This also reverses the changes to make invalidation and flushing through the GPU address. | |||||
2019-06-21 | Deglobalize Memory Manager on texture cahe and Implement Invalidation and Flushing using GPUVAddr | Fernando Sahmkow | 1 | -1/+1 | |
2019-05-10 | video_core/memory_manager: Mark IsBlockContinuous() as a const member function | Lioncash | 1 | -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-10 | video_core/memory_manager: Default the destructor within the cpp file | Lioncash | 1 | -0/+2 | |
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-04-20 | make ReadBlockunsafe and WriteBlockunsafe, ignore invalid pages. | Fernando Sahmkow | 1 | -4/+12 | |
2019-04-17 | Implement IsBlockContinous | Fernando Sahmkow | 1 | -0/+8 | |
This detects when a GPU Memory Block is not continous within host cpu memory. | |||||
2019-04-16 | Document unsafe versions and add BlockCopyUnsafe | Fernando Sahmkow | 1 | -5/+13 | |
2019-04-16 | Use ReadBlockUnsafe on TIC and TSC reading | Fernando Sahmkow | 1 | -0/+2 | |
Use ReadBlockUnsafe on TIC and TSC reading as memory is never flushed from host GPU there. | |||||
2019-04-16 | GPU MemoryManager: Implement ReadBlockUnsafe and WriteBlockUnsafe | Fernando Sahmkow | 1 | -0/+32 | |
2019-04-06 | memory_manager: Improved implementation of read/write/copy block. | bunnei | 1 | -10/+77 | |
- Fixes graphical issues with Chocobo's Mystery Dungeon EVERY BUDDY! - Fixes a crash with Mario Tennis Aces | |||||
2019-04-06 | video_core/memory_manager: Make Read() a const qualified member function | Lioncash | 1 | -5/+5 | |
Given this doesn't actually alter internal state, this can be made a const member function. | |||||
2019-04-06 | video_core/memory_manager: Make ReadBlock() a const qualifier member function | Lioncash | 1 | -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-06 | video_core/memory_manager: Add a const qualified variant of GetPointer() | Lioncash | 1 | -2/+16 | |
Allows retrieving read-only pointers from a const context externally. | |||||
2019-04-06 | video_core/memory_manager: Make FindFreeRegion() a const member function | Lioncash | 1 | -9/+10 | |
This doesn't modify internal state, so it can be made a const member function. | |||||
2019-04-06 | video_core/memory_manager: Make GpuToCpuAddress() a const member function | Lioncash | 1 | -2/+2 | |
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-21 | memory_manager: Cleanup FindFreeRegion. | bunnei | 1 | -10/+4 | |
2019-03-21 | memory_manager: Use Common::AlignUp in public interface as needed. | bunnei | 1 | -11/+22 | |
2019-03-21 | memory_manager: Bug fixes and further cleanup. | bunnei | 1 | -66/+65 | |
2019-03-21 | memory_manager: Add protections for invalid GPU addresses. | bunnei | 1 | -15/+35 | |
- Avoid a crash in Xenoblade Chronicles 2. | |||||
2019-03-21 | gpu: Rewrite virtual memory manager using PageTable. | bunnei | 1 | -134/+338 | |
2019-03-16 | video_core: Refactor to use MemoryManager interface for all memory access. | bunnei | 1 | -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 | |||||
2019-02-03 | memory_manager: Check for reserved page status | ReinUsesLisp | 1 | -1/+2 | |
2018-11-23 | memory_manager: Do not allow 0 to be a valid GPUVAddr. | bunnei | 1 | -0/+7 | |
- Fixes a bug with Undertale using 0 for a render target. | |||||
2018-11-01 | memory_manager: Do not MapBufferEx over already in use memory. | bunnei | 1 | -27/+48 | |
- This fixes rendering when changing areas in Super Mario Odyssey. | |||||
2018-10-30 | global: Use std::optional instead of boost::optional (#1578) | Frederic L | 1 | -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 | |||||
2018-10-16 | memory_manager: Add a method for querying the end of a mapped GPU region. | bunnei | 1 | -0/+10 | |
2018-07-24 | video_core/memory_manager: Replace a loop with std::array's fill() function in PageSlot() | Lioncash | 1 | -3/+1 | |
We already have a function that does what this code was doing, so let's use that instead. | |||||
2018-07-24 | video_core/memory_manager: Avoid repeated unnecessary page slot lookups | Lioncash | 1 | -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. | |||||
2018-07-02 | GPU: Allow GpuToCpuAddress to return boost::none for unmapped addresses. | Subv | 1 | -2/+2 | |
2018-05-20 | GPU: Implemented nvhost-as-gpu's UnmapBuffer ioctl. | Subv | 1 | -0/+19 | |
It removes a mapping previously created with the MapBufferEx ioctl. | |||||
2018-04-24 | memory_manager: Add implement CpuToGpuAddress. | bunnei | 1 | -0/+17 | |
2018-04-24 | memory_manager: Make GpuToCpuAddress return an optional. | bunnei | 1 | -1/+6 | |
2018-04-24 | memory_manager: Use GPUVAdddr, not PAddr, for GPU addresses. | bunnei | 1 | -36/+36 | |
2018-04-23 | GPU: Make the GPU virtual memory manager use 16 page bits and 10 page table bits. | Subv | 1 | -33/+20 | |
Also removed some dead code and added memory map consistency asserts. | |||||
2018-02-12 | Make a GPU class in VideoCore to contain the GPU state. | Subv | 1 | -5/+3 | |
Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there. | |||||
2018-02-08 | nvdrv: Add MemoryManager class to track GPU memory. | bunnei | 1 | -0/+112 | |