Commit Graph
3989 Commits
Author SHA1 Message Date
KeatonTheBot 2e6e4076bf Ryujinx.slnx: Correct \ to / in RenderDocApi project path 2026-09-13 14:41:16 -05:00
KeatonTheBot ab7176e6fc Migrate RenderDoc to Kenji-NX 2026-09-13 14:27:26 -05:00
GreemDev 20868546b0 RenderDoc API support 2026-09-13 14:16:34 -05:00
Max 892fcd9444 Fixed rumble not being sent to the controller 2026-09-10 23:16:31 -05:00
KeatonTheBot 70cc617e31 Update NuGet packages
- Avalonia to 12.1.2

- Svg.Controls.Avalonia to 12.0.0.17

- Microsoft.IdentityModel.JsonWebTokens to 8.22.0

- Microsoft.NET.Test.Sdk to 18.10.0

- Ryujinx.Graphics.Vulkan.MoltenVK to 1.4.3-ryujinx.1

- System.IO.Hashing to 10.0.12
2026-09-09 21:45:41 -05:00
KeatonTheBot 9bf15801fd misc: Fix config file version 2026-09-08 16:13:26 -05:00
Max e3150d20bb [HID] Restructure HD Rumble class for future controller support
- Attempted fixing the strength: so far it hasn't been successful.
- Rumble should skip vibrations if they're not in-line with poll-rate: would like to come back to this. Queuing just does exactly what the hid buffer does, but our timer (poll rate) is not in sync with the rate the controller is reading at, which causes excess drops.
- Refactored the class so that implementing support for HD rumble for other controllers (DS5, Steam Controller) is much easier in the future.
2026-09-08 15:54:23 -05:00
Max 50538d601f [HID] Fixed HD Rumble latency 2026-09-08 15:54:23 -05:00
stossy11 5d3e392082 Fix fragment ClipDistance SPIR-V lookup
- Fixed ClipDistance being treated as VTG gl_PerVertex block, Causing the lookup of Input.Position when it's undeclared.
2026-09-08 15:54:23 -05:00
Neo c57e91cc59 Implement: TrySelectUserWithoutInteraction Command 52
Adds support for IAccountServiceForApplication command 52, TrySelectUserWithoutInteraction, introduced in Firmware 19.0.0.

Command 51 (TrySelectUserWithoutInteractionDeprecated) and command 52 use the existing ApplicationServiceServer.TrySelectUserWithoutInteraction implementation.

This prevents newer titles from failing when requesting automatic user selection through the new command.

Tomb Raider: Definitive Edition is now fully playable.
2026-09-08 15:54:22 -05:00
Neo 0381c7157b Fix: GetAllAvailableResources Filtering by Resource Path
Fix EmbeddedResources.GetAllAvailableResources to respect the specified resource path when enumerating embedded resources.

Previously, resources were filtered only by file extension. Adding locale-named JSON files under anywhere else caused them to be included when querying Assets/Locales, resulting in duplicate entries in the language menu.
2026-09-08 15:54:22 -05:00
avan 93b4c53c8a Fix crash on duplicate Build IDs in ModLoader.LoadCheats
Multiple executables may report the same Build ID, causing ToDictionary to throw an ArgumentException while creating the executable lookup.

Build the lookup incrementally and keep the first code address when duplicate Build IDs are encountered. Log a warning if a duplicate Build ID is associated with a different code address.
2026-09-08 15:54:22 -05:00
avan ef14467d1f Fix a hang during the loading stage
In KAddressArbiter, threads were originally inserted into the wait queue according to their DynamicPriority.

When multiple threads had the same DynamicPriority, the original implementation could not guarantee their existing order. Threads with the same dynamic priority are now inserted in FIFO order, preventing unstable wake-up ordering from blocking the guest synchronization flow.
2026-09-08 15:54:22 -05:00
KeatonTheBot e07f333a31 Raise application pool sizes for DRAM selections
- Fixes crash with BotW and possibly other games
2026-09-05 14:09:46 -05:00
KeatonTheBot fc4c45ef1d UI: Fix XCI file trimmer selection crash 2026-08-29 17:33:11 -05:00
Neo 52c6a1890e Improve "Add raw copy dependencies for incompatible textures"
Initial PR was made by Avan for Ryubing.

