Commit Graph

113 Commits

Author SHA1 Message Date
f740d8b9be MemoryManager: Reduce the page table size based on last big page address. 2024-02-01 13:00:36 +01:00
23430e6772 Core: Eliminate core/memory dependancies. 2024-01-18 21:12:30 -05:00
a874ab0133 SMMU: Fix 8Gb layout. 2024-01-18 21:12:30 -05:00
96fd1348ae GPU SMMU: Expand to 34 bits 2024-01-18 21:12:30 -05:00
0a2536a0df SMMU: Initial adaptation to video_core. 2024-01-18 21:12:30 -05:00
6f7cb69c94 Use spans over guest memory where possible instead of copying data. 2023-07-02 23:09:48 +01:00
5da70f7197 Remove memory allocations in some hot paths 2023-06-22 08:05:10 +01:00
711190bb67 Use current GPU address when unmapping GPU pages, not the base 2023-06-19 00:19:50 +01:00
1c13c74295 Memory manager: Fix possible softlock 2023-05-04 00:15:21 +02:00
9a7c172f76 MemoryManager: Fix race conditions. 2023-04-28 23:53:02 +02:00
e446f368d7 Fixes 'Continous' typo 2023-03-29 19:26:12 -07:00
41d99aa89d memory: rename global memory references to application memory 2023-03-23 20:28:47 -04:00
dc7ab4c5d6 Revert "MemoryManager: use fastmem directly."
This reverts commit af5ecb0b15.
2023-01-25 10:12:04 +00:00
b56ad93bbc BufferBase: Don't ignore GPU pages. 2023-01-05 14:00:10 -05:00
af5ecb0b15 MemoryManager: use fastmem directly. 2023-01-05 06:06:33 -05:00
6c7eb81f7d video_core: Cache GPU internal writes. 2023-01-05 05:23:39 -05:00
3630bfaef3 RasterizerMemory: Add filtering for flushing/invalidation operations. 2023-01-01 16:43:58 -05:00
18637766ef MacroHLE: Reduce massive calculations on sizing estimation. 2023-01-01 16:43:57 -05:00
aad0cbf024 MacroHLE: Add HLE replacement for base vertex and base instance. 2023-01-01 16:43:57 -05:00
93ac5a6a6d MacroHLE: Add Index Buffer size estimation. 2023-01-01 16:43:57 -05:00
aa97f39ba8 video_core:Fix vmm kinds size error 2022-11-06 22:31:22 +08:00
42c4ef7373 general: Resolve -Wunused-but-set-variable 2022-10-22 15:02:04 -04:00
99507d0188 video_core: Implement memory manager page kind 2022-10-17 15:33:29 +08:00
fe24c65153 General: Fix clang format. 2022-10-06 21:00:53 +02:00
770e19f51a Buffer Cache: Deduce vertex array limit from memory layout when limit is the highest possible. 2022-10-06 21:00:53 +02:00
f5fd6b5c86 DMA & InlineToMemory Engines Rework. 2022-10-06 21:00:53 +02:00
7cfa28a666 Memory Manager: ensure safety of GPU to CPU address. 2022-10-06 21:00:53 +02:00
5a568b1655 MemoryManager: Fix errors popping out. 2022-10-06 21:00:53 +02:00
359f22b808 MemoryManager: Finish up the initial implementation. 2022-10-06 21:00:52 +02:00
4d60410dd9 MemoryManager: initial multi paging system implementation. 2022-10-06 21:00:52 +02:00
f350c3d74e Texture cache: Fix the remaining issues with memory mnagement and unmapping. 2022-10-06 21:00:52 +02:00
e462191482 Refactor VideoCore to use AS sepparate from Channel. 2022-10-06 21:00:52 +02:00
feb49c822d NVDRV: Remake ASGPU 2022-10-06 21:00:52 +02:00
0f4ae3cc52 MemoryManager: Temporary Fix for NVDEC. 2022-10-06 21:00:52 +02:00
cbaf3fb433 VideoCore: Update MemoryManager 2022-10-06 21:00:51 +02:00
139ea93512 VideoCore: implement channels on gpu caches. 2022-10-06 21:00:51 +02:00
14e9de6678 code: dodge PAGE_SIZE #define
Some header files, specifically for OSX and Musl libc define PAGE_SIZE to be a number
This is great except in yuzu we're using PAGE_SIZE as a variable

Specific example
`static constexpr u64 PAGE_SIZE = u64(1) << PAGE_BITS;`

PAGE_SIZE PAGE_BITS PAGE_MASK are all similar variables.
Simply deleted the underscores, and then added YUZU_ prefix

Might be worth noting that there are multiple uses in different classes/namespaces
This list may not be exhaustive

Core::Memory   12 bits (4096)
QueryCacheBase 12 bits
ShaderCache    14 bits (16384)
TextureCache   20 bits (1048576, or 1MB)

Fixes #8779
2022-08-19 16:08:40 -07:00
084d7d6b01 common: Change semantics of UNREACHABLE to unconditionally crash 2022-06-13 20:09:00 -04:00
99ceb03a1c general: Convert source file copyright comments over to SPDX
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-04-23 05:55:32 -04:00
1bc7d61b57 video_core: Reduce unused includes 2022-03-19 15:01:31 -04:00
285b6dbc39 video_core/memory_manager: Fixes for sparse memory management 2021-12-31 17:04:02 -05:00
2428214c4b video_core/memory_manager: Deduplicate Read/WriteBlock 2021-12-31 02:08:22 -05:00
554c46d186 video_core/memory_manager: Add missing <algorithm> include 2021-09-11 17:19:15 -04:00
ef2066b272 GPU_MemoryManger: Fix GetSubmappedRange. 2021-08-19 22:57:22 +02:00
4d0d29fc20 shader: Address feedback 2021-07-22 21:51:25 -04:00
dc1a9a3bed shader: Implement TLD 2021-07-22 21:51:25 -04:00
8f9f142956 Texture Cache: Address feedback. 2021-07-04 22:32:35 +02:00
fd98fcf7f0 Texture Cache: Improve accuracy of sparse texture detection. 2021-07-04 22:32:35 +02:00
38165fb7e3 Texture Cache: Initial Implementation of Sparse Textures. 2021-07-04 22:32:03 +02:00
859ba21f6d buffer_cache: Simplify uniform disabling logic 2021-06-01 13:26:58 -04:00