Archived
1
0
forked from MeloNX/MeloNX

3440 Commits

Author SHA1 Message Date
Gabriel A
bbe460cecd Use alternate stack for the segfault handler too 2024-09-10 09:08:02 +00:00
Gabriel A
0ffb074d9a Work around Adreno compute dispatch crash when changing grpahics state with a compute pipeline bound 2024-09-10 09:08:02 +00:00
Gabriel A
51aec9a2ed Allocate NCE patch region dynamically to avoid not having enough space 2024-09-10 09:08:01 +00:00
Gabriel A
282ba31810 Rewrite NceAsmTable using dynamic generation instead to be more robust, fix bugs 2024-09-10 09:08:00 +00:00
Gabriel A
498bb95cf1 Fix incorrect AslrRegionStart when using NCE
(cherry picked from commit 0f34b8e78e2cfca99f6a25553a1fedebbfd3adae)
2024-09-10 09:05:08 +00:00
Gabriel A
88c45e1e86 Add work around for Adreno batched texture + sampler descriptor updates bug
(cherry picked from commit 93abc5ac47fedc413a3437c65de9fecf0555afa6)
2024-09-10 09:05:02 +00:00
Emmanuel Hansen
32064ccba5 move android kotlin project over
(cherry picked from commit de59e13fc267e3e9b2f9f08a88aa6dee21b0e7f3)
2024-09-10 09:04:55 +00:00
Emmanuel Hansen
115f366609 add android bionic nce support
(cherry picked from commit d4c3cd03167922a7255e34892a4954f53c7b8aa2)
2024-09-10 09:04:48 +00:00
gdk
b5a82ac607 Add back IsApplication flag
(cherry picked from commit 64e302e6b14806fb44be17a216ef621d0b85cecd)
2024-09-10 09:04:41 +00:00
gdk
7a2869ab6e Add NCE code
(cherry picked from commit 555f9a2db23751da924be7ed5bb63874a976237e)
2024-09-10 09:02:25 +00:00
gdk
1dd2d68be8 Minor refactoring of KPageTableBase to make custom address space layouts easier to implement
(cherry picked from commit a29acdb593f4426d5a05cf1659ace11361378638)
2024-09-10 09:01:06 +00:00
Emmanuel Hansen
8af1066a55 android - add file logs
android - add game stats helper

(cherry picked from commit 211a8f9defaa73b4dad8e99a67c5d11b480f4a1b)
2024-09-10 09:00:59 +00:00
Emmanuel Hansen
ae5fd72e5c disable network change notification on bionic
(cherry picked from commit 183183d0742f961e9799a6b0f4aa415cd666fec6)
2024-09-10 09:00:52 +00:00
Emmanuel Hansen
839d192635 add bionic nativeaot support
(cherry picked from commit 0aed709520c49d51c5c894b72ee3837680cc1d50)
2024-09-10 09:00:46 +00:00
Emmanuel Hansen
b8125859ed add helper for checking bionic
(cherry picked from commit 5e67c3f56949244d72705c9436950ad9896e302b)
2024-09-10 09:00:39 +00:00
Mary
bab815ab6f armeilleure: Do not call GCSettings.LargeObjectHeapCompactionMode on Android
Mono only support Default as argument and will throw otherwise.

(cherry picked from commit 872a33fd39a6fe9e4be19d612d348d1bc46bd0a7)
2024-09-10 09:00:19 +00:00
Mary
909558859d armeilleure: Add Android to GetOSPlatform for PTC
(cherry picked from commit 6b6e62bf9624badbfda356f083d0e7f503c8208e)
2024-09-10 09:00:12 +00:00
Mary
3042cabb02 armeilleure: Add Android signal handler
(cherry picked from commit 12d7315b54880a4b412b1e6aeb25ef58076c8e02)
2024-09-10 09:00:03 +00:00
Mary
3a7a9e4456 armeilleure: Add support for Android in HardwareCapabilities
(cherry picked from commit ef932749b0a49d0cf59bf5a5cc5315c2f2870910)
2024-09-10 08:58:54 +00:00
Mary
463411546a memory: Add Android support
(cherry picked from commit c800a90eb3eaa99b8b3cfa70661539a10a36af40)
2024-09-10 08:58:43 +00:00
Emmanuel Hansen
0a54501974 libryujinx - fix branch
fix libryujinx content manager rebase
disable trim warning suppression
libryujinx - add graphics logging
libryujinx - use pointers for game info struct
libryujinx - update rd
LibRyujinx: Fix path to Ryujinx.UI.Common project
libryujinx - cleanup
Start GameInfoNative
Expand InitializeDeviceNative Signature
libryujinx - Expose InstallFirmware
libryujinx - Expose GetInstalledFirmwareVersion
Don’t crash if no firmware is installed
libryujinx - Expose Accelerometer & Gyro Functions
libryujinx - add stream support
libryujinx - add motion controls
libryujinx - add openal reference, mii applet launch api
rebase fix
libryujinx - load firmware version at launch, add user manager api
libryujinx - fix whitespace and remove unused usings
libryuijinx - fix rd.xml
libryujinx - some optimizations. apply current transform to native window instead of defaulting to Identity
libryujinx - update
libryujinx - Add more debug information when loading game files
libryujinx - call swapbuffer callback
libryujinx - update input
add file logs
add game stats helper
libryujinx-update
add basic touch and button input interface
remove armeilleire reference in rd file
libryujinx - disable shader cache
remove redundant project reference
add nativaot libryujinx project

