aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-09-21hle/ui: Basic multi programs support (#1560)Mary
* hos/gui: Add a check of NCA program index in titleid This add a check to `ApplicationLoader` for the last 2 digits of the game TitleId who seems to be the NCA program index. We currently return the last index, instead of the lower one. Same check is added to ApplicationLibrary in the UI. I've cleaned up both file too. * hle: implement partial relaunch logic TODO: make the emulator auto relauch. * Handle auto relaunch * hle: Unify update usage system * hle: Implement support of multi programs in update system * Add some documentation * Address rip's comment Co-authored-by: Ac_K <Acoustik666@gmail.com>
2020-09-21Align register index between output targets on pixel shaders (#1559)gdkchan
2020-09-20acc/hid: Implement ListQualifiedUsers and SetTouchScreenConfiguration (#1555)Ac_K
* acc/hid: Implement ListQualifiedUsers and SetTouchScreenConfiguration * Fix symbols
2020-09-20Move the open logs folder from setting into the File menu in the main window ↵Xpl0itR
(#1550)
2020-09-20friend: Implement GetCompletionEvent and AddPlayHistory (#1554)Ac_K
2020-09-20am: Stub Begin/EndBlockingHomeButton (#1553)Ac_K
2020-09-20caps: Stub SetShimLibraryVersion (#1552)Ac_K
2020-09-19Fix host stack overflow caused by some recursive guest methods. (#1528)LDj3SNuD
* Fix host stack overflow caused by some recursive guest methods. * PPTC flag up. * Address comments. Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2020-09-19Implement block placement (#1549)FICTURE7
* Implement block placement Implement a simple pass which re-orders cold blocks at the end of the list of blocks in the CFG. * Set PPTC version * Use Array.Resize Address gdkchan's feedback
2020-09-19Better viewport flipping and depth mode detection method (#1556)gdkchan
* Use a better viewport flipping approach * New approach to detect depth mode * nit: Sort method on the OpenGL backend * Adjust spacing on comment * Unswap near and far parameters based on ScaleZ
2020-09-19Correct the threshold for control stick buttons (#1483)Billy Laws
This was tested against HW with https://github.com/Xpl0itR/Input-Test/tree/master/Input-Test and a few changes to record the minimum value axis value when the stick buttons were marked as pressed.
2020-09-13Fix debug Config using res scaling 2x by default (#1546)Mary
As the title say, this restore the value to 1.
2020-09-12Relax block ordering constraints (#1535)FICTURE7
* Relax block ordering constraints Before `block.Next` had to follow `block.ListNext`, now it does not. Instead `CodeGenerator` will now emit the necessary jump instructions to ensure control flow. This makes control flow and block order modifications easier. It also eliminates some simple cases of redundant branches. * Set PPTC version
2020-09-11Allow swizzles to match with "undefined" components (#1538)riperiperi
* Add swizzle matching rules. Improves rules which try to match incompatible formats as perfect, such as D32 float -> R32 float. Remove Format.HasOneComponent, since this information is now available via the FormatInfo struct. * Fix this rule. * Update component counts for depth formats.
2020-09-10Texture/Buffer Memory Management Improvements (#1408)riperiperi
* Initial implementation. Still pending better valid-overlap handling, disposed pool, compressed format flush fix. * Very messy backend resource cache. * Oops * Dispose -> Release * Improve Release/Dispose. * More rule refinement. * View compatibility levels as an enum - you can always know if a view is only copy compatible. * General cleanup. Use locking on the resource cache, as it is likely to be used by other threads in future. * Rename resource cache to resource pool. * Address some of the smaller nits. * Fix regression with MK8 lens flare Texture flushes done the old way should trigger memory tracking. * Use TextureCreateInfo as a key. It now implements IEquatable and generates a hashcode based on width/height. * Fix size change for compressed+non-compressed view combos. Before, this could set either the compressed or non compressed texture with a size with the wrong size, depending on which texture had its size changed. This caused exceptions when flushing the texture. Now it correctly takes the block size into account, assuming that these textures are only related because a pixel in the non-compressed texture represents a block in the compressed one. * Implement JD's suggestion for HashCode Combine Co-authored-by: jduncanator <1518948+jduncanator@users.noreply.github.com> * Address feedback * Address feedback. Co-authored-by: jduncanator <1518948+jduncanator@users.noreply.github.com>
2020-09-07Do not emit StoreToContext before Return (#1537)FICTURE7
* Do not emit StoreToContext before Return * Set PPTC version
2020-09-06Amadeus: Fix multi-channel PCM sources on REV8 (#1536)Mary
This add a missing offset on the output buffer of the DataSourceVersion2Command. This fix music only playing on the left channel on Fairy Tail, Family Mysteries: Poisonous Promises, SEGA AGES Sonic the Hedgehog 2 and probably more.
2020-09-05Delete redundant sentence in README (#1534)Jade
2020-09-01Update to LibHac 0.12.0 (#1485)Alex Barney
* Update to LibHac 0.12.0 * Auto-formatting. Fixed a bug in SetApplicationCopyrightImage
2020-09-01SIMD&FP load/store with scale > 4 should be undefined (#1522)gdkchan
* SIMD&FP load/store with scale > 4 should be undefined * Catch more invalid encodings for FP&SIMD LDR/STR (reg variant) * Set PTC version to PR number
2020-09-01Fix PSL and MRG flags on XMAD cbuf-reg shader instruction (#1520)gdkchan
2020-09-01ui: Initial better user error reporting (#1503)Mary
This update the "No keys" dialog and block starting NSP/XCI/NCA without firmware. Also propose to the user if they want to install firmware if they start an untrimmed XCI and remove KEYS.md as it was completely outdated. PS: Also fix a bug with "&" in URL with OpenUrl on Windows.
2020-09-01Fix regression on texture compatibility match checks (#1521)gdkchan
2020-08-31Fix: Issue #1475 Texture Compatibility Check methods need to be centralized ↵sharmander
(#1482) * Texture Compatibility Check methods need to be centralized #1475 * Fix spacing * Fix spacing * Undo removal of .ToString() * Move isPerfectMatch back to Texture.cs Rename parameters in TextureCompatibility.cs for consistency * Add switch from 1474 to TextureCompatibility as requested by mageven. * Actually add TextureCompatibility changes to the PR (Add DeriveDepthFormat method) * Alignment corrections + Derive method signature adjustment. * Removed empty line as erquested * Remove empty lines * Remove blank lines, fix alignment * Fix alignment * Remove emtpy line
2020-08-31Improve static branch prediction along fast path for memory accesses (#1484)FICTURE7
* Improve static branch prediction along fast path for memory accesses * Set PPTC interval version
2020-08-31CPU (A64): Add Scvtf_S_Fixed & Ucvtf_S_Fixed with Tests. (#1492)LDj3SNuD
2020-08-30Remove the Ryujinx.Debugger project (#1506)Mary
This project wasn't really used by anyone and isn't worth mantaining. This commit remove the profiler entirely from Ryujinx and remove the associated CI tasks.
2020-08-30Allow launching with custom data directories (#1505)mageven
* Allow launching with custom data directories Don't load alternate keys when using custom directory * Address gdkchan's comments * Misc fixes to log levels Added more enabled log levels by default Moved successful config updation to Notice as 1. It's not a warning 2. Warnings could've been disabled by the config load and hence message would be lost
2020-08-30Cleanup FUNDING.yml (#1494)Margen67
2020-08-30Clean up and update readme (#1501)Mary
* Clean up and update readme THis clean up and improve the README a bit. * Apply suggestions from code review Co-authored-by: EmulationFanatic <62343878+EmulationFanatic@users.noreply.github.com> Co-authored-by: EmulationFanatic <62343878+EmulationFanatic@users.noreply.github.com>
2020-08-29Fix off by one error in pages count calculation on GPU pool (#1511)gdkchan
2020-08-27Amadeus: Fix inverted downmixing of center and lfe (#1507)Mary
This fix front center and lfe being inverted in input of the DownMixSurroundToStereoCommand. This fix: - Voices being missing on FE3H videos - Mario Tennis Aces missing backgroun - Probably more.
2020-08-23Improve multi-controller support in HID and Controller Applet (#1453)mageven
* Initial commit Enable proper LED patterns Toggle Hotkeys only on focus Ignore Handheld on Docked mode Remove PrimaryController Validate NpadIdType Rewrite NpadDevices to process config in update loop Cleanup * Notify in log periodically when no matched controllers * Remove duplicate StructArrayHelpers in favor of Common.Memory Fix struct padding CS0169 warns in Touchscreen * Remove GTK markup from Controller Applet Use IList instead of List Explicit list capacity in 1ms loop Fix formatting * Restrict ControllerWindow to show valid controller types Add selected player name to ControllerWindow title * ControllerWindow: Fix controller type initial value NpadDevices: Simplify default battery charge * Address AcK's comments Use explicit types and fix formatting * Remove HashSet for SupportedPlayers Fixes potential exceptions due to race * Fix ControllerSupportArg struct packing Also comes with two revisions of struct for 4/8 players max.
2020-08-20Fix asserts on VP9 decoder in debug mode and build warnings (#1480)gdkchan
2020-08-18account: Implement IManagerForApplication calls and IAsyncContext (#1466)Ac_K
* account: Implement IManagerForApplication calls and IAsyncContext This implement: - IManagerForApplication::EnsureIdTokenCacheAsync (accordingly to RE) but the Async task is stubbed. - IAsyncContext interface (accordingly to RE). - IManagerForApplication::LoadIdTokenCache (checked with RE, and stubbed). I've tried some games but now they needs some `sfdnsres` calls, some other boots and crashes with other issues. Maybe we should disable the connection somewhere to lets the game think we are offline. I have done many attempts, without success, but since the code is here now, it's better than nothing. (I've cleaned up `using` of IGeneralService too) Closes #629 and closes #630 * change AccountId * Fix gdkchan's comments * use CompletedTask
2020-08-18Misc audio fixes (#1348)Mary
Changes: Implement software surround downmixing (fix #796). Fix a crash when no audio renderer were created when stopping emulation. NOTE: This PR also disable support of 5.1 surround on the OpenAL backend as we cannot detect if the hardware directly support it. (the downmixing applied by OpenAL on Windows is terribly slow)
2020-08-17Amadeus: Final Act (#1481)Mary
* Amadeus: Final Act This is my requiem, I present to you Amadeus, a complete reimplementation of the Audio Renderer! This reimplementation is based on my reversing of every version of the audio system module that I carried for the past 10 months. This supports every revision (at the time of writing REV1 to REV8 included) and all features proposed by the Audio Renderer on real hardware. Because this component could be used outside an emulation context, and to avoid possible "inspirations" not crediting the project, I decided to license the Ryujinx.Audio.Renderer project under LGPLv3. - FE3H voices in videos and chapter intro are not present. - Games that use two audio renderer **at the same time** are probably going to have issues right now **until we rewrite the audio output interface** (Crash Team Racing is the only known game to use two renderer at the same time). - Persona 5 Scrambler now goes ingame but audio is garbage. This is caused by the fact that the game engine is syncing audio and video in a really aggressive way. This will disappears the day this game run at full speed. * Make timing more precise when sleeping on Windows Improve precision to a 1ms resolution on Windows NT based OS. This is used to avoid having totally erratic timings and unify all Windows users to the same resolution. NOTE: This is only active when emulation is running.
2020-08-14Add missing depth-color conversions in CopyTexture (#1474)mageven
* Add missing depth-color conversions in CopyTexture * Whitespace * switch expression
2020-08-13PPTC GUI: Purge all versioned caches on click (#1454)mageven
* PPTC GUI: Purge all versioned caches on click * Address AcK's comments Co-authored-by: Ac_K <Acoustik666@gmail.com> * nit: Explicit declarations Co-authored-by: Ac_K <Acoustik666@gmail.com>
2020-08-13Fix MacroJit SubtractWithBorrow Alu Reg Operation. (#1473)LDj3SNuD
2020-08-13Fix Vcvt_FI & Vcvt_RM; Add Vfma_S & Vfms_S. Add Tests. (#1471)LDj3SNuD
* Fix Vcvt_FI & Vcvt_RM; Add Vfma_S & Vfms_S. Add Tests. * Address PR feedback & Nit.
2020-08-13bluetooth: Fix event handle in IBluetoothDriver (#1464)Ac_K
This fix the InitializeBluetoothLe call who didn't return any event handle
2020-08-09Replace the Audio Backend ComboBoxText to a ComboBox with a custom model (#1451)Xpl0itR
* Use a combobox with a custom model to be able to disable entries within it * Address Ack's comments
2020-08-09Fix PTC version increment from #1433 (#1462)mageven
2020-08-08CPU: This PR fixes Fpscr, among other things. (#1433)LDj3SNuD
* CPU: This PR fixes Fpscr, among other things. * Add Fpscr.Qc = 1 if sat. for Vqrshrn & Vqrshrun. * Fix Vcmp & Vcmpe opcode table. * Revert "Fix Vcmp & Vcmpe opcode table." This reverts commit c117d9410d693185ff5f8ee8e457ffbfb2027dd5. * Address PR feedbacks.
2020-08-08Forward OpenSaveDataInfoReaderOnlyCacheStorage to ↵Alex Barney
OpenSaveDataInfoReaderWithFilter (#1449)
2020-08-07Add Issue Templates (#1456)Ac_K
* Add Issue Templates This disable the creation of empty issues and adds some templates when one is opened. A link to our discord is directly added to the issue templates list. Thanks EmulationFanatic for the proof reading. * fix copy paste * Fix name
2020-08-07Rename DebugLevel Performance to Slowdowns (#1450)mageven
2020-08-06Silence several build warnings (#1428)gdkchan
* Silence several build warnings * Remove fixed buffers from NVDEC struct * Remove unused field and usings * Fix wrong name * Silence more warning on H264 PictureInfo
2020-08-05Improve branch operations (#1442)Ficture Seven
* Add Compare instruction * Add BranchIf instruction * Use test when BranchIf & Compare against 0 * Propagate Compare into BranchIfTrue/False use - Propagate Compare operations into their BranchIfTrue/False use and turn these into a BranchIf. - Clean up Comparison enum. * Replace BranchIfTrue/False with BranchIf * Use BranchIf in EmitPtPointerLoad - Using BranchIf early instead of BranchIfTrue/False improves LCQ and reduces the amount of work needed by the Optimizer. EmitPtPointerLoader was a/the big producer of BranchIfTrue/False. - Fix asserts firing when assembling BitwiseAnd because of type mismatch in EmitStoreExclusive. This is harmless and should not cause any diffs. * Increment PPTC interval version * Improve IRDumper for BranchIf & Compare * Use BranchIf in EmitNativeCall * Clean up * Do not emit test when immediately preceded by and