Fernando Sahmkow
1c13c74295
Memory manager: Fix possible softlock
2023-05-04 00:15:21 +02:00
Fernando Sahmkow
9a7c172f76
MemoryManager: Fix race conditions.
2023-04-28 23:53:02 +02:00
Max Dunbar
e446f368d7
Fixes 'Continous' typo
2023-03-29 19:26:12 -07:00
Liam
41d99aa89d
memory: rename global memory references to application memory
2023-03-23 20:28:47 -04:00
Merry
dc7ab4c5d6
Revert "MemoryManager: use fastmem directly."
...
This reverts commit af5ecb0b15
.
2023-01-25 10:12:04 +00:00
Fernando Sahmkow
b56ad93bbc
BufferBase: Don't ignore GPU pages.
2023-01-05 14:00:10 -05:00
Fernando Sahmkow
af5ecb0b15
MemoryManager: use fastmem directly.
2023-01-05 06:06:33 -05:00
Fernando Sahmkow
6c7eb81f7d
video_core: Cache GPU internal writes.
2023-01-05 05:23:39 -05:00
Fernando Sahmkow
3630bfaef3
RasterizerMemory: Add filtering for flushing/invalidation operations.
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
18637766ef
MacroHLE: Reduce massive calculations on sizing estimation.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
aad0cbf024
MacroHLE: Add HLE replacement for base vertex and base instance.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
93ac5a6a6d
MacroHLE: Add Index Buffer size estimation.
2023-01-01 16:43:57 -05:00
FengChen
aa97f39ba8
video_core:Fix vmm kinds size error
2022-11-06 22:31:22 +08:00
Morph
42c4ef7373
general: Resolve -Wunused-but-set-variable
2022-10-22 15:02:04 -04:00
FengChen
99507d0188
video_core: Implement memory manager page kind
2022-10-17 15:33:29 +08:00
Fernando Sahmkow
fe24c65153
General: Fix clang format.
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
770e19f51a
Buffer Cache: Deduce vertex array limit from memory layout when limit is the highest possible.
2022-10-06 21:00:53 +02:00
bunnei
f5fd6b5c86
DMA & InlineToMemory Engines Rework.
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
7cfa28a666
Memory Manager: ensure safety of GPU to CPU address.
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
5a568b1655
MemoryManager: Fix errors popping out.
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
359f22b808
MemoryManager: Finish up the initial implementation.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
4d60410dd9
MemoryManager: initial multi paging system implementation.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
f350c3d74e
Texture cache: Fix the remaining issues with memory mnagement and unmapping.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
e462191482
Refactor VideoCore to use AS sepparate from Channel.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
feb49c822d
NVDRV: Remake ASGPU
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
0f4ae3cc52
MemoryManager: Temporary Fix for NVDEC.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
cbaf3fb433
VideoCore: Update MemoryManager
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
139ea93512
VideoCore: implement channels on gpu caches.
2022-10-06 21:00:51 +02:00
Kyle Kienapfel
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
Liam
084d7d6b01
common: Change semantics of UNREACHABLE to unconditionally crash
2022-06-13 20:09:00 -04:00
Morph
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
ameerj
1bc7d61b57
video_core: Reduce unused includes
2022-03-19 15:01:31 -04:00
ameerj
285b6dbc39
video_core/memory_manager: Fixes for sparse memory management
2021-12-31 17:04:02 -05:00
ameerj
2428214c4b
video_core/memory_manager: Deduplicate Read/WriteBlock
2021-12-31 02:08:22 -05:00
Morph
554c46d186
video_core/memory_manager: Add missing <algorithm> include
2021-09-11 17:19:15 -04:00
Fernando Sahmkow
ef2066b272
GPU_MemoryManger: Fix GetSubmappedRange.
2021-08-19 22:57:22 +02:00
FernandoS27
4d0d29fc20
shader: Address feedback
2021-07-22 21:51:25 -04:00
FernandoS27
dc1a9a3bed
shader: Implement TLD
2021-07-22 21:51:25 -04:00
Fernando Sahmkow
8f9f142956
Texture Cache: Address feedback.
2021-07-04 22:32:35 +02:00
Fernando Sahmkow
fd98fcf7f0
Texture Cache: Improve accuracy of sparse texture detection.
2021-07-04 22:32:35 +02:00
Fernando Sahmkow
38165fb7e3
Texture Cache: Initial Implementation of Sparse Textures.
2021-07-04 22:32:03 +02:00
ameerj
859ba21f6d
buffer_cache: Simplify uniform disabling logic
2021-06-01 13:26:58 -04:00
bunnei
2a7eff57a8
hle: kernel: Rename Process to KProcess.
2021-05-05 16:40:52 -07:00
bunnei
93e20867b0
hle: kernel: Migrate PageHeap/PageTable to KPageHeap/KPageTable.
2021-02-18 16:16:25 -08:00
ReinUsesLisp
75ccd9959c
gpu: Report renderer errors with exceptions
...
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-02-13 02:16:19 -03:00
bunnei
5861bacafd
Merge pull request #5795 from ReinUsesLisp/bytes-to-map-end
...
video_core/memory_manager: Add BytesToMapEnd
2021-01-29 22:56:29 -08:00
ReinUsesLisp
bda177ef40
video_core/memory_manager: Add BytesToMapEnd
...
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-22 18:31:12 -03:00
ReinUsesLisp
b7febb5625
video_core/memory_manager: Remove unused CopyBlockUnsafe
...
This function was not being used.
2021-01-21 19:16:06 -03:00
ReinUsesLisp
0e9a6759f9
video_core/memory_manager: Flush destination buffer on CopyBlock
...
When we copy into a buffer, it might contain data modified from the GPU
on the same pages. Because of this, we have to flush the contents before
writing new data.
An alternative approach would be to write the data in place, but games
can also write data in other ways, invalidating our contents.
Fixes geometry in Zombie Panic in Wonderland DX.
2021-01-21 19:16:06 -03:00
ReinUsesLisp
dd790abab0
video_core/memory_manager: Add GPU address based flush method
...
Allow flushing rasterizer contents based on a GPU address.
2021-01-21 19:16:05 -03:00