summaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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 #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
| * | | | | | vk_device: Use Vulkan 1.0 properlyGravatar ReinUsesLisp2020-08-205-52/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable the required capabilities to use Vulkan 1.0 without validation errors and disable those that are not compatible with it.
| * | | | | | renderer_vulkan: Create a Vulkan 1.0 instance when 1.1 is not availableGravatar ReinUsesLisp2020-08-203-6/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit doesn't make yuzu compatible with Vulkan 1.0 yet, it only creates an 1.0 instance.
* | | | | | | Merge pull request #4802 from lioncash/bcatGravatar bunnei2020-10-191-7/+7
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | core: Add boxcat sources with target_sources
| * | | | | | | core: Add boxcat sources with target_sourcesGravatar Lioncash2020-10-181-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Same behavior, minus a script variable.
* | | | | | | | Merge pull request #4783 from bunnei/nvdrv-freespaceGravatar bunnei2020-10-182-0/+25
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | hle: service: nvdrv: Implement nvhost_as_gpu::FreeSpace.
| * | | | | | | hle: service: nvdrv: Implement nvhost_as_gpu::FreeSpace.Gravatar bunnei2020-10-122-0/+25
| | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | - This is used by Super Mario 3D All-Stars.
* | | | | | | Merge pull request #4801 from lioncash/missing-boundGravatar bunnei2020-10-171-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | mii/manager: Make use of unused lower bound in GetRandomValue()
| * | | | | | | mii/manager: Make use of unused lower bound in GetRandomValue()Gravatar Lioncash2020-10-171-1/+1
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the lower bound wasn't being used and zero was being used as the lower bound every time this function was called. This affects the outcome of some of the randomized entries a little bit, for example, the lower-bound for beard and mustache flags was supposed to be 1, not 0. Aside from these cases, the bug didn't affect anything else.
* | | | | | | Merge pull request #4782 from ReinUsesLisp/remove-dyn-primitiveGravatar bunnei2020-10-176-26/+7
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | vk_graphics_pipeline: Manage primitive topology as fixed state
| * | | | | | | vk_graphics_pipeline: Manage primitive topology as fixed stateGravatar ReinUsesLisp2020-10-136-26/+7
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Vulkan has requirements for primitive topologies that don't play nicely with yuzu's. Since it's only 4 bits, we can move it to fixed state without changing the size of the pipeline key. - Fixes a regression on recent Nvidia drivers on Fire Emblem: Three Houses.
* | | | | | | Merge pull request #4797 from bunnei/bcat-errorsGravatar bunnei2020-10-161-0/+10
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | service: bcat: Check client connection before interacting with socket.
| * | | | | | | service: bcat: Check client connection before interacting with socket.Gravatar bunnei2020-10-161-0/+10
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | - Fixes a crash when BCAT service is offline.
* | | | | | | udp/client: Make use of designated initializers in TestCommunication()Gravatar Lioncash2020-10-161-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Same behavior, but makes the callback list nicer to look at.
* | | | | | | udp/client: Take std::function by const reference with TestCommunication()Gravatar Lioncash2020-10-162-5/+5
|/ / / / / / | | | | | | | | | | | | | | | | | | Avoids redundant copies.