Commit Graph
3861 Commits
Author SHA1 Message Date
sunshineinabox c0ba4e64cf Vulkan: Buffer alignment 2026-02-26 17:42:27 -06:00
sunshineinabox 6cf0a413a0 Vulkan: Enable pageable device-local memory 2026-02-26 17:39:07 -06:00
sunshineinabox caed40d99a Vulkan: StorageImageExtendedFormats support 2026-02-26 17:39:07 -06:00
V380-Ori f764ae2d58 Shader: skip initialization of all clip distances on macOS. 2026-02-25 17:15:47 -06:00
V380-Ori b16f74ffd9 Gpu: exclude RGBA16Float texture format for fast DMA copy on Apple silicon.
* Store a boolean for if Fast DMA texture copy is supported instead of checking vendor every time
2026-02-25 17:15:47 -06:00
V380-Ori bd96f2f51f Avalonia: fix HiDPI/Retina scaling for embedded window on macOS. 2026-02-25 17:15:46 -06:00
KeatonTheBot 3bf8a17f01 Tweak GetCpuName code 2026-02-21 14:02:34 -06:00
KeatonTheBot d5bd8871a2 Windows ARM (win-arm64) build now launches with full trimming 2026-02-20 15:16:32 -06:00
BowedCascade dcafe32d5c Fix backslash key not mappable in controller settings
Fixes keyboard mapping for the backslash key (\) which was previously unmappable in controller button assignment.
2026-02-19 09:51:24 -06:00
KeatonTheBot 18bd84c463 Update NuGet packages
Silk.NET to official NuGet 2.23.0

System group to 10.0.3
2026-02-10 17:09:56 -06:00
Coxxs 9a684ff066 audio: Fix crash due to invalid Splitter size
Fix crash caused by reading incorrect size of Splitter data.

In most games the crash doesnt happen if you have nn::audio::AudioRendererParameter VoiceCount aligned to 2, as that causes splitter data to be aligned by 0x10, but otherwise, the alignment by 0x10 done in SplitterContext->Update may exceed SplitterSize (which was previously labeled as Unknown24), causing a crash.

