05ebbb9d13
Merge yuzu-emu#12461
2024-03-01 00:57:23 +00:00
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
590d9b7e1d
Core: Clang format and other small issues.
2024-01-18 21:12:30 -05:00
303cd31162
SMMU: Add Android compatibility
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
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
600f325d87
general: fix spelling mistakes
2023-03-12 11:33:01 -04:00
683019878f
remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistency
...
Signed-off-by: arades79 <scravers@protonmail.com >
2023-02-14 12:35:39 -05: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
99507d0188
video_core: Implement memory manager page kind
2022-10-17 15:33:29 +08:00
ca3db0d7c9
General: address feedback
2022-10-06 21:00:54 +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
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
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
cbaf3fb433
VideoCore: Update MemoryManager
2022-10-06 21:00:51 +02: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
f54280dafd
Inline2Memory: Flush before writting buffer.
2022-01-29 17:42:28 +01:00
2428214c4b
video_core/memory_manager: Deduplicate Read/WriteBlock
2021-12-31 02:08:22 -05: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
93a69b6cc8
Merge branch 'bytes-to-map-end' into new-bufcache-wip
2021-02-13 02:18:35 -03:00
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
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
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
b7febb5625
video_core/memory_manager: Remove unused CopyBlockUnsafe
...
This function was not being used.
2021-01-21 19:16:06 -03:00
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
677a8b208d
video_core: Resolve more variable shadowing scenarios
...
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-12-04 16:19:09 -05:00
eb67a45ca8
video_core: NVDEC Implementation
...
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-10-26 23:07:36 -04:00
7b50c48df7
memory_manager: Make use of [[nodiscard]] in the interface
2020-08-26 20:15:03 -04:00
d12d59f62a
memory_manager: Make operator+ const qualified
...
This doesn't modify member state, so it can be marked as const.
2020-08-26 20:11:58 -04:00
902bf6d37d
Merge pull request #4574 from lioncash/const-fn
...
memory_manager: Mark IsGranularRange() as a const member function
2020-08-25 11:24:13 -04:00
5bce81c3d6
memory_manager: Mark IsGranularRange() as a const member function
...
This doesn't modify internal member state, so it can be marked as const.
2020-08-24 00:37:57 -04:00
da53bcee60
video_core: Initialize renderer with a GPU
...
Add an extra step in GPU initialization to be able to initialize render
backends with a valid GPU instance.
2020-08-22 01:51:45 -03:00
05def61398
hle: nvdrv: Rewrite of GPU memory management.
2020-07-26 00:49:43 -04:00
479605b3e5
memory_manager: Eliminate variable shadowing
...
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-06-19 22:02:58 -04:00