aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/memory_manager.h
AgeCommit message (Collapse)Author
2024-02-01MemoryManager: Reduce the page table size based on last big page address.Fernando Sahmkow
2024-01-18Core: Eliminate core/memory dependancies.Fernando Sahmkow
2024-01-18Core: Clang format and other small issues.Fernando Sahmkow
2024-01-18SMMU: Add Android compatibilityFernando Sahmkow
2024-01-18GPU SMMU: Expand to 34 bitsFernando Sahmkow
2024-01-18SMMU: Initial adaptation to video_core.Fernando Sahmkow
2023-07-02Use spans over guest memory where possible instead of copying data.Kelebek1
2023-06-22Remove memory allocations in some hot pathsKelebek1
2023-04-28MemoryManager: Fix race conditions.Fernando Sahmkow
2023-03-29Fixes 'Continous' typoMax Dunbar
2023-03-12general: fix spelling mistakesLiam
2023-02-14remove static from pointer sized or smaller types for aesthetics, change ↵arades79
constexpr static to static constexpr for consistency Signed-off-by: arades79 <scravers@protonmail.com>
2023-01-25Revert "MemoryManager: use fastmem directly."Merry
This reverts commit af5ecb0b15d4449f58434e70eed835cf71fc5527.
2023-01-05BufferBase: Don't ignore GPU pages.Fernando Sahmkow
2023-01-05MemoryManager: use fastmem directly.Fernando Sahmkow
2023-01-05video_core: Cache GPU internal writes.Fernando Sahmkow
2023-01-01RasterizerMemory: Add filtering for flushing/invalidation operations.Fernando Sahmkow
2023-01-01MacroHLE: Reduce massive calculations on sizing estimation.Fernando Sahmkow
2023-01-01MacroHLE: Add HLE replacement for base vertex and base instance.Fernando Sahmkow
2023-01-01MacroHLE: Add Index Buffer size estimation.Fernando Sahmkow
2022-10-17video_core: Implement memory manager page kindFengChen
2022-10-06General: address feedbackFernando Sahmkow
2022-10-06Buffer Cache: Deduce vertex array limit from memory layout when limit is the ↵Fernando Sahmkow
highest possible.
2022-10-06DMA & InlineToMemory Engines Rework.bunnei
2022-10-06MemoryManager: Finish up the initial implementation.Fernando Sahmkow
2022-10-06MemoryManager: initial multi paging system implementation.Fernando Sahmkow
2022-10-06Refactor VideoCore to use AS sepparate from Channel.Fernando Sahmkow
2022-10-06NVDRV: Remake ASGPUFernando Sahmkow
2022-10-06VideoCore: Update MemoryManagerFernando Sahmkow
2022-04-23general: Convert source file copyright comments over to SPDXMorph
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-01-29Inline2Memory: Flush before writting buffer.Fernando Sahmkow
2021-12-31video_core/memory_manager: Deduplicate Read/WriteBlockameerj
2021-07-04Texture Cache: Address feedback.Fernando Sahmkow
2021-07-04Texture Cache: Improve accuracy of sparse texture detection.Fernando Sahmkow
2021-02-13Merge branch 'bytes-to-map-end' into new-bufcache-wipReinUsesLisp
2021-02-13gpu: Report renderer errors with exceptionsReinUsesLisp
Instead of using a two step initialization to report errors, initialize the GPU renderer and rasterizer on the constructor and report errors through std::runtime_error.
2021-01-29Merge pull request #5795 from ReinUsesLisp/bytes-to-map-endbunnei
video_core/memory_manager: Add BytesToMapEnd
2021-01-22video_core/memory_manager: Add BytesToMapEndReinUsesLisp
Track map address sizes in a flat ordered map and add a method to query the number of bytes until the end of a map in a given address.
2021-01-21video_core/memory_manager: Remove unused CopyBlockUnsafeReinUsesLisp
This function was not being used.
2021-01-21video_core/memory_manager: Add GPU address based flush methodReinUsesLisp
Allow flushing rasterizer contents based on a GPU address.
2020-12-04video_core: Resolve more variable shadowing scenariosLioncash
Resolves variable shadowing scenarios up to the end of the OpenGL code to make it nicer to review. The rest will be resolved in a following commit.
2020-10-26video_core: NVDEC Implementationameerj
This commit aims to implement the NVDEC (Nvidia Decoder) functionality, with video frame decoding being handled by the FFmpeg library. The process begins with Ioctl commands being sent to the NVDEC and VIC (Video Image Composer) emulated devices. These allocate the necessary GPU buffers for the frame data, along with providing information on the incoming video data. A Submit command then signals the GPU to process and decode the frame data. To decode the frame, the respective codec's header must be manually composed from the information provided by NVDEC, then sent with the raw frame data to the ffmpeg library. Currently, H264 and VP9 are supported, with VP9 having some minor artifacting issues related mainly to the reference frame composition in its uncompressed header. Async GPU is not properly implemented at the moment. Co-Authored-By: David <25727384+ogniK5377@users.noreply.github.com>
2020-08-26memory_manager: Make use of [[nodiscard]] in the interfaceLioncash
2020-08-26memory_manager: Make operator+ const qualifiedLioncash
This doesn't modify member state, so it can be marked as const.
2020-08-25Merge pull request #4574 from lioncash/const-fnbunnei
memory_manager: Mark IsGranularRange() as a const member function
2020-08-24memory_manager: Mark IsGranularRange() as a const member functionLioncash
This doesn't modify internal member state, so it can be marked as const.
2020-08-22video_core: Initialize renderer with a GPUReinUsesLisp
Add an extra step in GPU initialization to be able to initialize render backends with a valid GPU instance.
2020-07-26hle: nvdrv: Rewrite of GPU memory management.bunnei
2020-06-19memory_manager: Eliminate variable shadowingLioncash
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-17video_core: memory_manager: Updates for Common::PageTable changes.bunnei