(Crash can be replicated by doing AudioRendererParameter.voiceCount++; in any SDK 20.X game that works, which doesn't cause crash on actual hardware)

(This patch is from a friend who makes mods.)
2026-02-01 16:11:46 -06:00
GreemDev 60c867622e audio backend projects code cleanup 2026-01-31 02:25:45 -06:00
Stossy11andGreemDev 3cdae775b1 Add macOS native Audio Backend
Adds Ryujinx.Audio.Backends.Apple, which is a AudioToolbox based audio backend for macOS (and by extension iOS). Also added in MeloNX.

* Expose AudioToolkit in UI

Co-authored-by: GreemDev <greemdev@ryujinx.app>
2026-01-31 02:25:41 -06:00
sh0inx 061bfb4074 HLE: Stubbed IUserLocalCommuniationService SetProtocol (106)
Should fix Animal Crossing: New Horizons crashing on LDN connection and potentially other titles with Switch 2 updates.
2026-01-31 01:28:06 -06:00
KeatonTheBot 2b15dfc473 Update FluentAvalonia to 2.5.0 2026-01-30 12:16:22 -06:00
Coxxs a948308a2f HLE: Implement 10106 and 10107 in IPrepoService
In some games using newer SDK (e.g. Splatoon 3 11.0.0), when `nn::prepo::PlayReport::SetOptInCheckEnabled` is set to False, `nn::prepo::PlayReport::Save` will call `IPrepoService:10106` (SaveReport) and `IPrepoService:10107` (SaveReportWithUser) instead of 10104 (SaveReportOld) and 10105 (SaveReportWithUserOld).

A new param (optInCheckEnabled) is added in 10106/10107 compare to 10104/10105.

This should fix missing service error for Splatoon 3 11.0.0 and other games using newer SDK and has set `nn::prepo::PlayReport::SetOptInCheckEnabled` to False.
2026-01-29 20:56:00 -06:00
sh0inx a91f60b6ad HLE: Implement IHidServer IsSixAxisSensorAtRest
Fixes the actually insane amount of log spam in games that check for this, such as Luigi's Mansion 3.

Values in HidDevices.NpadDevices.isAtRest may need to be tuned to a better range for resting detection. I originally set them to 0, and my controller rests at definitely NOT 0.

Will need to be revisited when implementing functionality for the global SixAxisActive bool, IHidServer.StartSixAxisTracking, and IHidServer.StopSixAxisTracking.
2026-01-24 12:44:57 -06:00
KeatonTheBot 56eef239a4 Update OpenAL to 1.25.1 2026-01-20 17:02:52 -06:00
KeatonTheBot bef07155dc Update NuGet packages
* Avalonia to 11.3.11, Svg.Controls.Avalonia group to 11.3.9.2

* Gommon to 2.8.0.4

* NUnit3TestAdapter to 6.1.0

* Ryujinx.LibHac to 0.21.0-alpha.128

* System group to 10.0.2
2026-01-15 21:07:01 -06:00
KeatonTheBot 253f47c971 Linux: Fix file picker not launching from disabling core dumps
Core dumps are disabled by default on Linux, but this prevents access to the file picker due to security hardening. To work around this, core dumps are selectively enabled and disabled around the file picker tasks.
2026-01-14 17:05:32 -06:00
KeatonTheBotandGreemDev 7d0947cac6 Add CommunityToolkit.Mvvm
Use [ObservableProperty] attribute, which greatly reduces or eliminates boilerplate code needed to generate observable properties

Co-authored-by: GreemDev <greemdev@ryujinx.app>
2026-01-14 16:58:45 -06:00
KeatonTheBot 0d29b77a14 Fix MainWindow height calculation, now launches in Steam Deck's Gaming Mode 2026-01-09 22:03:39 -06:00
KeatonTheBotandGreemDev 2aecce018c chore: CI sh/py script changes
Co-authored-by: GreemDev <greemdev@ryujinx.app>
2026-01-09 16:13:44 -06:00
KeatonTheBot 8ac2b1e497 UI: Update Svg.Controls.Avalonia group to 11.3.9.1 2026-01-06 10:19:34 -06:00
KeatonTheBot 9a1d33dde5 UI: Restore FluentAvaloniaUI package, disable animations on app initialization
* Avalonia's built-in color picker is now used when selecting a firmware avatar
2026-01-04 02:40:05 -06:00
KeatonTheBot 899c99740d Linux: Fix file picker not launching 2026-01-03 23:33:28 -06:00
KeatonTheBot 1390fd02d7 Vulkan: Add ROG Xbox Ally device ID to feedback loop restriction 2026-01-02 22:54:46 -06:00
KeatonTheBot 5ecdd197cd Fix ComboBox alignment on texture format dropdown 2025-12-27 23:08:43 -06:00
KeatonTheBot 546082128f Update NuGet packages
* Avalonia to 11.3.10

* Gommon to 2.8.0.3

* Silk.NET.Shaderc to 2.23.0

* System group to 10.0.1
2025-12-27 20:41:12 -06:00
KeatonTheBot 2aae771ab3 Clean up heap adjustment code 2025-12-27 18:53:20 -06:00
V380-Ori a2c53ed6cf Use Ryujinx.MoltenVK 1.4.1
Vulkan: remove InvalidResource workaround, as it is no longer needed since macOS Sonoma.

Vulkan: enable textureGatherOffsets on MoltenVK.
2025-12-26 15:19:19 -06:00
V380-Ori fba786cd38 Replace shaderc.net with Silk.NET.Shaderc 2025-12-26 15:09:50 -06:00
Francesco Saltori 292d42d394 Update Italian translation 2025-12-26 15:04:56 -06:00
KeatonTheBot afa4782493 Heap adjustments/fixes
* Restore 6 GiB heap for 4 GiB DRAM selection

* Limit heap to 8 GiB for games that crash or won't load with extended heaps
2025-12-25 02:20:45 -06:00
GreemDev b6cd6770ff Removed TypedStringEnumConverter; it exists in .NET now.
As per the remark XMLdoc on the type: Get rid of this converter if dotnet supports similar functionality out of the box.
2025-12-23 08:18:10 -06:00
KeatonTheBot fecb02647d Update FFmpeg to 6.1.4 for Windows/Linux 2025-12-23 01:40:39 -06:00
KeatonTheBot bf12b601b0 Update OpenAL to 1.25.0 2025-12-22 18:02:32 -06:00
GreemDev 4a5729cc01 feature: macOS Liquid Glass dynamic icon
No more squircle jail! Thanks @transistor.exe in the Ryubing discord for dropping the asset files for this to happen.
2025-12-22 11:54:22 -06:00
Coxxs 5a16e24450 gdb: add monitor get mapping
This add the following commands to Gdb Stub:

monitor get mappings
monitor get mappings <address>
monitor get mapping <address>

This is the first time arguments are used in Rcmd, so FindRcmdDelegate is changed to CallRcmdDelegate, to allow it to handle arguments cleanly.

The reply format mimics the same command on Atmosphere.

The forced pagination of monitor get mappings in Atmosphere is not added, as I think it's not needed here.
2025-12-21 23:03:56 -06:00
KeatonTheBot 2dfa040d92 Attempt #1: Fix win-arm64 build not launching with full trimming 2025-12-21 15:17:16 -06:00
KeatonTheBot da6b58b9fa Update Silk.NET.Vulkan to 2.23.0
* Add GitLab package registry to nuget.config
2025-12-19 17:49:03 -06:00
KeatonTheBotandAaron Robinson ad516777d9 Enable full trimming
Fix trim errors by excluding full assemblies from trimming that use reflection

Co-authored-by: Aaron Robinson <aaronrobin1234@gmail.com>
2025-12-19 17:49:03 -06:00
gdkchanandKeatonTheBot 812cecd713 Initial texture replacement implementation
Unmerged PR #5632, originally by @gdkchan

* Add mod manager support - @KeatonTheBot

* Remove redundant code - @KeatonTheBot

* Optimize, modernize code to newer C# standards where appropriate - @KeatonTheBot

Co-authored-by: KeatonTheBot <keaton@ryujinx.app>
2025-12-19 17:49:02 -06:00
KeatonTheBot d00bda7e53 Migrate SLN to SLNX 2025-12-13 13:32:54 -06:00
KeatonTheBot c70f692324 misc: chore: Fix possible NullReferenceExceptions, suppress warnings 2025-12-13 13:32:49 -06:00
LotP 9920619ff6 fix pre-action crash
if a buffer is inherited, ignore it and remove it from the list.

fixes a crash when a buffer is inherited during a sync and the containing ranges have been modified to not fit in the old buffer.
2025-12-13 12:09:14 -06:00
LotP 2ba33ec2ef Fix kaddressarbiter crash
Fixes a crash when trying to access the thread count on a not (yet) existing list of threads.
2025-12-06 20:29:22 -06:00
LotP e404954f88 Memory Changes 3.2
Fixes a few crashes:
- fixes a crash related to waking threads (priorities were wrong).
- fixes a crash from reusing the SetRenderTargets texture array (left-over data causing issues).
- fixes a mistake and an oversight in the buffer system.
  - buffers were getting updated wrong causing bad data to be stored or some times cut.
  - modified ranges would extend past their old buffers, crashing on syncs. Old buffers are now skipped as the new buffers already sync instead.

Introduces pooling in a few more places to increase memory efficiency.

simplified RangeList item logic.
- removed RangeItem by making all the range objects use the I(NonOverlapping)Range interface.
- BufferCache class no longer locks its RangeList, as the list is only ever accessed synchronously.

Small change to how keyboard snapshots are stored.

Increase ThreadedRenderer SpanPool size to fit slightly more data (4MB -> 8MB).
2025-12-06 19:41:14 -06:00
LotP 6b383873e8 Update BiquadFilterEffectParameter2.cs
Fixes audio issues in Metroid Prime 4 and other games
2025-12-05 08:13:33 -06:00
KeatonTheBot 32d1653af9 Fix heap size for kernel check and DRAM selections 2025-12-04 20:17:52 -06:00