aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-05-25Truncate vertex attribute format if it exceeds stride on MoltenVK (#5094)1.1.821gdkchan
* Truncate vertex attribute format if it exceeds stride on MoltenVK * Fix BGR format * Move vertex attribute check to pipeline creation to avoid costs * No need for this to be public
2023-05-25Update release.yml (#5058)1.1.820Isaac Marovitz
2023-05-23Vulkan: Do not set storage flag for multisample textures if not supported ↵1.1.819gdkchan
(#5060)
2023-05-22Implement p2rc, p2ri, p2rr and r2p.cc shaders (#5031)1.1.818makigumo
* implement P2rC, P2rI, P2rR shaders * implement R2p.CC shader * bump CodeGenVersion * address feedback
2023-05-22Revert "Bump MVK Version (#5057)" (#5061)1.1.817gdkchan
This reverts commit c2e4c8f98e5d49749f8691fd0982a746339f8211.
2023-05-22Bump MVK Version (#5057)1.1.816Isaac Marovitz
2023-05-22Ava UI: Input Menu Redesign (#4990)1.1.815Isaac Marovitz
* Cleanup * Remove redundant locales * Start SVG Fixes… Better +/- buttons Fix the grips Bumpers Better directional pad More SVG stuff Grip adjustments Final stuff * Make image bigger * Border radius * More cleanup * Restructure * Restructure Rumble View * Use compiled bindings where possible * Round those pesky corners * Ack Suggestions * More suggestions * Update src/Ryujinx.Ava/UI/Views/Input/RumbleInputView.axaml.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> --------- Co-authored-by: Ac_K <Acoustik666@gmail.com>
2023-05-21Fix crash in SettingsViewModel when Vulkan isn't available (#4985)1.1.814jhorv
* fix crash when Vulkan isn't available * add VulkanRenderer.GetPhysicalDevices() overload that provides its own Vk API object and logs on failure * adjustments per AcK77
2023-05-21ServerBase thread safety (#4577)1.1.813jhorv
* Add guard against ServerBase.Dispose() being called multiple times. Add reset event to avoid Dispose() being called while the ServerLoop is still running. * remove unused usings * rework ServerBase to use one collection each for sessions and ports, and make all accesses thread-safe. * fix Logger call * use GetSessionObj(int) instead of using _sessions directly * move _threadStopped check inside "dispose once" test * - Replace _threadStopped event with attempt to Join() the ending thread (if that isn't the current thread) instead. - Use the instance-local _selfProcess and (new) _selfThread variables to avoid suggesting that the current KProcess and KThread could change. Per gdkchan, they can't currently, and this old IPC system will be removed before that changes. - Re-order Dispose() so that the Interlocked _isDisposed check is the last check before disposing, to increase the likelihood that multiple callers will result in one of them succeeding. * code style suggestions per AcK77 * add infinite wait for thread termination
2023-05-21Replace ShaderBindings with new ResourceLayout structure for Vulkan (#5025)1.1.812gdkchan
* Introduce ResourceLayout * Part 1: Use new ResourceSegments array on UpdateAndBind * Part 2: Use ResourceLayout to build PipelineLayout * Delete old code * XML docs * Fix shader cache load NRE * Fix typo
2023-05-20Replace constant buffer access on shader with new Load instruction (#4646)1.1.811gdkchan
2023-05-20Limit compute storage buffer size (#5028)1.1.810gdkchan
2023-05-20SPIR-V: Only allow implicit LOD sampling on fragment (#5026)1.1.809riperiperi
2023-05-19Fix macOS Update Script (#5014)1.1.808Isaac Marovitz
* Update updater.sh * Better script * Revert "Better script" This reverts commit 9bf6be863892e5e10c2f2dba45f1d0a60daca688.
2023-05-19Eliminate redundant multiplications by gl_FragCoord.w on the shader (#4578)1.1.807gdkchan
* Eliminate redundant multiplications by gl_FragCoord.w on the shader * Shader cache version bump
2023-05-19nuget: bump DynamicData from 7.13.5 to 7.13.8 (#5001)1.1.806dependabot[bot]
Bumps [DynamicData](https://github.com/reactiveui/DynamicData) from 7.13.5 to 7.13.8. - [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/7.13.5...7.13.8) --- 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>
2023-05-18Fix Vulkan blit-like operations swizzle (#5003)1.1.805gdkchan
2023-05-18GPU: Avoid using garbage size for non-cb0 storage buffers (#4999)1.1.804riperiperi
* GPU: Avoid using garbage size for non-cb0 storage buffers In the depths area, Tears of the Kingdom uses a global memory access with address on constant buffer slot 6. This isn't standard and thus doesn't actually have a size 8 bytes after it, so we were reading back a garbage size that ended up very large (at least in version 1.1.0), and would synchronize a lot of data per frame. This PR makes storage buffers created from addresses outside constant buffer slot 0 get their size as the number of bytes remaining in the GPU mapping starting at the given virtual address. This should bound the buffer to a reasonable size, and ideally stop it crossing into other memory. * Limit max size * Add TODO * Feedback
2023-05-17ava: Fix crash when extracting sections from NCA with no data section (#5002)1.1.803Mary
Tested against Omega Strickers.
2023-05-17Start GPU performance counter at 0 instead of host GPU value (#4992)1.1.802OpaqueReptile
* Start performance counter at 0 instead of host perf counter value * whitespace * init _firstTimestamp in constructer per feedback * change comment * punctuation * address feedback * revise comment
2023-05-17macos: Fix relaunch with updater when no arguments were provided to the ↵1.1.801Mary
emulator (#4987) The updater still seems to be erroring when replacing installed folder under normal operations.
2023-05-14[GUI] Fix always hide cursor mode not hiding the cursor until it was moved ↵1.1.800TSRBerry
(#4927) * gtk: Add missing isMouseInClient check for hide-cursor * ava: Add missing events and default isCursorInRenderer to true This is necessary because we don't receive a initial PointerEnter event for some reason.
2023-05-13Vulkan: Device map buffers written more than flushed (#4911)1.1.799riperiperi
2023-05-13Add timeout of 35 minutes to workflow jobs (#4928)1.1.798TSRBerry
2023-05-13audio: sdl2: Do not report 5.1 if the device doesn't support it (#4908)1.1.797Mary
* amadeus: adjust VirtualDevice channel configuration reporting with HardwareDevice * audio: sdl2: Do not report 5.1 if device doesn't support it SDL2 5.1 to Stereo conversion is terrible and make everything sound quiet. Let's not expose 5.1 if not truly supported by the device.
2023-05-13Set OpenGL PixelPackBuffer to 0 when done (#4921)1.1.796gdkchan
2023-05-13macOS CI Adjustments (#4910)1.1.795Isaac Marovitz
* Fix macOS build name in CI Fixes updater * Update build.yml Don't publish x86 Mac builds * Naming nitpick * Berry changes * Use the same prefix for PR and release build archives --------- Co-authored-by: TSR Berry <20988865+TSRBerry@users.noreply.github.com>
2023-05-12Ava: Fix wrong MouseButton (#4900)1.1.794Ac_K
2023-05-12Bump shader cache codegen version1.1.793Mary
That was missing from #4892
2023-05-11Vulkan: Partially workaround MoltenVK InvalidResource error (#4880)1.1.792riperiperi
* Add MVK stage flags workaround * Actually do the workaround * Remove GS on VS stuff * Address feedback
2023-05-11GPU: Remove swizzle undefined matching and rework depth aliasing (#4896)1.1.791riperiperi
* GPU: Remove swizzle undefined matching and rework depth aliasing @gdkchan pointed out that UI textures in TOTK seemed to be setting their texture swizzle incorrectly (texture was RGB but was sampling A, swizzle for A was wrong), so I determined that SwizzleComponentMatches was the problem and set on eliminating it. This PR combines existing work to select the most recently modified texture (now used when selecting which aliased texture to use) with some additional changes to remove the swizzle check and support aliased view creation. The original observation (#1538) was that we wanted to match depth textures for the purposes of aliasing with color textures, but they often had different swizzle from what was sampled (as it's generally the identity swizzle once rendered). At the time, I decided to allow swizzles to match if only the defined components matched, which fixed the issue in all known cases but could easily be broken by a game _expecting_ a given swizzle, such as a 1/0 value on a component. This error case could also occur in textures that don't even depth alias, such as R11G11B10, as the rule was created to generally apply to all cases. The solution is now to fail this exact match test, and allow the search for an R32 texture to create a swizzled view of a D32 texture (and other such cases). This allows the creation of a view that mismatches the requested format, which wasn't present before and was the reason for the swizzle matching approach. The exact match and view creation rules now follow the same rules over what textures to select when there are multiple options (such as a "perfect" match and an "aliased" match at the same time). It now selects the most recently modified texture, which is done with a new sequence number in the GpuContext (because we don't have enough of these). Reportedly fixes UI having weird coloured backgrounds in TOTK. This also fixes an issue in MK8D where returning from a race resulted in the character selection cubemaps being broken. May work around issues introduced by the "short texture cache" PR due to modification ordering, though they won't be truly fixed. Should allow (#4365) to avoid copies in more cases. Need to test that. I tested a bunch of games #1538 originally affected and they seem to be fine. This change affects all games so it would be good to get some wide testing on it. * Address feedback 1, fix an issue * Workaround: Do not allow copies for format alias. These should be removed when D32<->R32 copy dependencies become legal
2023-05-12Fix the restart after an update. (#4869)1.1.790John
* Fix the restart after an update. * Fix the updater for the Ava UI too. * Fixing up the code after some change requests. Removed a line of code that was accidentally left in. * Fix restarting on Linux Avalonia. * Fix issues with escaped arguments.
2023-05-12Changed LastPlayed field from string to nullable DateTime (#4861)1.1.789SamusAranX
* Changed LastPlayed field from string to nullable DateTime Added ApplicationData.LastPlayedString property Added NullableDateTimeConverter for the DateTime->string conversion in Avalonia * Added migration from string-based last_played to DateTime-based last_played_utc * Updated comment style * Added MarkupExtension to NullableDateTimeConverter and changed its usage Cleaned up leftover usings * Missed one comment
2023-05-12amadeus: Allow 5.1 sink output (#4894)1.1.788Mary
* amadeus: Allow 5.1 sink output Also add a simple Stereo to 5.1 change for device sink. Tested against NES - Nintendo Switch Online that output stereo on the audio renderer. * Remove outdated comment
2023-05-11UI: Adjust input mapping view (#4866)1.1.787Nico
* refactor: clean up controller settings ui - Remove inconsistencies between left and right side - Use style to set ToggleButton properties (since they are all the same) - Move topmost controller settings from one line to 2x2 grid for improved clarity - Properly adjust borders, text widths, etc. to neighboring elements to eliminate misaligned visual lines * fix: merge issues * fix: prevent sliders from jumping by giving text block fixed width * refactor: add more separators and increase margin * refactor: center deadzone and range descriptions * refactor: move rumble border top margin to -1 and prevent double border * refactor: remove margins & double borders + switch profile & input selection * style: apply suggestions from code review Co-authored-by: Ac_K <Acoustik666@gmail.com> --------- Co-authored-by: Ac_K <Acoustik666@gmail.com>
2023-05-11nuget: bump System.IdentityModel.Tokens.Jwt from 6.30.0 to 6.30.1 (#4886)1.1.786dependabot[bot]
Bumps [System.IdentityModel.Tokens.Jwt](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet) from 6.30.0 to 6.30.1. - [Release notes](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/releases) - [Changelog](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/dev/CHANGELOG.md) - [Commits](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/compare/6.30.0...6.30.1) --- updated-dependencies: - dependency-name: System.IdentityModel.Tokens.Jwt 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>
2023-05-11Enable explicit LOD for array textures with depth compare on SPIR-V (#4892)1.1.785gdkchan
2023-05-11Fix incorrect ASTC endpoint color when using LuminanceDelta mode (#4890)1.1.784gdkchan
2023-05-11amadeus: Fix wrong channel mapping check and an old typo (#4888)1.1.783Mary
* amadeus: Fix wrong channel mapping check This was always going to happens, as a result quadratic would break and move index after the channel count point, effectively breaking input/output indices. * amadeus: Fix reverb 3d early delay wrong output index
2023-05-11Stop SDL from inhibiting sleep. (#4842)1.1.782John
2023-05-11Fix the issue of unequal check for amiibo file date due to the lack o… (#4832)1.1.7812435043xia
* Fix the issue of unequal check for amiibo file date due to the lack of sub-second units in the header, causing slow opening of the amiibo interface. * Supplement the unrepaired.
2023-05-11GPU: Fix shader cache assuming past shader data was mapped (#4885)1.1.780riperiperi
This fixes a potential issue where a shader lookup could match the address of a previous _different_ shader, but that shader is now partially unmapped. This would just crash with an invalid region exception. To compare a shader in the address cache with one in memory, we get the memory at the location with the previous shader's size. However, it's possible it has been unmapped and then remapped with a smaller size. In this case, we should just get back the mapped portion of the shader, which will then fail the comparison immediately and get to compile/lookup for the new one. This might fix a random crash in TOTK that was reported by Piplup. I don't know if it does, because I don't have the game yet.
2023-05-11Attempt to fix release.yml after merge1.1.779Mary
2023-05-11Update release workflow & Add jobs for macOS (#4837)TSRBerry
* Add build config and extra args to create_macos_build.sh * Use matrix strategy for releases * Add macOS jobs Co-authored-by: Mary <thog@protonmail.com> * Fix wrong version argument * Fix check for the correct amount of args * Install latest rcodesign release Co-authored-by: Mary <thog@protonmail.com> * Set executable bits for PR builds on linux --------- Co-authored-by: Mary <thog@protonmail.com>
2023-05-10Ensure background translation threads exited before disposing JIT (#4874)1.1.777gdkchan
2023-05-11Fix missing domain service object dispose (#4879)1.1.776gdkchan
2023-05-10fix(mvk): resumeLostDevice (#4800)1.1.775Aaron O'Mullan
Command buffer errors currently trigger an exception "DeviceLost" crashing the process. Looking at [MKV's code](https://github.com/KhronosGroup/MoltenVK/blob/53a4eb26f2fbd7322eb087eb4af263fe466543b0/MoltenVK/MoltenVK/GPUObjects/MVKQueue.mm#L392-L408) we observe that: - It hard fails if error is: ``` MTLCommandBufferErrorBlacklisted || MTLCommandBufferErrorNotPermitted || MTLCommandBufferErrorDeviceRemoved ``` - Otherwise fails conditionally if `config.resumeLostDevice == false` (current default) For Ryujinx's use-case it's more graceful to resume on those errors rather than crashing the app, the error isn't totally silenced since `mvk` still logs it Fixes #4704, #4575
2023-05-09IPC - Refactor Bcat service to use new ipc - Revisit (#4803)1.1.774Emmanuel Hansen
* bcat ipc * fix hipc buffer flags * add buffer fixed size flag on generator
2023-05-09Replace DelegateHelper with pre-generated delegates (#4867)1.1.773gdkchan
2023-05-08vulkan: Pass Vk instance to VulkanRenderer (#4859)1.1.772Mary
This will allow possible multiple driver selection without any need of LD preload. (useful when testing custom version of mesa for example)