| Age | Commit message (Collapse) | Author |
|
The format member the IGBPBuffer may not always specify the correct desired format. Using the external format member ensures a valid format is provided when creating the framebuffer.
Fixes homebrew using the wrong framebuffer format.
|
|
This was mainly used to keep track of mapped buffers for later unmapping. Since unmap is no longer implemented, this no longer seves a valuable purpose.
|
|
Skip unmapping nvdec buffers to avoid breaking the continuity of the VP9 reference frame addresses, and the risk of invalidating data before the async GPU thread is done with it.
|
|
general: Rename "Frame Limit" references to "Speed Limit"
|
|
This setting is best referred to as a speed limit, as it involves the limits of all timing based aspects of the emulator, not only framerate.
This allows us to differentiate it from the fps unlocker setting.
|
|
|
|
|
|
nvdec: Fix Submit Ioctl data source, vic frame dimension computations
|
|
Fixes Mario Golf intro video decoding.
|
|
Plus some minor cleanup for consistency.
|
|
|
|
Transition to PascalCase for result names.
|
|
perf_stats: Rework FPS counter to be more accurate
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
nvdrv: /dev/nvhost-prof-gpu for production
|
|
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
|
|
Now all that remains is for kernel code to be 'shadow-free' and then
-Wshadow can be turned into an error.
|
|
While we're at it, we can fix the is_initialized error code.
This fixes the crashes on Shante
|
|
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.
|
|
nvdrv: Cleanup CDMA Processor on device closure
|
|
nvhost_nvdec_common: Avoid memcpy with null pointers
|
|
Avoid sending null pointer to memcpy as reported by Undefined Behavious
Sanitizer.
Co-authored-by: LC <mathew1800@gmail.com>
|
|
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.
|
|
Brings us a step closer to unifying all channels to share a common interface.
|
|
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
|
|
Wee also report the correct "big page size" now in GetVARegions & fix up the struct for IoctlAllocAsEx
|
|
Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
laying the groundwork for async gpu, although this does not fully implement async nvdec operations
|
|
- Note, this always processes the ioctl right away, which fixes BotW 1.0.0 issues.
|
|
already declared in the superclass
|
|
Completely removes all usages of the global system instance within the
services code by passing in the using system instance to the services.
|
|
nvdrv, video_core: Don't index out of bounds when given invalid syncpoint ID
|
|
- 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.
|
|
Fixes regression caused by #4907 which caused games like Breath of the Wild 1.0.0 not to boot.
|
|
|
|
|