aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-02-28Haydn: Make SoundIO session implementation lock-free (#2068)Mary
* Haydn: Fix race condition in SoundIO Update implementation This should fix weird crashes happening for some people with SoundIO. Fix #2062 * haydn: Make SoundIO session lock-free
2021-02-28ci: Use Github artifacts for PRs (#2040)Mary
* ci: Use Github artifacts for PRs This PR extends the build job by upload artifacts for all PRs. The version of those builds is set to "1.0.0-<git_short_hash>" and those builds have the updater explicitly disabled. With this in place, we will be able to disable ApppVeyor on PRs. * Add actions to comment build links As Github doesn't provide links to unlogged users, we use nightly.link for that. * Address Ac_k's comments
2021-02-28Fix virtual address overflow near ulong limit (#2044)Caian Benedicto
* Fix virtual address overflow near ulong limit * Fix comments * Improve overflow checking for large size values * Add overflow checking to AddressSpaceManager class * Add overflow protection to read and write functions
2021-02-28Some minor formal wording for the updater. (#2060)VocalFan
* Some minor formal wording for the updater. * Fixed a line.
2021-02-28Improve heuristic for showing the keyboard (#2066)Caian Benedicto
2021-02-26Haydn: Part 1 (#2007)Mary
* Haydn: Part 1 Based on my reverse of audio 11.0.0. As always, core implementation under LGPLv3 for the same reasons as for Amadeus. This place the bases of a more flexible audio system while making audout & audin accurate. This have the following improvements: - Complete reimplementation of audout and audin. - Audin currently only have a dummy backend. - Dramatically reduce CPU usage by up to 50% in common cases (SoundIO and OpenAL). - Audio Renderer now can output to 5.1 devices when supported. - Audio Renderer init its backend on demand instead of keeping two up all the time. - All backends implementation are now in their own project. - Ryujinx.Audio.Renderer was renamed Ryujinx.Audio and was refactored because of this. As a note, games having issues with OpenAL haven't improved and will not because of OpenAL design (stopping when buffers finish playing causing possible audio "pops" when buffers are very small). * Update for latest hexkyz's edits on Switchbrew * audren: Rollback channel configuration changes * Address gdkchan's comments * Fix typo in OpenAL backend driver * Address last comments * Fix a nit * Address gdkchan's comments
2021-02-25Fix updater breaking user execute permissions on Unix (#2055)pineappleEA
* Fix updater breaking user run permissions on *nix The updater currently sets the permissions to user run only when the yes button is clicked, this changes it to run on Updater.cs after it's done updating as it should. * Fix nits
2021-02-23Pacify updater (#1899)mageven
* Updater: Remove dirs selectively * Log exceptions from updater async tasks * Address riperiperi's comments
2021-02-23PPTC: Fix unwanted propagation of a relocatable constant in a specific case. ↵LDj3SNuD
(#1990) * Fix unwanted propagation of a relocatable constant in a specific case. * Ptc.InternalVersion = 1990 * Nit to retrigger the Checks.
2021-02-22Update README.MD (#2049)EmulationFanatic
2021-02-22UI: Multithreaded Updater (#2031)sharmander
* Use multiple threads to download different chunks of an update simultaneously. This reduces time to complete the download significantly. * Remove dirty-flag check (for test purposes) * Clean up updater code. * Include fallback to single-threaded updater if mt fails * Reduce connection count to 4. * Improve fallback on error. Correct issue where data was missing during download due to total build size not being cleanly divisble by the connection count. Cleaned up unnecessary code. * Add missing return statements * Fix alignment * Alignment * More alignment * Rely on content-range request instead of xml/json size property. * Re-instate dirty checking and version checking to move into review stage. * Address comments * Address comments * Comments * Comments * Final...? * final final * final final final nit * Use Array.Copy as requested by rip * Updated some names for clarity. * Move addition into for loop (to shorten line width) * Add missing semicolon -- forgot to stage :9
2021-02-22Implement VCNT instruction (#1963)mageven
* Implement VCNT based on AArch64 CNT Add tests * Update PTC version * Address LDj's comments * Explicit size in encoding * Tighter tests * Replace SoftFallback with IR helper Co-authored-by: LDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com> * Reduce one BitwiseAnd from IR fallback Based on popcount64b from https://en.wikipedia.org/wiki/Hamming_weight#Efficient_implementation * Rename parameter and add assert Co-authored-by: LDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com> Co-authored-by: LDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com>
2021-02-22PPTC & Pool Enhancements. (#1968)LDj3SNuD
* PPTC & Pool Enhancements. * Avoid buffer allocations in CodeGenContext.GetCode(). Avoid stream allocations in PTC.PtcInfo. Refactoring/nits. * Use XXHash128, for Ptc.Load & Ptc.Save, x10 faster than Md5. * Why not a nice Span. * Added a simple PtcFormatter library for deserialization/serialization, which does not require reflection, in use at PtcJumpTable and PtcProfiler; improves maintainability and simplicity/readability of affected code. * Nits. * Revert #1987. * Revert "Revert #1987." This reverts commit 998be765cf7f7da5ff0c1c08de704c9012b0f49c.
2021-02-21Turn Copy into Fill in HybridAllocator (#2010)FICTURE7
* Turn Copy into Fill in HybridAllocator * Set PTC internal verison
2021-02-21appletAE: Implement SetLcdBacklighOffEnabled (#2037)Ac_K
This PR implement `appletAE ICommonStateGetter SetLcdBacklighOffEnabled` accordingly to RE. Closes #2021
2021-02-21Controller Input handling refactoring (#1751)Jose Padilla
* This should fix issue #1374 in Linux Changes: - Bind buttons by detecting the transition from down to up. - Bind axis by detecting movement from value higher than 50% to a value lower than 50%. Caveats: - I have tested only with DS3 in Linux (Fedora 32). - ZL and ZR detection works by accident. This code doesn't take negative axis into account. The reason it works is because axis are managed in absolute value. So when pressing ZL/ZR axis value goes from -1 to 1 (or 1 to 0 and back to 1) and this hits the axis detector. - Likely I have broken all the other controllers xD (testing needed). * Assign keyboardPressed * Make a more robust detection of pressed buttons when using a controller * Add interface to bind buttons from Joystick and Keyboard * Fix style issues after code review by @AcK77 (Thanks!) * Move new classes to Ryujinx.Ui.Input namespace * Use explicit types instead of var * Update Ryujinx/Ui/Input/JoystickButtonAssigner.cs Co-authored-by: Mary <thog@protonmail.com> * Update Ryujinx/Ui/Input/JoystickButtonAssigner.cs Co-authored-by: Mary <thog@protonmail.com> * Update Ryujinx/Ui/Input/JoystickButtonAssigner.cs Co-authored-by: Mary <thog@protonmail.com> * Update Ryujinx/Ui/Input/JoystickButtonAssigner.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Add a new empty line before * Up Co-authored-by: Jose Padilla <jose@prensalink.com> Co-authored-by: Mary <thog@protonmail.com> Co-authored-by: Ac_K <Acoustik666@gmail.com>
2021-02-20Make windows DPI aware to display properly on high-resolution screens. (#1983)sharmander
* Make Windows DPI aware to display properly on high-resolution screens. * remove empty line * Don't use app manifest, set process dpi aware programatically. Store variables in Program.cs for use instead of re-creating them per class/ method. * Fix for linux/osx * Add braces * Re-use manifest. It appears to be required on linux. * Undo previous commit -- it appears linux was simply never affected. * Addressed AcK's comments * Remove unused usings * Address comments by AcK #2 * Re-order * Move FromHwnd call to ForceDpiAware class. Wrap in Try-Catch to prevent crashes on systems that don't support it. * Additional code cleanup * Remove "global::" reference.
2021-02-20Allow modding AddOnContent RomFS (#2024)mageven
Simplify some misc logic
2021-02-19Allow reconfiguring "Ignore Missing Services" during emulation (#2034)mageven
2021-02-19nifm: Fix returned buffer size of GetClientId (#2036)Ac_K
This PR fix an issue introduced on last IPC rewrite PRs where some returned buffer size have to be explicit now. `GetClientId` without an explicit buffer size return some garbage to the guest and then `nifm` service crashes because of a wrong ClientId. It's fixed now. Horizon Chase Turbo and Doom regression are fixed now. (Probably some other games too)
2021-02-17settings: Fix returned buffer size of GetFirmwareVersion (#2029)Ac_K
2021-02-17Fix memory tracking performance regression (#2026)gdkchan
* Fix memory tracking performance regression * Set PTC version
2021-02-16Validate CPU virtual addresses on access (#1987)gdkchan
* Enable PTE null checks again * Do address validation on EmitPtPointerLoad, and make it branchless * PTC version increment * Mask of pointer tag for exclusive access * Move mask to the correct place Co-authored-by: LDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com>
2021-02-15Hide Cursor On Idle (#1993)pineappleEA
* Implement "Hide Cursor On Idle" option Adds a general option to autohide the cursor after 8s have elapsed. * Fix cursor not hiding on Windows and dispose it * Don't dispose cursor, fix var names * Abide by the GNOME documentation * Fix nits * Disabled by default, make it so it doesn't utilize any timer * Remove *NIX time and extra lines * Don't calculate if option is disabled * Move if case * Fix alignment
2021-02-11prepo: Implement GetSystemSessionId and add perms (#2014)Ac_K
* prepo: Implement GetSystemSessionId and add perms * address feedbacks
2021-02-11Hotfix for Joy-Con Images (#2011)Ayato (Shahil)
The Joy-Con images should no longer be stretched on Windows (P.S I hate Windows :p)
2021-02-11Enable multithreaded VP9 decoding (#2009)gdkchan
* Enable multithreaded VP9 decoding * Limit the number of threads used for video decoding
2021-02-11Update Joy-Con images 2 (#2004)Ayato (Shahil)
* Update Joy-Con Images 2 This Updates the Joy-Con images, Changes include, adding a top view to the {Joy-Con Pair} image and {Joy-Con Left and Right} Images and adding a side view to {Joy-Con Left and Right} images, the colours should be less washed out as well and I also decided to clean up the raw image because even though you could not see it in the GUI, the Images themselves looked very messy when opened in a Vector tool * Fix Sily Right Joy Con mistake * Make ZL and ZR more visable
2021-02-11Improve inline keyboard compatibility (#1959)Caian Benedicto
* Improve compatibility of the inline keyboard with some games * Send an empty first text to avoid crashing some games * Implement SetCustomizedDictionaries and fix SetCustomizeDic * Expand Bg and Fg –abbreviations in the swkbd applet * Fix variable names and add comments to software keyboard
2021-02-10Edit the global.json to allow use of dotnet sdk 5.0.XXX (#2008)Xpl0itR
2021-02-09Load default config when an invalid config is found (#1008)Xpl0itR
- Bind toggle events after setting up their current values. This fixes the issue where the config is saved 10 times when the main window is opened :grimacing: - Write to disk immediately to decrease the chances of corruption
2021-02-09Implemented ↵Joshi234
ISystemSettingsServer.IsUserSystemClockAutomaticCorrectionEnabled (#1932) * Added IsUserSystemClockAutomaticCorrectionEnabled This is used when a game want to check if you game is synced with a server * Update ISystemSettingsServer.cs * Implemented OpenDataStorageWithProgramIndex * Update IFileSystemProxy.cs * Commited that file on accidant * Update IFileSystemProxy.cs * Revert "Merge branch 'master' of https://github.com/Joshi234/Ryujinx" This reverts commit 375f43045507bc12e743ae1babc6f47bd72987f5, reversing changes made to 672e2c8f7da28160f2f575a16aaa135d232bf655. * Revert "Update IFileSystemProxy.cs" This reverts commit 672e2c8f7da28160f2f575a16aaa135d232bf655. * Update IFileSystemProxy.cs * Update ISystemSettingsServer.cs * removed accidantel addition of IFileSystemProxy.OpenDataStorageWithProgramIndex * Update Ryujinx.HLE/HOS/Services/Settings/ISystemSettingsServer.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update Ryujinx.HLE/HOS/Services/Settings/ISystemSettingsServer.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Fix formating and add missing stub * Update ISystemSettingsServer.cs * Update ISystemSettingsServer.cs Co-authored-by: Ac_K <Acoustik666@gmail.com>
2021-02-08Fix inter-process data copy on non-contiguous physical regions (#1988)gdkchan
2021-02-08Optimization | Modify Add (Integer) Instruction to use LEA instead. (#1971)sharmander
* Optimization | Modify Add Instruction to use LEA instead. Currently, the add instruction requires 4 registers to take place. By using LEA, we can effectively perform the same working using 3 registers, reducing memory spills and improving translation efficiency. * Fix IsSameOperandDestSrc1 Check for Add * Use LEA if Dest != SRC1 * Update IsSameOperandDestSrc1 to account for Cases where Dest and Src1 can be same for add * Fix error in logic * Typo * Add paranthesis for clarity * Compare registers as requested. * Cleanup if statement, use same comparison method as generateCopy * Make change as recommended by gdk * Perform check only when Add calls are made * use ensure sametype for lea, fix else * Update comment * Update version #
2021-02-08Simplify handling of shader vertex A (#1999)gdkchan
* Simplify handling of shader vertex A * Theres no transformation feedback, its transform * Merge TextureHandlesForCache
2021-02-08Fix Updater Icon On Linux (#1995)edisionnano
* Fix Linux Icon * Fix identation * Move the icon to the private constructor
2021-02-08Disable partial JIT invalidation on unmap (#1991)gdkchan
2021-02-08Implement ETC2 (RGB) texture format (#2000)gdkchan
* Implement ETC2 format * Fix component counts for compressed formats
2021-02-01Do not flush multisample textures (#1973)gdkchan
2021-02-01Use multiple dest operands for shader call instructions (#1975)gdkchan
* Use multiple dest operands for shader call instructions * Passing opNode is no longer needed
2021-01-29Implement geometry shader passthrough (#1961)gdkchan
* Implement geometry shader passthrough * Cache version change
2021-01-29Add PPTC acronym to settings page (#1974)EmulationFanatic
2021-01-29Use a descriptor cache for faster pool invalidation. (#1977)riperiperi
* Use a descriptor cache for faster pool invalidation. * Speed up comparison by casting to Vector256 Now we never need to worry about this ever again
2021-01-28Enable Docked Mode by Default (#1953)ShahilSharma
Enables Docked Mode by default, since I see no reason to keep it off by Default.
2021-01-28Support multiple destination operands on shader IR and shuffle predicates ↵gdkchan
(#1964) * Support multiple destination operands on shader IR and shuffle predicates * Cache version change
2021-01-28Lower precision of estimate instruction results to match Arm behavior (#1943)gdkchan
* Lower precision of estimate instruction results to match Arm behavior * PTC version update * Nits
2021-01-27Support shader F32 to Bool reinterpretation (#1969)gdkchan
2021-01-27Fix regression on shader atomic SSBO operations (#1967)gdkchan
* Fix regression on shader atomic SSBO operations * Update comment
2021-01-27Avoid some redundant GL calls (#1958)gdkchan
2021-01-27Fix conditional rendering without queries (#1965)gdkchan