summaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | | Merge pull request #4849 from ReinUsesLisp/fix-fiber-testGravatar LC2020-10-281-31/+40
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | tests: Fix data race in fibers test
| * | | | | | | | tests: Fix data race in fibers testGravatar ReinUsesLisp2020-10-281-31/+40
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | | Merge pull request #4848 from ReinUsesLisp/type-limitsGravatar LC2020-10-282-1/+2
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | video_core: Enforce -Werror=type-limits
| * | | | | | | | video_core: Enforce -Werror=type-limitsGravatar ReinUsesLisp2020-10-282-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Silences one warning and avoids introducing more in the future.
* | | | | | | | | video_core: Enforce -Wredundant-move and -Wpessimizing-moveGravatar ReinUsesLisp2020-10-284-4/+5
|/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | Silence three warnings and make them errors to avoid introducing more in the future.
* / / / / / / / web_backend: fix a regression introduced in 39c8d18Gravatar liushuyu2020-10-272-20/+2
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* / / / / / / yuzu: settings: Enable multicore, asynch GPU, and assembly shaders by default.Gravatar bunnei2020-10-263-11/+11
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - In general, this is now the preferred settings for most games. # Conflicts: # src/yuzu/configuration/config.cpp
* | | | | | Merge pull request #4729 from ameerj/nvdec-prodGravatar bunnei2020-10-2650-310/+3909
|\ \ \ \ \ \ | | | | | | | | | | | | | | video_core: NVDEC Implementation
| * | | | | | video_core: NVDEC ImplementationGravatar ameerj2020-10-2650-310/+3909
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | Merge pull request #4832 from bunnei/cpu-manager-microprofile-fixGravatar bunnei2020-10-261-0/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | core: cpu_manager: Add missing call to MicroProfileOnThreadExit().
| * | | | | | core: cpu_manager: Add missing call to MicroProfileOnThreadExit().Gravatar bunnei2020-10-261-0/+2
| |/ / / / / | | | | | | | | | | | | | | | | | | - Fixes an occasional crash when trying to launch subsequent games.
* | | | | | Merge pull request #4833 from bunnei/timezonemanager-explicitGravatar bunnei2020-10-261-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | hle: services: TimeZoneContentManager: This can be made explicit.
| * | | | | | hle: services: TimeZoneContentManager: This can be made explicit.Gravatar bunnei2020-10-261-1/+1
| |/ / / / /
* | | | | | Merge pull request #4834 from lioncash/copy-fnGravatar bunnei2020-10-264-7/+9
|\ \ \ \ \ \ | |/ / / / / |/| | | | | controller: Pass ControllerParameters by reference in ReconfigureControllers()
| * | | | | controller: Pass ControllerParameters by reference in ReconfigureControllers()Gravatar Lioncash2020-10-264-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | Prevents unnecessary copies and heap reallocations from occurring.
* | | | | | Merge pull request #4827 from lioncash/truncGravatar Rodrigo Locatti2020-10-251-9/+9
|\ \ \ \ \ \ | | | | | | | | | | | | | | controller: Convert led_patterns integer literals to bool literals
| * | | | | | controller: Convert led_patterns integer literals to bool literalsGravatar Lioncash2020-10-251-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | '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.
* | | | | | | Merge pull request #4828 from lioncash/lockguardGravatar Rodrigo Locatti2020-10-252-2/+2
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | | general: Use template deduction guides for lock_guard
| * | | | | | general: Use template deduction guides for lock_guardGravatar Lioncash2020-10-252-2/+2
| |/ / / / / | | | | | | | | | | | | | | | | | | Same behavior, less code.
* | | | | | applets/profile_select: Resolve a warning in exec()Gravatar Morph2020-10-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Resolves a warning where not all control paths return a value.
* | | | | | Merge pull request #4817 from Kewlan/open-single-save-locationGravatar bunnei2020-10-243-16/+20
|\ \ \ \ \ \ | | | | | | | | | | | | | | main/profile_select: Don't ask for profile when there's only one.
| * | | | | | Don't ask for profile when there's only one.Gravatar Kewlan2020-10-223-16/+20
| | | | | | |
* | | | | | | Merge pull request #4816 from Morph1984/controller-disconnect-fixGravatar LC2020-10-231-85/+84
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | sdl_impl: Fix controller reconnection issues
| * | | | | | | sdl_impl: Fix controller reconnection issuesGravatar Morph2020-10-211-85/+84
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that after a controller is disconnected, there is a chance that events from the previous controller are sent/processed after it has been disconnected. This causes the previously disconnected controller to reappear as connected due to GetSDLJoystickBySDLID() emplacing this controller back to the map. Fix this by only returning an SDLJoystick if and only if it exists in the map.
* | | | | | | Merge pull request #4706 from ReinUsesLisp/cmake-host-shadersGravatar bunnei2020-10-232-12/+7
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | video_core: Fix instances where msbuild always regenerated host shaders
| * | | | | | | video_core: Fix instances where msbuild always regenerated host shadersGravatar ReinUsesLisp2020-09-232-12/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When HEADER_GENERATOR was included in the DEPENDS section of custom commands, msbuild assumed this was always modified. Changing this file is not common so we can remove it from there.
* | | | | | | | Merge pull request #4792 from bunnei/rtc-fixGravatar bunnei2020-10-229-198/+341
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | service: time: Update current time with changes to RTC setting.
| * | | | | | | service: time: Update current time with changes to RTC setting.Gravatar bunnei2020-10-129-198/+341
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - This can be used to advance time, e.g. for Pokemon Sword/Shield pokejobs.
* | | | | | | | core: Fix clang build pt.3Gravatar Lioncash2020-10-214-16/+6
| |_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | Should finally resolve building with clang.
* | | | | | | Merge pull request #4811 from lioncash/warn-videoGravatar bunnei2020-10-201-2/+4
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | video_core: Conditially activate relevant compiler warnings
| * | | | | | | video_core: Conditially activate relevant compiler warningsGravatar Lioncash2020-10-201-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These compiler flags aren't shared with clang, so specifying these flags unconditionally can lead to a bit of warning spam. While we're in the area, we can also enable -Wunused-but-set-parameter given this is almost always a bug.
* | | | | | | | core: Fix clang build pt.2Gravatar Lioncash2020-10-202-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resolves the clang build issue in a more unintrusive way.
* | | | | | | | Revert "core: Fix clang build"Gravatar bunnei2020-10-20104-904/+665
|/ / / / / / /
* | | | | | | kernel: Fix build with recent compiler flag changesGravatar Lioncash2020-10-201-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This slipped through the cracks due to another change being merged before the compiler flag changes.
* | | | | | | Merge pull request #4807 from ReinUsesLisp/glasm-robust-ssboGravatar LC2020-10-203-33/+54
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | gl_arb_decompiler: Implement robust buffer operations
| * | | | | | | gl_arb_decompiler: Implement robust buffer operationsGravatar ReinUsesLisp2020-10-203-33/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This emulates the behavior we get on GLSL with regular SSBOs with a pointer + length pair. It aims to be consistent with the crashes we might get. Out of bounds stores are ignored. Atomics are ignored and return zero. Reads return zero.
* | | | | | | | Merge pull request #4796 from lioncash/clangGravatar LC2020-10-20104-665/+904
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | core: Fix clang build
| * | | | | | | | core: Fix clang buildGravatar Lioncash2020-10-17104-665/+904
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
* | | | | | | | | Merge pull request #4390 from ogniK5377/get-applet-inf-stubGravatar bunnei2020-10-201-1/+11
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | nifm: GetAppletInfo stub
| * | | | | | | | | Added remaining paramsGravatar David Marcec2020-10-201-1/+4
| | | | | | | | | |
| * | | | | | | | | nifm: GetAppletInfo stubGravatar David Marcec2020-10-201-1/+8
| | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | Fixes crash for Catherine Full Body
* | | | | | | | | Merge pull request #4809 from Morph1984/mjolnir-p3Gravatar LC2020-10-203-25/+23
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | configure_input_player: Fix modifier buttons
| * | | | | | | | | configure_input_player: Fix modifier buttonsGravatar Morph2020-10-203-25/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix them for real this time, now they finally work.
* | | | | | | | | | Merge pull request #4627 from Morph1984/fix-dinput-controller-disconnectGravatar bunnei2020-10-201-15/+13
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | sdl_impl: Erase the SDLJoystick entry after removing a controller
| * | | | | | | | | sdl_impl: Erase the SDLJoystick entry after removing a controllerGravatar Morph2020-10-161-15/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, disconnecting a controller still leaves a null SDLJoystick entry within the vector of SDLJoysticks mapped by GUID. When a DirectInput device of the same GUID is reconnected, it adds that device to a new port causing non-detectable input. Furthermore, opening the "Configure" menu would cause yuzu to crash since it first tries to resolve the name of a null SDLJoystick entry that was not removed. Resolve this by properly erasing the SDLJoystick entry from the vector.
* | | | | | | | | | Merge pull request #4788 from ReinUsesLisp/lockfree-host-threadGravatar bunnei2020-10-191-28/+38
|\ \ \ \ \ \ \ \ \ \ | |_|/ / / / / / / / |/| | | | | | | | | kernel: Implement host thread register methods without locking
| * | | | | | | | | kernel: Implement host thread register methods without lockingGravatar ReinUsesLisp2020-10-131-28/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Locks on GetCurrentHostThreadID were causing performance issues according to Visual Studio's profiler. It was consuming twice the time as arm_interface.Run(). The cost was not in the function itself but in the lockinig it required. Reimplement these functions using atomics and static storage instead of an unordered_map. This is a side effect to avoid locking and using linked lists for reads. Replace unordered_map with a linear search.
* | | | | | | | | | Merge pull request #4785 from Morph1984/fs-hadesGravatar bunnei2020-10-191-2/+3
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | filesystem: Fix CreateDirectory and DeleteFile
| * | | | | | | | | | filesystem: Fix CreateDirectory and DeleteFileGravatar Morph2020-10-131-2/+3
| |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a check if dir is nullptr (does not exist) Fixes save game creation in Hades
* | | | | | | | | | Merge pull request #4204 from ReinUsesLisp/vulkan-1.0Gravatar bunnei2020-10-197-58/+92
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | renderer_vulkan: Create and properly use Vulkan 1.0 instances when 1.1 is not available