| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
| |
This doesn't modify member state, so it can be marked as const.
|
|\
| |
| | |
memory_manager: Mark IsGranularRange() as a const member function
|
| |
| |
| |
| | |
This doesn't modify internal member state, so it can be marked as const.
|
|/
|
|
|
| |
Add an extra step in GPU initialization to be able to initialize render
backends with a valid GPU instance.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This PR aims to reduce the memory usage in the CPU page table by moving
GPU specific parameters into a child class. This saves 1Gb of Memory for
most games.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Corrects the typo in its name and marks the function as a const member
function, given it doesn't actually modify memory manager state.
|
|
|
|
| |
Prevents implicit converting constructions of the memory manager.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Corrects references to non-existent parameters and corrects typos.
|
|
|
|
|
|
|
|
| |
These are able to be omitted from the declaration of functions, since
they don't do anything at the type system level. The definitions of the
functions can retain the use of const though, since they make the
variables immutable in the implementation of the function where they're
used.
|
|
|
|
|
| |
This detects when a GPU Memory Block is not continous within host cpu
memory.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
- Fixes graphical issues with Chocobo's Mystery Dungeon EVERY BUDDY!
- Fixes a crash with Mario Tennis Aces
|
|
|
|
|
| |
Given this doesn't actually alter internal state, this can be made a
const member function.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Allows retrieving read-only pointers from a const context externally.
|
|
|
|
|
| |
This doesn't modify internal state, so it can be made a const member
function.
|
|
|
|
|
| |
This doesn't modify any internal state, so it can be made a const member
function to allow its use in const contexts.
|
| |
|
| |
|
|
|
|
| |
- Avoid a crash in Xenoblade Chronicles 2.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
# 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
|
|
|
|
| |
- Fixes a bug with Undertale using 0 for a render target.
|
|
|
|
| |
- This fixes rendering when changing areas in Super Mario Odyssey.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
| |
It removes a mapping previously created with the MapBufferEx ioctl.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Also removed some dead code and added memory map consistency asserts.
|
|
Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there.
|