Age | Commit message (Collapse) | Author |
|
|
|
It's deprecated in the language to autogenerate these if the destructor
for a type is specified, so we can explicitly specify how we want these
to be generated.
|
|
Prevents values from mistakenly being discarded in cases where it's a
bug to do so.
|
|
The API of VP9 exposes a WasFrameHidden() function which accesses this
member. Given the constructor previously didn't initialize this member,
it's a potential vector for an uninitialized read.
Instead, we can initialize this to a deterministic value to prevent that
from occurring.
|
|
These helper functions don't directly modify any member state and can be
hidden from view.
|
|
nvdec: Minor tidying up
|
|
Add hotplug, rumble and fix 3rd party adapters for the GC adapter
|
|
Fixes compilation on MSVC
|
|
web_service: follow-up fix to #4842
|
|
kernel: Use the current time as the default RNG seed
|
|
sync_manager: Amend parameter order of calls to SyncptIncr constructor
|
|
* The web_service http request is now fixed on Windows (R) platform.
* The issue is due to a complicated race-condition in `httplib`, a detailed
explanation is available at https://github.com/yhirose/cpp-httplib/pull/701
* A pending Pull Request on `httplib` has been applied to remedy the
said race-condition.
* The socket availability check is removed due to a behavioral chice of
`httplib` that a socket will not be created before any actual request
is sent.
|
|
|
|
- Fixes a shutdown crash when we try to submit telemetry if there is a service issue.
|
|
|
|
service: Update function tables
|
|
hle/kernel: Remove unused registered_core_threads to fix data races
|
|
common/fiber: Take shared_ptr<Fiber> by copy in YieldTo
|
|
tests: Fix data race in fibers test
|
|
video_core: Enforce -Werror=type-limits
|
|
Silence three warnings and make them errors to avoid introducing more in the future.
|
|
Silences one warning and avoids introducing more in the future.
|
|
YieldTo does not intend to modify the passed shared_ptrs.
Pass it by copy to keep a reference count while this function executes.
|
|
Previous to this commit, the tests were using operator[] from
unordered_map to query elements but this silently inserts empty elements
when they don't exist. If all threads were executed without concurrency,
this wouldn't be an issue, but the same unordered_map could be written
from two threads at the same time. This is a data race and makes some
previously inserted elements invisible for a short period of time,
causing them to insert and return an empty element. This default
constructed element (a zero) was used to index an array of fibers that
asserted when one of them was nullptr, shutting the test session off.
To address this issue, lock on thread id reads and writes. This could be
a shared mutex to allow concurrent reads, but the definition of
std::this_thread::get_id is fuzzy when using non-standard techniques
like fibers. I opted to use a standard mutex.
While we are at it, fix the included headers.
|
|
Updates function tables according to info on SwitchBrew.
|
|
* A regression was in 39c8d18 and token verification function was
broken.
* The reason being `httplib` now requires OpenSSL 1.1+ API while
LibreSSL 2.x provided OpenSSL 1.0 compatible API.
* The bundled LibreSSL has been updated to 3.2.2 so it now provides
OpenSSL 1.1 compatible API now.
* Also the path hint has been added so that it will find the correct
path to the CA certs on *nix systems.
* An option is provided so that *nix system distributions/providers can
use their own SSL implementations when compiling Yuzu/Citra to
(hopefully) complies with their maintenance guidelines.
* LURLParse is also removed since `httplib` can handle
`scheme:host:port` string itself now.
|
|
Corrects some cases where the arguments would be incorrectly swapped.
|
|
Enforces the type of the desired value in calling code.
|
|
We can move the buffer here to avoid a heap reallocation
|
|
|
|
|
|
The move will already occur without std::move.
|
|
|
|
Prevents a few unnecessary inclusions.
|
|
- In general, this is now the preferred settings for most games.
# Conflicts:
# src/yuzu/configuration/config.cpp
|
|
video_core: NVDEC Implementation
|
|
This member was only used on asserts and it triggered data races.
Remove it to fix them.
|
|
core: cpu_manager: Add missing call to MicroProfileOnThreadExit().
|
|
hle: services: TimeZoneContentManager: This can be made explicit.
|
|
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>
|
|
controller: Pass ControllerParameters by reference in ReconfigureControllers()
|
|
Use the current time, not zero, as the default RNG seed.
|
|
Prevents unnecessary copies and heap reallocations from occurring.
|
|
|
|
- Fixes an occasional crash when trying to launch subsequent games.
|
|
controller: Convert led_patterns integer literals to bool literals
|
|
general: Use template deduction guides for lock_guard
|
|
Same behavior, less code.
|
|
'bool' isn't always guaranteed to be the same size as an int, so this
can technically cause truncation warnings if we support other platforms.
|
|
Resolves a warning where not all control paths return a value.
|