Commit graph

2882 commits

Author SHA1 Message Date
Mary
6988b309ca Fix exiting emulator with multi programs (#1590)
THis fix a bug introduced in #1560 that would cause "Stop emulation" to
actually restart the game all the time.
2024-02-22 19:15:16 -05:00
gdkchan
3b890b9c62 Improve BRX target detection heuristics (#1591) 2024-02-22 19:15:16 -05:00
gdkchan
62afa9ba61 Supper 2D array ASTC compressed texture formats decoding (#1593) 2024-02-22 19:15:16 -05:00
jduncanator
4810d98aa5 Touch README (#1592)
This touches the README to trigger a rebuild of CI.
2024-02-22 19:15:16 -05:00
Mary
ebc0696d08 Fix GetStream implementation (#1588)
Fix wrong argument usage on GetStream.

Doesn't change anything as it's not used but a nice catch from jD ^^.
2024-02-22 19:15:16 -05:00
gdkchan
e26df32c29 Remove old, unused CPU optimization (#1586) 2024-02-22 19:15:16 -05:00
emmauss
0888f0eb1b Add Motion controls (#1363)
* Add motion controls

Apply suggestions from code review

Co-authored-by: Ac_K <Acoustik666@gmail.com>

* cleanup

* add reference orientation and derive relative orientation from it

* cleanup

* remove unused variable and strange file

* Review_2.

* change GetInput to TryGetInput

* Review_3.

Co-authored-by: Ac_K <Acoustik666@gmail.com>
Co-authored-by: LDj3SNuD <dvitiello@gmail.com>
2024-02-22 19:15:15 -05:00
Thog
2eca729fd9 Do not show update being availaible when appveyor is still building 2024-02-22 19:15:15 -05:00
gdkchan
02dbd72d61 Convert 1D texture targets to 2D (#1584)
* Convert 1D texture targets to 2D

* Fix typo

* Simplify some code

* Should mask that too

* Consistency
2024-02-22 19:15:15 -05:00
MelonSpeedruns
4c415b965b Appveyor Ryujinx Updater (#1403)
Co-authored-by: Xpl0itR <xpl0itr@outlook.com>
2024-02-22 19:15:15 -05:00
Ac_K
21ec9f7cc2 Basic impl of Error Applet (#1551) 2024-02-22 19:15:15 -05:00
riperiperi
ede6277478 Always set new texture data for textures initialized by a copy. (#1576) 2024-02-22 19:15:15 -05:00
mageven
5fbe1653bd Isolate more services to separate threads (#1573)
* Isolate more services to separate threads

* Fix DisplayServer

* Add explanation for vi services
2024-02-22 19:15:15 -05:00
gdkchan
999f07dad4 Implement small indexed draws and other fixes to make guest Vulkan work (#1558) 2024-02-22 19:15:15 -05:00
riperiperi
de9b4abe1b Return "NotAvailable" when no UserChannel data is present. (#1569)
* Return "NotAvailable" when no UserChannel data is present.

* Return ObjectInvalid for undefined parameter kinds.

* No need to specify which, there's only one.

* Just works as a literal string.
2024-02-22 19:15:15 -05:00
mageven
6f80f0d3ea Run audren in a separate thread (#1572) 2024-02-22 19:15:15 -05:00
gdkchan
72bc59d850 IPC refactor part 1: Use explicit separate threads to process requests (#1447)
* Changes to allow explicit management of service threads

* Remove now unused code

* Remove ThreadCounter, its no longer needed

* Allow and use separate server per service, also fix exit issues

* New policy change: PTC version now uses PR number
2024-02-22 19:15:15 -05:00
riperiperi
38a5cf2bdc Make viewStorage still valid after view removal. (#1564) 2024-02-22 19:15:15 -05:00
Mary
04e1b02023 hle/ui: Basic multi programs support (#1560)
* 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>
2024-02-22 19:15:14 -05:00
gdkchan
25580d2d21 Align register index between output targets on pixel shaders (#1559) 2024-02-22 19:15:14 -05:00
Ac_K
4086d8cb00 acc/hid: Implement ListQualifiedUsers and SetTouchScreenConfiguration (#1555)
* acc/hid: Implement ListQualifiedUsers and SetTouchScreenConfiguration

* Fix symbols
2024-02-22 19:15:14 -05:00
Xpl0itR
460f407b1a Move the open logs folder from setting into the File menu in the main window (#1550) 2024-02-22 19:15:14 -05:00
Ac_K
01d5055a94 friend: Implement GetCompletionEvent and AddPlayHistory (#1554) 2024-02-22 19:15:14 -05:00
Ac_K
80365d3139 am: Stub Begin/EndBlockingHomeButton (#1553) 2024-02-22 19:15:14 -05:00
Ac_K
927159c746 caps: Stub SetShimLibraryVersion (#1552) 2024-02-22 19:15:14 -05:00
LDj3SNuD
ca8f6e0077 Fix host stack overflow caused by some recursive guest methods. (#1528)
* Fix host stack overflow caused by some recursive guest methods.

* PPTC flag up.

* Address comments.

Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2024-02-22 19:15:14 -05:00
FICTURE7
e6adac8aed Implement block placement (#1549)
* 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
2024-02-22 19:15:14 -05:00
gdkchan
a87f769aa1 Better viewport flipping and depth mode detection method (#1556)
* 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
2024-02-22 19:15:14 -05:00
Billy Laws
ccc6e85252 Correct the threshold for control stick buttons (#1483)
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.
2024-02-22 19:15:14 -05:00
Mary
e16e96fff4 Fix debug Config using res scaling 2x by default (#1546)
As the title say, this restore the value to 1.
2024-02-22 19:15:14 -05:00
FICTURE7
f9c6827dbd Relax block ordering constraints (#1535)
* 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
2024-02-22 19:15:14 -05:00
riperiperi
cea3d0d2dd Allow swizzles to match with "undefined" components (#1538)
* 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.
2024-02-22 19:15:14 -05:00
riperiperi
6ac4ee297c Texture/Buffer Memory Management Improvements (#1408)
* 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>
2024-02-22 19:15:14 -05:00
FICTURE7
6512e15db7 Do not emit StoreToContext before Return (#1537)
* Do not emit StoreToContext before Return

* Set PPTC version
2024-02-22 19:15:14 -05:00
Mary
dea9fba01b Amadeus: Fix multi-channel PCM sources on REV8 (#1536)
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.
2024-02-22 19:15:14 -05:00
Jade
d616bf0fb6 Delete redundant sentence in README (#1534) 2024-02-22 19:15:13 -05:00
Alex Barney
b44411a757 Update to LibHac 0.12.0 (#1485)
* Update to LibHac 0.12.0

* Auto-formatting. Fixed a bug in SetApplicationCopyrightImage
2024-02-22 19:15:13 -05:00
gdkchan
53098dc657 SIMD&FP load/store with scale > 4 should be undefined (#1522)
* 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
2024-02-22 19:15:13 -05:00
gdkchan
3e77489d93 Fix PSL and MRG flags on XMAD cbuf-reg shader instruction (#1520) 2024-02-22 19:15:13 -05:00
Mary
6fafc12e8a ui: Initial better user error reporting (#1503)
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.
2024-02-22 19:15:13 -05:00
gdkchan
a094b631ab Fix regression on texture compatibility match checks (#1521) 2024-02-22 19:15:13 -05:00
sharmander
c5633cf83c Fix: Issue #1475 Texture Compatibility Check methods need to be centralized (#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
2024-02-22 19:15:13 -05:00
FICTURE7
e4ec99af84 Improve static branch prediction along fast path for memory accesses (#1484)
* Improve static branch prediction along fast path for memory accesses

* Set PPTC interval version
2024-02-22 19:15:13 -05:00
LDj3SNuD
abf570529c CPU (A64): Add Scvtf_S_Fixed & Ucvtf_S_Fixed with Tests. (#1492) 2024-02-22 19:15:13 -05:00
Mary
b00f2ffeb6 Remove the Ryujinx.Debugger project (#1506)
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.
2024-02-22 19:15:13 -05:00
mageven
77fbc607d3 Allow launching with custom data directories (#1505)
* 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
2024-02-22 19:15:13 -05:00
Margen67
c4a51a90f4 Cleanup FUNDING.yml (#1494) 2024-02-22 19:15:13 -05:00
Mary
17c4ae1c23 Clean up and update readme (#1501)
* 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>
2024-02-22 19:15:13 -05:00
gdkchan
c510845370 Fix off by one error in pages count calculation on GPU pool (#1511) 2024-02-22 19:15:13 -05:00
Mary
3c4cb2f16d Amadeus: Fix inverted downmixing of center and lfe (#1507)
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.
2024-02-22 19:15:12 -05:00