(cherry picked from commit a3cc23b41858bdfc17d8c9631a31c33f8d1b34cc)
2024-09-10 08:57:35 +00:00
Emmanuel Hansen
0394a39342 replace opentk deprecated size property
(cherry picked from commit e65dc4521353b5cc275ece53fa6367d471fdecba)
2024-09-10 08:49:39 +00:00
Emmanuel Hansen
c90b78499b move unmanaged methods to separate file and expose more api
(cherry picked from commit 4a6b7ffbe55da614ca1a8b8dd693f60e17e99cb0)
2024-09-10 08:49:32 +00:00
gdk
235a90aed8 Make GetFunctionPointerForDelegate as explicit as possible
(cherry picked from commit 49608b7afee445ff20215c029e0515cfc495ba79)
2024-09-10 08:49:08 +00:00
Emmanuel Hansen
0dbca88e08 libryujinx - fix branch
fix libryujinx content manager rebase
disable trim warning suppression
libryujinx - add graphics logging
libryujinx - use pointers for game info struct
libryujinx - update rd
LibRyujinx: Fix path to Ryujinx.UI.Common project
libryujinx - cleanup
Start GameInfoNative
Expand InitializeDeviceNative Signature
libryujinx - Expose InstallFirmware
libryujinx - Expose GetInstalledFirmwareVersion
Don’t crash if no firmware is installed
libryujinx - Expose Accelerometer & Gyro Functions
libryujinx - add stream support
libryujinx - add motion controls
libryujinx - add openal reference, mii applet launch api
rebase fix
libryujinx - load firmware version at launch, add user manager api
libryujinx - fix whitespace and remove unused usings
libryuijinx - fix rd.xml
libryujinx - some optimizations. apply current transform to native window instead of defaulting to Identity
libryujinx - update
libryujinx - Add more debug information when loading game files
libryujinx - call swapbuffer callback
libryujinx - update input
add file logs
add game stats helper
libryujinx-update
add basic touch and button input interface
remove armeilleire reference in rd file
libryujinx - disable shader cache
remove redundant project reference
add nativaot libryujinx project