This allows for Trails in the Sky 1st Chapter (and by extension Trails through Daybreak, Trails through Daybreak II, Trails Beyond the Horizon, and the future Trails in the Sky 2nd Chapter – tested via demo – to be fully playable.

Initial PR caused issues on macOS devices, specifically crashing in certain games (such as Mario Kart 8 Deluxe and the aforementioned Trails games). It was reverted on the original Ryubing project (at the time of writing this description) for causing small rendering issues on The Legend of Zelda: Breath of the Wild.

The rendering issues do not appear on macOS.

This commit improves the original PR by eliminating said macOS crash.

Trails in the Sky 1st writes its exposure/brightness value through an R32G32Float 1x1 texture and later reads the raw bits back through an R32Uint 2x1 texture mapped to the same guest memory. The two texture formats/dimensions are fully incompatible as texture views, so they end
up as separate host textures, and nothing kept their contents coherent - the reader saw stale zeroed data, making the exposure calculation (and the rendered image) too dark. (This is the initial fix for the game)

TextureGroup already had a raw-copy dependency mechanism intended to
handle this class of alias (TextureDependency, TextureGroupHandle
raw-copy plumbing), gated by CanCreateRawCopyDependency's strict same-guest-memory checks. This commit fixes three bugs that kept that mechanism from working correctly (and thus crashing Trails and other games, such as Mario Kart 8 Deluxe):

(1) TextureGroup.InitializeOverlaps() and TextureGroup.RegisterIncompatibleOverlap() only forwarded overlaps to CreateCopyDependency() when compatibility was LayoutIncompatible or better, silently excluding the fully Incompatible case the raw-copy path exists for. Widened both guards to let Incompatible overlaps through so CanCreateRawCopyDependency actually gets a chance to run.

(2) Once Incompatible overlaps were allowed through, CreateCopyDependency(TextureGroup, ...) could still fall back to a regular, non-raw textureCopy for such pairs, since ViewLayoutCompatible/CopySizeMatches only check byte size and were never meant to reason about fully incompatible pairs (e.g. a depth format aliasing a color format with the same byte size). On Vulkan running through MoltenVK on macOS, that non-raw copy path requires a pixel-format-reinterpreting texture view, and MoltenVK/Metal refuses to create any view onto a depth-format texture ("not castable"), aborting emulation. textureCopy is now forced false for Incompatible pairs, leaving raw copy (which already excludes depth/stencil formats) as the only route for that severity level.

(3) TextureGroupHandle.Inherit() copied a handle's pending DeferredCopy to the new handle when a view was recreated, but did not copy DeferredCopyRaw alongside it. A handle that inherited a pending raw copy would then execute it through the regular (non-raw) CopyTo path once acknowledged, reinterpreting the source bytes with the wrong row layout and corrupting the image - visible as vertical flickering stripes whenever a view happened to be recreated with a raw copy still pending. DeferredCopyRaw is now carried over together with DeferredCopy.

(As mentioned earlier, vertical stripes aren't present on macOS, so (3) doesn't negatively have an effect on macOS in any way).
2026-08-29 10:00:58 -05:00
MaxandMythrax 2288084b53 HLE: Implemented ILockAccessor and ICommonStateGetter commands and stubs for Virtual Boy – Nintendo Classics #3
- Moves emulation past the initial frame by providing the necessary inputs the game expects. Apparently games like to spin until they get what they want.

Co-authored-by: Mythrax <mythrax@mythrax-rs.org>
2026-08-29 09:49:39 -05:00
Babib3l dd519a32b6 Hotfix for the PTC version, it's adjacent comment and PTC writer logging 2026-08-29 09:49:39 -05:00
Babib3l 7be8829b0a Wire "Start games in fullscreen" option to use the new fullscreen behaviour
Final (hopefully) fix for https://github.com/Ryubing/Issues/issues/415
2026-08-25 14:51:02 -05:00
Renovate Bot 6225e142fc Update Svg.Controls to 12.0.0.15 (#22)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [Svg.Controls.Avalonia](https://github.com/wieslawsoltes/Svg.Skia) | `12.0.0.13` → `12.0.0.15` | ![age](https://developer.mend.io/api/mc/badges/age/nuget/Svg.Controls.Avalonia/12.0.0.15?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Svg.Controls.Avalonia/12.0.0.13/12.0.0.15?slim=true) |
| [Svg.Controls.Skia.Avalonia](https://github.com/wieslawsoltes/Svg.Skia) | `12.0.0.13` → `12.0.0.15` | ![age](https://developer.mend.io/api/mc/badges/age/nuget/Svg.Controls.Skia.Avalonia/12.0.0.15?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Svg.Controls.Skia.Avalonia/12.0.0.13/12.0.0.15?slim=true) |

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDkuNSIsInVwZGF0ZWRJblZlciI6IjQzLjI0OS41IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: https://git.ryujinx.app/projects/Kenji-NX/pulls/22
2026-08-25 04:17:37 +00:00
Renovate Bot 9e3c03a606 Update dependency FluentAvaloniaUI to 3.1.0 (#21)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [FluentAvaloniaUI](https://github.com/amwx/FluentAvalonia) | `3.0.2` → `3.1.0` | ![age](https://developer.mend.io/api/mc/badges/age/nuget/FluentAvaloniaUI/3.1.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/FluentAvaloniaUI/3.0.2/3.1.0?slim=true) |

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDkuNSIsInVwZGF0ZWRJblZlciI6IjQzLjI0OS41IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: https://git.ryujinx.app/projects/Kenji-NX/pulls/21
2026-08-25 02:46:07 +00:00
KeatonTheBot 8e9bcb2a8e Update System.IO.Hashing to 10.0.11 2026-08-24 15:32:05 -05:00
Babib3l 7101f52c01 River 2 : HLE: Use per-program ownership for PTC disk caches
This PR threads process/program identity into PTC disk cache initialization so cache ownership is selected from the launched process rather than global/shared application state.

Previously, the PTC initialization path only propagated loose title/version information into the CPU layer. That was mostly fine for a single launched application, but will introduce many problems once multiple programs can be launched during the same session, given later processes could inherit cache identity from the first loaded application.
To address this issue, this PR introduces a `PtcCacheInfo` payload and applies it through the process context, CPU context, translator, and PTC initialization paths. Cache ownership is now resolved once the kernel process PID is known and includes:

- PID
- Program ID / Title ID
- Application ID
- Program index
- Display version
- Process kind
- Cache selector

`PtcCacheInfo` now owns its default title/application/version values, and `Ptc` uses that cache info directly instead of mirroring title/version fields internally.

The persistent cache key itself does remains title/version/selector based rather than PID based, so caches remain reusable across launches while still being selected from the correct process context. PID is only used for diagnostics and ownership tracing in logs.

Additional PTC logging has also been added to report cache ownership and selected paths during PTC initialization, Profiling info load/save and translation cache load/save

Both the PTC and profiler internal versions were bumped (a bunch of times lol).
2026-08-24 13:45:08 -05:00
avan e80fc00462 Fix view compatibility for compressed textures with different logical sizes
It has been confirmed that Divinity: Original Sin 2 may describe the same or overlapping guest GPU memory using BCn-compressed textures with different logical dimensions, such as 104×104 and 102×102.

BCn formats store texture data in blocks, with each BC block covering 4×4 texels. After rounding the dimensions up to complete blocks, both 104×104 and 102×102 textures require a 26×26 grid of BC blocks. As a result, they have the same block footprint at the base mip level. Ryujinx originally determined size compatibility in TextureCompatibility.ViewSizeMatches() primarily from this block footprint, which could cause these textures to be classified as Full view-compatible and allowed to share the same Vulkan VkImage directly.

However, because the two textures have different logical dimensions, their mip chains are also different. For example, at mip level 3, a 104×104 texture is reduced to 13×13, while a 102×102 texture is reduced to 12×12. If a 104×104 child texture view shares the backing image of a 102×102 parent texture, a subsequent full mip upload may attempt to write 13×13 compressed data into a Vulkan image subresource whose actual dimensions are only 12×12.

This produces a compressed buffer-to-image copy that does not match the geometry of the backing image. After the invalid command is submitted to the GPU, the Vulkan driver may asynchronously report VK_ERROR_DEVICE_LOST during command buffer submission, waiting, or presentation. In Ryujinx, this eventually appears as: VulkanException: Unexpected API error "ErrorDeviceLost".

The fix adds a logical-dimension check to TextureCompatibility.ViewSizeMatches(). If either the parent or child uses a compressed texture format, and the actual width or height of the corresponding parent mip does not match the logical width or height of the child, the relationship is no longer classified as Full view-compatible. Instead, it is downgraded to CopyOnly.

CopyOnly indicates that the two textures may still describe the same or overlapping guest memory and that their contents must remain synchronized, but they cannot directly share a single fixed-size Vulkan image. Ryujinx instead allows each texture to retain a host texture matching its own logical dimensions and synchronizes their contents through the existing copy-dependency mechanism.

As a result, the 13×13 mip of the 104×104 texture is uploaded to an actual 13×13 destination mip, while the 12×12 mip of the 102×102 texture is uploaded to an actual 12×12 destination mip.
2026-08-22 18:51:41 -05:00
avan 33cbd29c23 Fix bindless elimination failures observed in OCTOPATH TRAVELER 0:
Failed to find handle source for bindless access of type "textureBuffer".
2026-08-22 18:51:41 -05:00
avan cfc7c6039f Fix OpenGL program relaunch
The Enhanced and Classic versions of FFT are different program indices within the same application. When the Classic version is launched, the game uses ExecuteProgram to stop the current program, trigger DisposeGpu, create a new renderer and OpenGL context, and then launch the requested program.

Previously, when AppHost executed DisposeGpu, it attempted to bind the old OpenGL context and then called Device.DisposeGpu to destroy GPU resources. During the program relaunch flow, however, the old RendererHost may already have been removed from the visual tree, causing its native window to become detached.

If the old OpenGL context can no longer be bound, a ContextException is thrown, preventing the subsequent AppExit and program relaunch flow from continuing.

The updated implementation handles this case by detecting a ContextException while binding the OpenGL context when ShouldRestart is true. It then skips the destruction of GPU resources that depend on the old OpenGL context, allowing the old context to be released together with the old window. The AppExit and program relaunch flow can then continue without being interrupted.
2026-08-22 18:51:41 -05:00
avan ac6db0fe76 Fix Vulkan/OpenGL attachmentless rendering
Some fragment passes used by FFT do not have any color or depth/stencil attachments. Instead, the fragment shader writes the results directly to storage images (on OpenGL: through imageStore).

### Vulkan
When SetImage is called and FramebufferParams has no attachments, its virtual size must be updated using the width, height, and layer count of the fragment storage image. Otherwise, the attachmentless framebuffer may retain an incorrect 1x1 extent, causing backgrounds, logos, UI elements, and other rendered content to be missing.

If the first draw occurs before the storage-image descriptor is rebound, SetImage cannot yet provide the correct storage-image dimensions. Therefore, when RecreateGraphicsPipelineIfNeeded finds that FramebufferParams has no attachments and still uses the default 1x1 extent, it initializes the framebuffer dimensions from the active viewport. Otherwise, the first Vulkan draw may be restricted to a 1x1 area and render incorrectly.

The storage-image extent is therefore used as the authoritative size for FramebufferParams, while the active viewport is used as a fallback when the storage-image extent is not yet available before the first draw.

### OpenGL
A storage image is not a framebuffer attachment, so OpenGL cannot derive the framebuffer width and height from it. When the framebuffer has no attachments but a viewport with valid dimensions has already been defined, Pipeline.PreDraw must set the default framebuffer width and height from the active viewport.

Without non-zero default width and height values, the attachmentless framebuffer remains incomplete. Drawing with that framebuffer results in InvalidFramebufferOperation, so rasterization and fragment shader execution do not occur even when the storage images are bound correctly.
2026-08-22 18:51:41 -05:00
KeatonTheBot bed294bb92 UI: Fix Restart Emulation menu item not being clickable 2026-08-21 12:31:39 -05:00
Babib3l ed70f7921e feature: Add GpuDriverVersion to GPU info logging
- The Vulkan backend now reports the driver name and version using VK_KHR_driver_properties when available, with fallbacks for raw Vulkan driverVersion parsing. Intel Windows drivers also get the full package-style version from the driver UUID when exposed by the driver.
  OpenGL now carries its existing OpenGL version string through HardwareInfo.GpuDriverVersion.
2026-08-21 12:05:42 -05:00
LotPandLotP1 1a1fe53535 Fix a crash when no controller is connected
Co-authored-by: LotP1 <68976644+LotP1@users.noreply.github.com>
2026-08-17 14:03:27 -05:00
KeatonTheBot 47e55acf21 UI: Update Avalonia to v12.1
- Avalonia to 12.1.1

- FluentAvalonia to 3.0.2

- Move DevTools Ctrl+F12 keybind to app initialization
2026-08-16 16:37:27 -05:00
avan 0e5fead0f9 Reject texture descriptors with unmapped addresses
Fix an "Invalid texture format 0x25A5A (sRGB: True)" error that occurs when running OCTOPATH TRAVELER 0.

The game may leave texture descriptor heap entries filled with 0x5A. Interpreting such uninitialized entries as valid texture descriptors produces an invalid format and causes texture creation to proceed with garbage descriptor data.

Validate the texture address before decoding the descriptor. Descriptors with a zero or unmapped address are marked as invalid and skipped. The invalid state is cleared when the corresponding texture pool entry is modified, allowing the descriptor to be evaluated again.
2026-08-10 00:05:44 -05:00
KeatonTheBotand_Neo_ d1fb89f746 UI: Fix sort timing
- Now sorts instantly when an option is selected

Co-authored-by: _Neo_ <ursamajorjanus2819@gmail.com>
2026-08-10 00:00:49 -05:00
KeatonTheBot cc1861f9bb UI: Fix Amiibo tag URL 2026-08-09 23:25:42 -05:00
avan 733bd0951b Fix shadow state handling for blend enable updates
Incorrect rendering was observed during loading transitions in Trails in the Sky 1st Chapter. Testing showed that routing the first render target's RT0 BlendEnable transition from disabled to enabled through the normal register write path prevented the issue.

Further investigation found that the normal register write was restoring Shadow RAM behavior that was missing from UpdateBlendEnable.

UpdateBlendEnable uses a fast bulk update path instead of issuing a normal register write for each render target. As a result, it bypasses the Shadow RAM handling provided by DeviceStateWithShadow.WriteWithRedundancyCheck.

A normal register write updates both State and ShadowState in MethodTrack and MethodTrackWithFilter modes. In MethodReplay mode, it ignores the incoming value and restores the value previously stored in ShadowState to State.

UpdateBlendEnable must reproduce the same behavior while retaining its bulk comparison and copy path. In track modes, copy the incoming enable values to shadowState. In replay mode, copy shadowState to the incoming enable span, then let the existing comparison and copy logic update state and mark BlendState dirty when necessary.

The original implementation incorrectly used state for both track and replay handling. This prevented Shadow RAM from correctly recording or replaying BlendEnable values, which could cause rendering state synchronization errors.

Correct the bulk update path to use ShadowState for tracking and replay. This preserves the optimized bulk operation while addressing the underlying issue without requiring an RT0-specific compatibility workaround.
2026-08-09 15:17:12 -05:00
mtmasantana 087e711e44 macOS: Fix NaN texture coordinates resolving toward max on Apple GPUs
- Fixes Animal Crossing: New Horizons backdrops being white instead of black

Patched applied from: https://github.com/Ryubing/Issues/issues/476
2026-08-05 14:04:43 -05:00
avan 9c46452388 Add raw copy dependencies for incompatible textures
Trails in the Sky 1st uses texture descriptors with different formats and dimensions that map to the same region of guest GPU memory. For example, the game interprets the same underlying data as both an R32Uint 2x1 texture and an R32G32Float 1x1 texture. Both textures have an 8-byte logical payload, but their texel formats and dimensions are different.

Ryubing cannot represent these two descriptors as normally compatible texture views, so it creates separate host texture objects for them. Since these host textures represent the same guest memory, a modification made to one of them should become visible to the other before the other texture is read. However, the existing synchronization mechanism does not fully handle this situation.

The game uses this pattern for its exposure or brightness history. A compute shader first writes the updated exposure data to the R32G32Float 1x1 host texture. A later operation then reads the raw bits of the same data through the R32Uint 2x1 host texture. The original Ryubing implementation did not synchronize the contents of these two separate host textures. As a result, the reading texture received stale zero values, which caused the shader to calculate an incorrectly low exposure value and made the rendered image appear too dark.

TextureGroup already has a guest-memory synchronization mechanism for incompatible overlaps. When _flushIncompatibleOverlaps is enabled, the most recent texture contents are written back to guest memory, after which the other texture reloads the data. However, this mechanism was primarily enabled through IsFormatHostIncompatible, which checks whether an individual texture format can be correctly supported by the host GPU.

In this case, both R32Uint and R32G32Float are individually supported by the host GPU. Therefore, IsFormatHostIncompatible does not enable this synchronization path. The issue is not that either format is unsupported. The issue is that two individually supported aliases, represented by separate host textures, do not maintain coherent contents.

In theory, the latest contents could be flushed to guest memory immediately after every GPU write to a host texture, allowing other textures that map to the same guest memory to reload the updated data. However, doing so could frequently trigger expensive operations such as GPU waits, data readbacks, guest texture layout conversions, and memory-tracking updates. This would be particularly costly for textures that are updated every frame or during every compute dispatch.

For this reason, the fix does not require an immediate flush after every write. Instead, it extends Ryubing's existing TextureDependency and TextureGroupHandle mechanisms. When two fully incompatible textures map to exactly the same guest memory and satisfy a strict set of raw-copy requirements, the program creates a raw-copy dependency between them.

When the source texture is modified, the target texture is only marked as requiring a raw copy. The latest logical raw bytes are copied from the source only when the target texture is actually about to be used. This keeps the contents of the separate host texture aliases coherent while avoiding unnecessary round trips through guest memory.
2026-08-04 23:17:36 -05:00
KeatonTheBot 0657b00622 SDL: Update game controller database on launch
- Downloads updated gamecontrollerdb.txt file on launch, only updates when a new file is available. This keeps the database updated between SDL releases.
2026-07-30 15:51:32 -05:00
KeatonTheBot 87cf0b0cbb Update System.IO.Hashing to 10.0.10 2026-07-27 21:55:14 -05:00
Renovate Bot 954332aa2a Update dependency Microsoft.NET.Test.Sdk to 18.8.1 (#20)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) | `18.7.0` → `18.8.1` | ![age](https://developer.mend.io/api/mc/badges/age/nuget/Microsoft.NET.Test.Sdk/18.8.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Microsoft.NET.Test.Sdk/18.7.0/18.8.1?slim=true) |

---

### Release Notes

<details>
<summary>microsoft/vstest (Microsoft.NET.Test.Sdk)</summary>

### [`v18.8.1`](https://github.com/microsoft/vstest/releases/tag/v18.8.1)

#### What's Changed

- Fix protocol negotiation timeout when STJ reflection is disabled (18.8.1) by [@&#8203;nohwnd](https://github.com/nohwnd) in [#&#8203;16281](https://github.com/microsoft/vstest/pull/16281)

**Full Changelog**: <https://github.com/microsoft/vstest/compare/v18.8.0...v18.8.1>

### [`v18.8.0`](https://github.com/microsoft/vstest/releases/tag/v18.8.0)

#### What's Changed

- Migrate from Newtonsoft.Json to System.Text.Json / Jsonite (merge to main) by [@&#8203;nohwnd](https://github.com/nohwnd) in [#&#8203;15687](https://github.com/microsoft/vstest/pull/15687)
  - For more detail refer to <https://devblogs.microsoft.com/dotnet/vs-test-is-removing-its-newtonsoft-json-dependency/>
- Create source-only filter package by [@&#8203;Youssef1313](https://github.com/Youssef1313) in [#&#8203;15638](https://github.com/microsoft/vstest/pull/15638)
- Add ARM64 msdia140.dll support to test platform packages by [@&#8203;nohwnd](https://github.com/nohwnd) in [#&#8203;15692](https://github.com/microsoft/vstest/pull/15692)
- Fix mutex cleanup crash on macOS/Linux by [@&#8203;nohwnd](https://github.com/nohwnd) in [#&#8203;15684](https://github.com/microsoft/vstest/pull/15684)
- Restrict artifact temp directory permissions on Unix by [@&#8203;nohwnd](https://github.com/nohwnd) in [#&#8203;15729](https://github.com/microsoft/vstest/pull/15729)
- Add support for filtering uncategorized tests with TestCategory=None by [@&#8203;Evangelink](https://github.com/Evangelink) in [#&#8203;15727](https://github.com/microsoft/vstest/pull/15727)
- Fix SCI binding failure in DTA hosts (main) by [@&#8203;nohwnd](https://github.com/nohwnd) in [#&#8203;15724](https://github.com/microsoft/vstest/pull/15724)
- Fix HTML logger parallel file collision by [@&#8203;nohwnd](https://github.com/nohwnd) in [#&#8203;15435](https://github.com/microsoft/vstest/pull/15435)
- Improve error message when testhost cannot be found by [@&#8203;nohwnd](https://github.com/nohwnd) in [#&#8203;16053](https://github.com/microsoft/vstest/pull/16053)
- Fix HTML logger exception on invalid XML chars in test display names by [@&#8203;nohwnd](https://github.com/nohwnd) in [#&#8203;16051](https://github.com/microsoft/vstest/pull/16051)

**Full Changelog**: <https://github.com/microsoft/vstest/compare/v18.7.0...v18.8.0>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDkuNSIsInVwZGF0ZWRJblZlciI6IjQzLjI0OS41IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: https://git.ryujinx.app/projects/Kenji-NX/pulls/20
2026-07-28 02:43:28 +00:00
Renovate Bot e650d3fb04 Update dependency Ryujinx.Graphics.Vulkan.MoltenVK to 1.4.2-ryujinx.6 (#18)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [Ryujinx.Graphics.Vulkan.MoltenVK](https://github.com/Kenji-NX/MoltenVK) | `1.4.2-ryujinx.5` → `1.4.2-ryujinx.6` | ![age](https://developer.mend.io/api/mc/badges/age/nuget/Ryujinx.Graphics.Vulkan.MoltenVK/1.4.2-ryujinx.6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Ryujinx.Graphics.Vulkan.MoltenVK/1.4.2-ryujinx.5/1.4.2-ryujinx.6?slim=true) |

---

### Release Notes

<details>
<summary>Kenji-NX/MoltenVK (Ryujinx.Graphics.Vulkan.MoltenVK)</summary>

### [`v1.4.2-ryujinx.6`](https://github.com/Kenji-NX/MoltenVK/releases/tag/v1.4.2-ryujinx.6)

##### Fork changes

- N/A

##### Upstream changes ([Changelog](https://github.com/KhronosGroup/MoltenVK/compare/67a91f3...db66022))

- Fix invalidation of cached Metal textures
- Add native sampler min/max filtering
- Move sampler reduction capability with format caps
- Move sampler reduction conversion to datatypes
- Raise minimum target to macOS 12.0 / iOS 15.0 / tvOS 15.0
- Do not enable subgroup emulation for reduction
- Fix descriptor pool alignment

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDkuNSIsInVwZGF0ZWRJblZlciI6IjQzLjI0OS41IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: https://git.ryujinx.app/projects/Kenji-NX/pulls/18
2026-07-28 02:38:09 +00:00
Renovate Bot d578c5e2a9 Update dependency Microsoft.IdentityModel.JsonWebTokens to 8.21.0 (#19)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [Microsoft.IdentityModel.JsonWebTokens](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet) | `8.19.1` → `8.21.0` | ![age](https://developer.mend.io/api/mc/badges/age/nuget/Microsoft.IdentityModel.JsonWebTokens/8.21.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Microsoft.IdentityModel.JsonWebTokens/8.19.1/8.21.0?slim=true) |

---

### Release Notes

<details>
<summary>AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet (Microsoft.IdentityModel.JsonWebTokens)</summary>

### [`v8.21.0`](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/releases/tag/8.21.0)

[Compare Source](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/compare/8.20.0...8.21.0)

#### Performance Improvements

- Add JsonWebToken header-replacement path to avoid re-parsing payload. See [PR #&#8203;3553](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/pull/3553).
- Add claims dictionary preallocation. See [PR #&#8203;3550](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/pull/3550).

#### Bug Fixes

- Fix CI build failures: remove unused log message and add missing DPoP API entries. See [PR #&#8203;3551](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/pull/3551).

### [`v8.20.0`](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/compare/8.19.2...8.20.0)

[Compare Source](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/compare/8.19.2...8.20.0)

### [`v8.19.2`](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/releases/tag/8.19.2)

[Compare Source](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/compare/8.19.1...8.19.2)

#### What's Changed

- Improve serializer and JWE key unwrap handling by [@&#8203;iNinja](https://github.com/iNinja) in [#&#8203;3544](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/pull/3544)

**Full Changelog**: <https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/compare/8.19.1...8.19.2>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDkuNSIsInVwZGF0ZWRJblZlciI6IjQzLjI0OS41IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: https://git.ryujinx.app/projects/Kenji-NX/pulls/19
2026-07-28 02:37:01 +00:00
LotPandLotP1 521a18f5a7 mono-jit-v2
second attempt at single layer address tables (first attempt https://git.ryujinx.app/projects/Ryubing/pulls/167).
should work with all games now.

Co-authored-by: LotP1 <68976644+LotP1@users.noreply.github.com>
2026-07-17 16:47:59 -05:00
LotPandLotP1 4b255a98db Revert "mono-jit"
This reverts the mono jit PR.
It had several issues that I haven't had time to fix yet.
Expect mono jit v2 in the future with said fixes.

JitCache alignment fixes are still included/fixed.

Co-authored-by: LotP1 <68976644+LotP1@users.noreply.github.com>
2026-07-14 15:43:51 -05:00
Renovate Bot 8b34270a22 Update dependency Ryujinx.Graphics.Vulkan.MoltenVK to 1.4.2-ryujinx.5 (#17)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [Ryujinx.Graphics.Vulkan.MoltenVK](https://github.com/Kenji-NX/MoltenVK) | `1.4.2-ryujinx.4` → `1.4.2-ryujinx.5` | ![age](https://developer.mend.io/api/mc/badges/age/nuget/Ryujinx.Graphics.Vulkan.MoltenVK/1.4.2-ryujinx.5?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Ryujinx.Graphics.Vulkan.MoltenVK/1.4.2-ryujinx.4/1.4.2-ryujinx.5?slim=true) |

---

### Release Notes

<details>
<summary>Kenji-NX/MoltenVK (Ryujinx.Graphics.Vulkan.MoltenVK)</summary>

### [`v1.4.2-ryujinx.5`](https://github.com/Kenji-NX/MoltenVK/releases/tag/v1.4.2-ryujinx.5)

##### Fork changes

- CI changes
  - Build with macOS 26
  - Remove `all` build
  - Add iOS Private API build

##### Upstream changes ([Changelog](https://github.com/KhronosGroup/MoltenVK/compare/29a0606...4b715bd))

- Fix incorrect placement heap check in MVKImagePlane::getMTLTexture()
- Fix AMD subgroup size to 32 for correct Metal simdgroup operations
- Fix SPIRV-Cross: symlink instead of submodule
- Fix regressions and crashes on Mac 1 (NVIDIA/Intel) GPUs
  - Work around combined sampler arg buffers on NVIDIA Mac1
  - `nativeTextureSwizzle = false` for NVIDIA Mac1
  - Restore shader-side image view swizzle fallback.
  - Avoid input attachment argument buffers on NVIDIA Mac1
  - Disable discard store checks on NVIDIA Mac1
  - Disable image descriptor argument buffers for shader swizzle
  - Advertise native texture swizzle only on supported GPU families
  - Simplify NVIDIA workaround checks
  - Disable discarded-fragment store checks on Mac1 GPUs
  - Avoid fragile Mac1 argument-buffer descriptor cases
- Do not rely on extension enable for vkGetPhysicalDeviceToolPropertiesEXT proc addr
- Emulate reversed-depth viewports on affected AMD Mac GPUs
  - Refine legacy AMD Mac2 workaround handling
  - Scope discarded-fragment store checks to Apple GPUs
- Disable non-working quad control flow
- Disable 64-bit float control properties

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDkuNSIsInVwZGF0ZWRJblZlciI6IjQzLjI0OS41IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: https://git.ryujinx.app/projects/Kenji-NX/pulls/17
2026-07-13 23:33:38 +00:00
KeatonTheBot 9580f20caa Update System.IO.Hashing to 10.0.9 2026-07-12 00:26:41 -05:00
Renovate Bot 152460929d Update dependency Microsoft.NET.Test.Sdk to 18.7.0 (#15)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) | `18.6.0` → `18.7.0` | ![age](https://developer.mend.io/api/mc/badges/age/nuget/Microsoft.NET.Test.Sdk/18.7.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Microsoft.NET.Test.Sdk/18.6.0/18.7.0?slim=true) |

---

### Release Notes

<details>
<summary>microsoft/vstest (Microsoft.NET.Test.Sdk)</summary>

### [`v18.7.0`](https://github.com/microsoft/vstest/releases/tag/v18.7.0)

#### What's Changed

- Add ARM64 msdia140.dll support to test platform packages by [@&#8203;jamesmcroft](https://github.com/jamesmcroft) in [#&#8203;15689](https://github.com/microsoft/vstest/pull/15689)
- Update System.Memory from 4.5.5 to 4.6.3 by [@&#8203;nohwnd](https://github.com/nohwnd) in [#&#8203;15706](https://github.com/microsoft/vstest/pull/15706)

#### New Contributors

- [@&#8203;jamesmcroft](https://github.com/jamesmcroft) made their first contribution in [#&#8203;15689](https://github.com/microsoft/vstest/pull/15689)

**Full Changelog**: <https://github.com/microsoft/vstest/compare/v18.6.0...v18.7.0>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDkuNSIsInVwZGF0ZWRJblZlciI6IjQzLjI0OS41IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: https://git.ryujinx.app/projects/Kenji-NX/pulls/15
2026-07-10 22:20:04 +00:00
Renovate Bot 7a5554a17f Update dependency DynamicData to 9.4.33 (#14)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [DynamicData](https://github.com/reactiveui/DynamicData) | `9.4.31` → `9.4.33` | ![age](https://developer.mend.io/api/mc/badges/age/nuget/DynamicData/9.4.33?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/DynamicData/9.4.31/9.4.33?slim=true) |

---

### Release Notes

<details>
<summary>reactiveui/DynamicData (DynamicData)</summary>

### [`v9.4.33`](https://github.com/reactivemarbles/DynamicData/releases/tag/9.4.33)

#### Fixes:

- [`9bc6b44`](https://github.com/reactiveui/DynamicData/commit/9bc6b443f4864a23977ddce1310edafc3f5449c3) Fix race in ExpireAfter when item is removed or updated before expiration fires ([#&#8203;1076](https://github.com/reactiveui/DynamicData/issues/1076)) [@&#8203;dwcullop](https://github.com/dwcullop)
- [`7b861d0`](https://github.com/reactiveui/DynamicData/commit/7b861d0e12d8ad02d288157c5dd10b0be5f78d6b) Fixed that the cache-land dynamic `.Filter()` operator relied on limited mutation of an internal `Dictionary<,>` during enumeration, a behavior that is not supported on target frameworks older than .NET Core 3.0. Additional logic to copy the keys to iterate, before mutation, should now be injected for builds targeting such older frameworks. ([#&#8203;1084](https://github.com/reactiveui/DynamicData/issues/1084)) [@&#8203;JakenVeina](https://github.com/JakenVeina)
- [`b93a6b9`](https://github.com/reactiveui/DynamicData/commit/b93a6b99333db814b9759b475a95d8a7ecec1c24) Fix docs and exception messages for Change ([#&#8203;1085](https://github.com/reactiveui/DynamicData/issues/1085)) [@&#8203;xackus](https://github.com/xackus)
- [`cc8b91e`](https://github.com/reactiveui/DynamicData/commit/cc8b91ea362097cd26339c3727da77e533e7802c) Fixed that the Build and Release action defined in release.yml was attempting to publish a bogus "empty.nupkg" file that exists in the normal build output of the DynamicData.Tests project, as a part of the EmptyFiles package, since the job was written to search for "\*.nupkg". ([#&#8203;1124](https://github.com/reactiveui/DynamicData/issues/1124)) [@&#8203;JakenVeina](https://github.com/JakenVeina)

#### Other:

- [`bf45445`](https://github.com/reactiveui/DynamicData/commit/bf45445e5e3ad68c8d421fce192653189799740f) Add AI Instruction Files for GitHub Copilot ([#&#8203;1078](https://github.com/reactiveui/DynamicData/issues/1078)) [@&#8203;dwcullop](https://github.com/dwcullop)
- [`12c1947`](https://github.com/reactiveui/DynamicData/commit/12c1947cd19e0149318827a42b6615c2313b6227) Overhaul XML documentation for ObservableCacheEx extension methods ([#&#8203;1080](https://github.com/reactiveui/DynamicData/issues/1080)) [@&#8203;dwcullop](https://github.com/dwcullop)
- [`b0d4c70`](https://github.com/reactiveui/DynamicData/commit/b0d4c701919e8fb9dabd291096fea2ec5f372fde) Update SwappableLock to support NET9+ Lock type ([#&#8203;1077](https://github.com/reactiveui/DynamicData/issues/1077)) [@&#8203;dwcullop](https://github.com/dwcullop)
- [`b966943`](https://github.com/reactiveui/DynamicData/commit/b966943fe78e51b88f2b426546f82610395d4ad5) Add DynamicAccessedMembers attributes to BindingListEx methods ([#&#8203;1087](https://github.com/reactiveui/DynamicData/issues/1087)) [@&#8203;daniel-lerch](https://github.com/daniel-lerch)
- [`28adb4f`](https://github.com/reactiveui/DynamicData/commit/28adb4fe1aef34ffa7d53f888af7a8f5bdefa690) Overhaul XML documentation for ObservableListEx extension methods ([#&#8203;1081](https://github.com/reactiveui/DynamicData/issues/1081)) [@&#8203;dwcullop](https://github.com/dwcullop)
- [`335ecbc`](https://github.com/reactiveui/DynamicData/commit/335ecbca2d300fdbfb9b2f40a1ffb95f00f46923) Add Preview workflows and enforce versioning rules ([#&#8203;1088](https://github.com/reactiveui/DynamicData/issues/1088)) [@&#8203;dwcullop](https://github.com/dwcullop)
- [`d59ed5c`](https://github.com/reactiveui/DynamicData/commit/d59ed5cc768f5df2859687ce23920ce5fb343509) Replace softprops/action-gh-release with gh CLI ([#&#8203;1092](https://github.com/reactiveui/DynamicData/issues/1092)) [@&#8203;dwcullop](https://github.com/dwcullop)
- [`767f273`](https://github.com/reactiveui/DynamicData/commit/767f2737c47c67990ba1876539e984598dcb851d) Restore stable 9.4 versioning on release/9.x ([#&#8203;1123](https://github.com/reactiveui/DynamicData/issues/1123)) [@&#8203;dwcullop](https://github.com/dwcullop)

#### Test:

- [`c1c312b`](https://github.com/reactiveui/DynamicData/commit/c1c312b3c044a5718ff8923d5a233f9e32f96b70) test: fix AsyncDisposeMany thread safety test timeout on CI ([#&#8203;1082](https://github.com/reactiveui/DynamicData/issues/1082)) [@&#8203;dwcullop](https://github.com/dwcullop)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDkuNSIsInVwZGF0ZWRJblZlciI6IjQzLjI0OS41IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: https://git.ryujinx.app/projects/Kenji-NX/pulls/14
2026-07-10 22:19:31 +00:00
Renovate Bot d5e4dfae56 Update dependency Ryujinx.SDL3-CS to 2026.707.0 (#16)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [Ryujinx.SDL3-CS](https://github.com/Kenji-NX/SDL3-CS) | `2026.501.0` → `2026.707.0` | ![age](https://developer.mend.io/api/mc/badges/age/nuget/Ryujinx.SDL3-CS/2026.707.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Ryujinx.SDL3-CS/2026.501.0/2026.707.0?slim=true) |

---

### Release Notes

<details>
<summary>Kenji-NX/SDL3-CS (Ryujinx.SDL3-CS)</summary>

### [`v2026.707.0`](https://github.com/Kenji-NX/SDL3-CS/compare/2026.501.0...2026.707.0)

[Compare Source](https://github.com/Kenji-NX/SDL3-CS/compare/2026.501.0...2026.707.0)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDkuNSIsInVwZGF0ZWRJblZlciI6IjQzLjI0OS41IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: https://git.ryujinx.app/projects/Kenji-NX/pulls/16
2026-07-10 22:18:56 +00:00
Renovate Bot 28268ef7ef Update avalonia monorepo to 11.3.18 (#13)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [Avalonia](https://avaloniaui.net/?utm_source=nuget&utm_medium=referral&utm_content=project_homepage_link) ([source](https://github.com/AvaloniaUI/Avalonia)) | `11.3.17` → `11.3.18` | ![age](https://developer.mend.io/api/mc/badges/age/nuget/Avalonia/11.3.18?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Avalonia/11.3.17/11.3.18?slim=true) |
| [Avalonia.Desktop](https://avaloniaui.net/?utm_source=nuget&utm_medium=referral&utm_content=project_homepage_link) ([source](https://github.com/AvaloniaUI/Avalonia)) | `11.3.17` → `11.3.18` | ![age](https://developer.mend.io/api/mc/badges/age/nuget/Avalonia.Desktop/11.3.18?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Avalonia.Desktop/11.3.17/11.3.18?slim=true) |
| [Avalonia.Diagnostics](https://avaloniaui.net/?utm_source=nuget&utm_medium=referral&utm_content=project_homepage_link) ([source](https://github.com/AvaloniaUI/Avalonia)) | `11.3.17` → `11.3.18` | ![age](https://developer.mend.io/api/mc/badges/age/nuget/Avalonia.Diagnostics/11.3.18?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Avalonia.Diagnostics/11.3.17/11.3.18?slim=true) |
| [Avalonia.Markup.Xaml.Loader](https://avaloniaui.net/?utm_source=nuget&utm_medium=referral&utm_content=project_homepage_link) ([source](https://github.com/AvaloniaUI/Avalonia)) | `11.3.17` → `11.3.18` | ![age](https://developer.mend.io/api/mc/badges/age/nuget/Avalonia.Markup.Xaml.Loader/11.3.18?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Avalonia.Markup.Xaml.Loader/11.3.17/11.3.18?slim=true) |

---

### Release Notes

<details>
<summary>AvaloniaUI/Avalonia (Avalonia)</summary>

### [`v11.3.18`](https://github.com/AvaloniaUI/Avalonia/releases/tag/11.3.18)

[Compare Source](https://github.com/AvaloniaUI/Avalonia/compare/11.3.17...11.3.18)

##### What's Changed

##### Enhancements

- XAML – Enhance Roslyn-compiler visible metadata by [@&#8203;maxkatz6](https://github.com/maxkatz6) in [#&#8203;21546](https://github.com/AvaloniaUI/Avalonia/pull/21546)

##### Fixes

- Core – Fix StackOverflow when a `NaN` offset is set on `ScrollViewer` by [@&#8203;NicholasLachapelle](https://github.com/NicholasLachapelle) in [#&#8203;21558](https://github.com/AvaloniaUI/Avalonia/pull/21558)
- macOS – Handle `replacementRange` in `AvnView` by [@&#8203;MrJul](https://github.com/MrJul) in [#&#8203;21608](https://github.com/AvaloniaUI/Avalonia/pull/21608)

**Full Changelog**: <https://github.com/AvaloniaUI/Avalonia/compare/11.3.17...11.3.18>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDkuNSIsInVwZGF0ZWRJblZlciI6IjQzLjI0OS41IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: https://git.ryujinx.app/projects/Kenji-NX/pulls/13
2026-07-10 22:18:09 +00:00