Fernando Sahmkow
ca3db0d7c9
General: address feedback
2 years ago
Morph
fedd983f96
general: Format licenses as per SPDX guidelines
2 years ago
Fernando Sahmkow
8d774e7415
NvDec: Fix regressions.
2 years ago
Fernando Sahmkow
920429fde7
NVDRV: Further refactors and eliminate old code.
2 years ago
Fernando Sahmkow
2931101e6f
NVDRV: Refactor Host1x
2 years ago
Fernando Sahmkow
139ea93512
VideoCore: implement channels on gpu caches.
2 years ago
Fernando Sahmkow
ad038609c8
NVDRV: Fix clearing when destroying.
2 years ago
Fernando Sahmkow
af35dbcf63
NVDRV: Fix Open/Close and make sure each device is correctly created.
2 years ago
Fernando Sahmkow
de0e8eff42
NVDRV: Implement new NvMap
2 years ago
Fernando Sahmkow
3cbe352c18
NVDRV: Refactor and add new NvMap.
2 years ago
Fernando Sahmkow
a21b8824fb
NVDRV: Cleanup.
2 years ago
Fernando Sahmkow
d30b885d71
NVDRV: Implement QueryEvent.
2 years ago
Fernando Sahmkow
39a5ce4e69
NvHost: Remake Ctrl Implementation.
2 years ago
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.
3 years ago
ameerj
7c4b6aab2e
core: Remove unused includes
3 years ago
bunnei
185b19fd5b
hle: service: nvdrv: Remove unused kernel reference.
4 years ago
bunnei
015058fadf
hle: service: Add a helper module for managing kernel objects.
4 years ago
Morph
c6d7da88c7
service: Append service name prefix to common filenames
4 years ago
bunnei
2e8d6fe9a0
hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.
4 years ago
bunnei
89edbe8aa2
hle: kernel: Refactor several threads/events/sharedmemory to use slab heaps.
4 years ago
bunnei
ab704acab8
hle: kernel: Ensure all kernel objects with KAutoObject are properly created.
4 years ago
bunnei
addc0bf037
hle: kernel: Migrate KEvent to KAutoObject.
4 years ago
bunnei
5e5933256b
hle: kernel: Refactor IPC interfaces to not use std::shared_ptr.
4 years ago
Chloe Marcec
99fdfa1fcd
nvdrv: Pass device fd and handle device create methods for device opening and closing
...
We pass the fd to the ioctl as well as alert the device when it's opened or closed to allow for fd unique actions to take place
4 years ago
bunnei
ff3c7c068b
hle: kernel: Reimplement KReadableEvent and KWritableEvent.
4 years ago
bunnei
3f942c01f0
hle: kernel: Rename WritableEvent to KWritableEvent.
4 years ago
bunnei
e86a7e3691
hle: kernel: Rename ReadableEvent to KReadableEvent.
4 years ago
ameerj
2c27127d04
nvdec syncpt incorporation
...
laying the groundwork for async gpu, although this does not fully implement async nvdec operations
4 years ago
bunnei
0c81b83ca9
hle: service: nvdrv: Revert #4981 to remove usage of SleepClientThread.
...
- Note, this always processes the ioctl right away, which fixes BotW 1.0.0 issues.
4 years ago
Lioncash
1a954b2a59
service: Eliminate usages of the global system instance
...
Completely removes all usages of the global system instance within the
services code by passing in the using system instance to the services.
4 years ago
Chloe Marcec
ab25d1fe9a
nvservices: Reintroducee IoctlCtrl
...
Fixes regression caused by #4907 which caused games like Breath of the Wild 1.0.0 not to boot.
4 years ago
Chloe Marcec
fc4d692c50
Addressed issues
4 years ago
Chloe Marcec
31c12de0fe
core: Make nvservices more standardized
4 years ago
Lioncash
da7be67daf
ipc_helpers: Remove usage of the global system instance
...
Resolves numerous deprecation warnings throughout the codebase due to
inclusion of this header. Now building core should be significantly less
noisy (and also relying on less global state).
This also uncovered quite a few modules that were relying on indirect
includes, which have also been fixed.
4 years ago
bunnei
e67b8678f8
hle service: nvdrv: nvhost_gpu: Update to use SyncpointManager and other improvements.
...
- Refactor so that SubmitGPFIFO and KickoffPB use shared functionality.
- Implement add_wait and add_increment flags.
4 years ago
bunnei
66edfd61c6
hle service: nvdrv: nvhost_ctrl: Update to use SyncpointManager.
4 years ago
bunnei
4a3fd97e48
hle service: nvdrv: Update to instantiate SyncpointManager.
4 years ago
bunnei
d567b7e841
hle: service: nvdrv: Implement SyncpointManager, to manage syncpoints.
4 years ago
ameerj
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>
4 years ago
bunnei
9046d4a548
kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. ( #3154 )
...
* kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects.
- See https://github.com/citra-emu/citra/pull/4710 for details.
5 years ago
bunnei
b0ab803ce8
kernel: events: Remove ResetType::Automatic.
...
- This does not actually seem to exist in the real kernel - games reset these automatically.
# Conflicts:
# src/core/hle/service/am/applets/applets.cpp
# src/core/hle/service/filesystem/fsp_srv.cpp
5 years ago
Fernando Sahmkow
4e9f975935
Nvdrv: Correct Async regression and avoid signaling empty buffer vsyncs
6 years ago
David Marcec
f9259c0383
Initial implementation of Ioctl2 & Ioctl3
...
Purpose of Ioctl2 and Ioctl3 is to prevent the passing of raw pointers through ioctls
6 years ago
Fernando Sahmkow
d20ede40b1
NVServices: Styling, define constructors as explicit and corrections
6 years ago
Fernando Sahmkow
0335a25d1f
NVServices: Make NVEvents Automatic according to documentation.
6 years ago
Fernando Sahmkow
b6844bec60
NVServices: Correct CtrlEventWaitSync to block the ipc until timeout.
6 years ago
Fernando Sahmkow
7d1b974bca
GPU: Correct Interrupts to interrupt on syncpt/value instead of event, mirroring hardware
6 years ago
Fernando Sahmkow
24408cce9b
nv_services: Deglobalize NvServices
6 years ago
Fernando Sahmkow
78add28aab
nvhost_ctrl: Corrections to event handling
6 years ago
Fernando Sahmkow
e0027eba85
nv_services: Implement NvQueryEvent, NvCtrlEventWait, NvEventRegister, NvEventUnregister
6 years ago