aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/nvdrv
AgeCommit message (Collapse)Author
2021-07-15Merge pull request #6525 from ameerj/nvdec-fixesFernando S
nvdec: Fix Submit Ioctl data source, vic frame dimension computations
2021-07-14nvhost_nvdec_common: Read Submit ioctl data from object addrameerj
Fixes Mario Golf intro video decoding.
2021-07-14nvhost_nvdec_common: Fix {Slice/Write}Vectors returnameerj
Plus some minor cleanup for consistency.
2021-07-14service: Append service name prefix to common filenamesMorph
2021-06-02general: Replace RESULT_SUCCESS with ResultSuccessMorph
Transition to PascalCase for result names.
2021-05-18Merge pull request #6317 from ameerj/fps-fixbunnei
perf_stats: Rework FPS counter to be more accurate
2021-05-16core: Make variable shadowing a compile-time errorLioncash
Now that we have most of core free of shadowing, we can enable the warning as an error to catch anything that may be remaining and also eliminate this class of logic bug entirely.
2021-05-15perf_stats: Rework FPS counter to be more accurateameerj
The FPS counter was based on metrics in the nvdisp swapbuffers call. This metric would be accurate if the gpu thread/renderer were synchronous with the nvdisp service, but that's no longer the case. This commit moves the frame counting responsibility onto the concrete renderers after their frame draw calls. Resulting in more meaningful metrics. The displayed FPS is now made up of the average framerate between the previous and most recent update, in order to avoid distracting FPS counter updates when framerate is oscillating between close values. The status bar update frequency was also changed from 2 seconds to 500ms.
2021-05-05hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.bunnei
2021-05-05hle: kernel: Refactor several threads/events/sharedmemory to use slab heaps.bunnei
2021-05-05hle: kernel: Ensure all kernel objects with KAutoObject are properly created.bunnei
2021-05-05hle: kernel: Migrate KEvent to KAutoObject.bunnei
2021-05-05hle: kernel: Refactor IPC interfaces to not use std::shared_ptr.bunnei
2021-05-05Merge pull request #6279 from ogniK5377/nvhost-profbunnei
nvdrv: /dev/nvhost-prof-gpu for production
2021-05-05Update src/core/hle/service/nvdrv/interface.cppbunnei
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-05-04service: Resolve cases of member field shadowingLioncash
Now all that remains is for kernel code to be 'shadow-free' and then -Wshadow can be turned into an error.
2021-05-03nvdrv: /dev/nvhost-prof-gpu for productionChloe Marcec
While we're at it, we can fix the is_initialized error code. This fixes the crashes on Shante
2021-04-24nvhost_vic: Fix device closureameerj
Implements the OnClose method of the nvhost_vic device, and removes the remnants of an older implementation. Also cleans up some of the surrounding code.
2021-04-16Merge pull request #6125 from ogniK5377/nvdec-close-devbunnei
nvdrv: Cleanup CDMA Processor on device closure
2021-04-08Merge pull request #6145 from lat9nq/nvhost_empty_memcpybunnei
nvhost_nvdec_common: Avoid memcpy with null pointers
2021-04-05nvhost_nvdec_common: Avoid memcpy with null pointerslat9nq
Avoid sending null pointer to memcpy as reported by Undefined Behavious Sanitizer. Co-authored-by: LC <mathew1800@gmail.com>
2021-04-05nvhost_ctrl_gpu: Avoid sending null pointer to memcpylat9nq
Undefined Behaviour Sanitizer reports a null pointer is being sent to memcpy, thought it's "guaranteed to never be null". Guard it with an if statement, and log when the action has been averted.
2021-03-30nvdrv: Cleanup CDMA Processor on device closureChloe Marcec
Brings us a step closer to unifying all channels to share a common interface.
2021-03-25nvdrv: Pass device fd and handle device create methods for device opening ↵Chloe Marcec
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
2021-03-22nvdrv: Change InitializeEx to AllocAsExChloe Marcec
Wee also report the correct "big page size" now in GetVARegions & fix up the struct for IoctlAllocAsEx
2021-02-13Address PR feedbackameerj
Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2021-02-13nvdec cleanupameerj
2021-02-05hle: kernel: Reimplement KReadableEvent and KWritableEvent.bunnei
2021-02-05hle: kernel: Rename WritableEvent to KWritableEvent.bunnei
2021-02-05hle: kernel: Rename ReadableEvent to KReadableEvent.bunnei
2021-01-28core: hle: kernel: Rename Thread to KThread.bunnei
2021-01-23Simplify conditionChloe Marcec
2021-01-23nvdrv: Unregister already registered eventsChloe Marcec
2021-01-07fix for nvdec disabled, cleanup host1xameerj
2021-01-07nvdec syncpt incorporationameerj
laying the groundwork for async gpu, although this does not fully implement async nvdec operations
2020-12-28hle: service: nvdrv: Revert #4981 to remove usage of SleepClientThread.bunnei
- Note, this always processes the ioctl right away, which fixes BotW 1.0.0 issues.
2020-12-06nvdrv: Remove useless re-declaration of pure virtual methods that were ↵comex
already declared in the superclass
2020-11-26service: Eliminate usages of the global system instanceLioncash
Completely removes all usages of the global system instance within the services code by passing in the using system instance to the services.
2020-11-26Merge pull request #4975 from comex/invalid-syncpoint-idbunnei
nvdrv, video_core: Don't index out of bounds when given invalid syncpoint ID
2020-11-24nvdrv, video_core: Don't index out of bounds when given invalid syncpoint IDcomex
- Use .at() instead of raw indexing when dealing with untrusted indices. - For the special case of WaitFence with syncpoint id UINT32_MAX, instead of crashing, log an error and ignore. This is what I get when running Super Mario Maker 2.
2020-11-24nvservices: Reintroducee IoctlCtrlChloe Marcec
Fixes regression caused by #4907 which caused games like Breath of the Wild 1.0.0 not to boot.
2020-11-10Addressed issuesChloe Marcec
2020-11-10core: Make nvservices more standardizedChloe Marcec
2020-11-08ipc_helpers: Remove usage of the global system instanceLioncash
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.
2020-11-07video_core: dma_pusher: Remove integrity check on command lists.bunnei
- This seems to cause softlocks in Breath of the Wild.
2020-11-01fixup! hle service: nvdrv: nvhost_gpu: Update to use SyncpointManager and ↵bunnei
other improvements.
2020-11-01 hle service: nvdrv: nvhost_gpu: Update to use SyncpointManager and other ↵bunnei
improvements. - Refactor so that SubmitGPFIFO and KickoffPB use shared functionality. - Implement add_wait and add_increment flags.
2020-11-01hle service: nvdrv: nvhost_ctrl: Update to use SyncpointManager.bunnei
2020-11-01hle service: nvdrv: Update to instantiate SyncpointManager.bunnei
2020-11-01hle: service: nvdrv: Implement SyncpointManager, to manage syncpoints.bunnei