(cherry picked from commit 6288d793c6d9322c7ea188d689f524a9b73eaa9c)
2024-09-10 08:48:32 +00:00
Emmanuel Hansen
45c4f56c1d fix update searching
(cherry picked from commit c078a561ef781115ee5c7087e071ec141ee9f278)
2024-09-10 08:46:57 +00:00
Emmanuel Hansen
8226f77ddd fix content manager rebase
(cherry picked from commit 086fa8f79be35bc3bcce88764dd56e5ff185d75a)
2024-09-10 08:46:47 +00:00
Emmanuel Hansen
7de794cf81 extend stream loading support
(cherry picked from commit cff4a63e5a6deb33734f296b550723f0c6a9a693)
2024-09-10 08:46:24 +00:00
Emmanuel Hansen
6919b123b7 add stream based loaders
(cherry picked from commit e86dec9112b5e1b58a8241aadcf37bf2e3acd14c)
2024-09-10 08:45:21 +00:00
riperiperi
ca59c3f499
Vulkan: Feedback loop detection and barriers (#7226)
* Vulkan: Feedback loop improvements

This PR allows the Vulkan backend to detect attachment feedback loops. These are currently used in the following ways:

- Partial use of VK_EXT_attachment_feedback_loop_layout
  - All renderable textures have AttachmentFeedbackLoopBitExt
  - Compile pipelines with Color/DepthStencil feedback loop flags when present
- Support using FragmentBarrier for feedback loops (fixes regressions from https://github.com/Ryujinx/Ryujinx/pull/7012 )

TODO:
- AMD GPUs may need layout transitions for it to properly allow textures to be used in feedback loops.
- Use dynamic state for feedback loops. The background pipeline will always miss since feedback loop state isn't known on the GPU project.
- How is the barrier dependency flag used? (DXVK just ignores it, there's no vulkan validation...)
- Improve subpass dependencies to fix validation errors

* Mark field readonly

* Add feedback loop dynamic state

* fix: add MoltenVK resolver workaround

fix: add MoltenVK resolver workaround

* Formatting

* Fix more complaints

* RADV dcc workaround

* Use dynamic state properly, cleanup.

* Use aspects flags in more places
2024-09-01 21:28:16 -03:00
gdkchan
fdd7ee791c
Fix incorrect depth texture 3D flag (#7262) 2024-09-01 17:58:01 -03:00
riperiperi
398fa1c238
Vulkan: Update Silk.NET to 2.21 (#7266)
* Update Silk.NET version

* fix: add MoltenVK resolver workaround

fix: add MoltenVK resolver workaround

* Cleanup

* Readonly ref warnings

* Remove driver id todo
2024-09-01 17:33:11 -03:00
Emmanuel Hansen
2c5c0392f9
Make HLE project AOT friendly (#7085)
* add hle service generator

remove usage of reflection in device state

* remove rd.xml generation

* make applet manager reflection free

* fix typos

* fix encoding

* fix style report

* remove rogue generator reference

* remove double assignment
2024-08-31 11:39:26 -03:00
Emmanuel Hansen
e0acde04bb
Replace ImageSharp with SkiaSharp everywhere (#7030)
* replace ImageSharp with SkiaSharp for inline keyboard applet rendering

* fix avalonia inline keyboard input

* remove image sharp from gtk3 project

* add skiasharp linux assets

* fix whitespace

* fix format

* fix ico image offset when saving shortcut to windows
2024-08-31 11:32:53 -03:00
David McFarland
3c61d560c3
Fix deadlock in background translation thread shutdown (#7239)
TryDequeue checks for _disposed before taking the lock.  If another
thread calls Dispose before it takes the lock, it won't get woken up by
the PulseAll call, and will deadlock in Monitor.Wait.

Double-checking _disposed with the lock taken should avoid this.
2024-08-27 19:10:24 +02:00
dependabot[bot]
b45a81458a
nuget: bump DynamicData from 9.0.1 to 9.0.4 (#7220)
Bumps [DynamicData](https://github.com/reactiveui/DynamicData) from 9.0.1 to 9.0.4.
- [Release notes](https://github.com/reactiveui/DynamicData/releases)
- [Changelog](https://github.com/reactivemarbles/DynamicData/blob/main/ReleaseNotes.md)
- [Commits](https://github.com/reactiveui/DynamicData/compare/9.0.1...9.0.4)

---
updated-dependencies:
- dependency-name: DynamicData
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-21 12:30:43 +02:00
gdkchan
460f9faf4e
Fix NRE when using buffer image array (#7159) 2024-08-21 00:49:17 +01:00
Toni Förster
552c15739c
nuget: bump ImageSharp from 2.1.8 to 2.1.9 (#7160)
While building I got some warnings, so I updated the dependency.

`warning NU1903: Package 'SixLabors.ImageSharp' 2.1.8 has a known high severity vulnerability, https://github.com/advisories/GHSA-63p8-c4ww-9cg7`
2024-08-20 22:26:32 +01:00
Tsubasa0504
0137c9e635
nim:eca : Stub CreateServerInterface2 (#7128)
* Add files via upload

* Add files via upload

* Update src/Ryujinx.HLE/HOS/Services/Nim/IShopServiceAccessServerInterface.cs

---------

Co-authored-by: Ac_K <Acoustik666@gmail.com>
2024-08-17 09:57:22 +01:00
Logan Stromberg
23fa5f4c9c
Fix arbitrary game ordering when sorting by Favorites (#7170)
* Fix arbitrary sorting by "Favorite" in the UI by making it the same as sorting alphabetically while giving favorites priority.

* Use a more engineered solution rather than string hacks.

* Address code style warnings. Add null checking. Make title name comparison case insensitive.

* one more style fix

---------

Co-authored-by: Logan Stromberg <lostromb@microsoft.com>
2024-08-13 15:23:11 +02:00
gdkchan
4f75e26ec7
Clamp amount of mipmap levels to max allowed for all backends (#7197)
* Clamp amount of mipmap levels to max allowed for all backends

* XML docs

* Remove using
2024-08-12 17:45:25 -03:00
gdkchan
8d8983049e
Implement UQADD16, UQADD8, UQSUB16, UQSUB8, VQRDMULH, VSLI and VSWP Arm32 instructions (#7174) 2024-08-08 17:07:24 -03:00
jhorv
7969fb6bba
Replace and remove obsolete ByteMemoryPool type (#7155)
* refactor: replace usage of ByteMemoryPool with MemoryOwner<byte>

* refactor: delete unused ByteMemoryPool and ByteMemoryPool.ByteMemoryPoolBuffer types

* refactor: change IMemoryOwner<byte> return types to MemoryOwner<byte>

* fix(perf): get span via `MemoryOwner<T>.Span` directly instead of `MemoryOwner<T>.Memory.Span`

* fix(perf): get span via MemoryOwner<T>.Span directly instead of `MemoryOwner<T>.Memory.Span`

* fix(perf): get span via MemoryOwner<T>.Span directly instead of `MemoryOwner<T>.Memory.Span`
2024-08-05 21:09:08 -03:00
gdkchan
4a4b11871e
Fix same textures with unmapped start being considered different (#7141)
* Fix same textures with unmapped start being considered different

* Consolidate IsInvalid check

* InvalidAddress const

* Fix typo

Co-authored-by: riperiperi <rhy3756547@hotmail.com>

---------

Co-authored-by: riperiperi <rhy3756547@hotmail.com>
2024-08-05 11:00:41 -03:00
Julien Lebosquain
e85ee673b1
Fix LocaleExtension SetRawSource usages + language perf improvement (#7121)
* Avoid Avalonia CompiledBindingPathBuilder.SetRawSource

* Improve UI language change performance
2024-08-04 19:04:12 +01:00
Isaac Marovitz
42f22fe5d7
Infra: Update Microsoft.IdentityModel.JsonWebTokens (#7070)
* Update Microsoft.IdentityModel.JsonWebTokens

* Update
2024-08-04 18:56:27 +01:00
TSRBerry
263eb97f79
Avoid race conditions while launching games directly from the command line (#7116)
* optimization: Load application metadata only for applications with IDs

* Load applications when necessary

This prevents loading applications when launching an application
directly from the command line (or a shortcut).
Instead, applications will be loaded after the emulation was stopped by the user.

* Show the title in the configured language when launching an application

* Rename DesiredTitleLanguage to DesiredLanguage
2024-08-03 22:31:34 +01:00
dependabot[bot]
3004902257
nuget: bump DynamicData from 8.4.1 to 9.0.1 (#7040)
Bumps [DynamicData](https://github.com/reactiveui/DynamicData) from 8.4.1 to 9.0.1.
- [Release notes](https://github.com/reactiveui/DynamicData/releases)
- [Changelog](https://github.com/reactivemarbles/DynamicData/blob/main/ReleaseNotes.md)
- [Commits](https://github.com/reactiveui/DynamicData/compare/8.4.1...9.0.1)

---
updated-dependencies:
- dependency-name: DynamicData
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-03 22:34:41 +02:00
jhorv
59ddb26628
replace ByteMemoryPool usage in Ryujinx.Graphics (#7129)
* chore: replace `ByteMemoryPool` usage with `MemoryOwner<byte>`

* refactor: `PixelConverter.ConvertR4G4ToR4G4B4A4()` - rename old `outputSpan` to `outputSpanUInt16`, reuse same output `Span<byte>` as newly-freed name `outputSpan`

* eliminate temporary buffer allocations

* chore, perf: use MemoryOwner<byte> instead of IMemoryOwner<byte>
2024-08-03 19:50:53 +01:00
TSRBerry
83fda10f6e
Fix FileNotFoundException in TryGetApplicationsFromFile() and improve loading applications (#7145)
* Don't load files from hidden subdirectories

* Catch FileNotFoundException in TryGetApplicationsFromFile()

* Skip non-existent files and bad symlinks when loading applications
2024-08-03 19:46:59 +02:00