aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-05-04bcat ipc (#4446)1.1.749Emmanuel Hansen
2023-05-03Fix some invalid blits involving depth textures (#4723)1.1.748gdkchan
2023-05-03Update SettingsWindow.cs (#4785)1.1.747Erdem Keskin
fix saving if directory path directly pasted in to the text field instead of using FileChooser.
2023-05-03Revert "ModLoader: Fix case sensitivy issues (#4720)" (#4781)1.1.746Mary
This reverts commit cc1a933a2f4adf05a45c7adcf02669c4f423bedb.
2023-05-03Vulkan: Record modifications after changing the framebuffer (#4775)1.1.745riperiperi
Our Vulkan backend inserts image barriers when a texture is sampled after it is rendered. This is done via a "modification flag" which is set when a render target is unbound (presuming that a texture has finished drawing to it). Imagine the following scenario: - Game sets render target to texture A - Game renders to texture A - (render pass ends) - Game binds texture A to a sampler - Game sets render target to texture B - Renders to texture B using texture A (barrier required) Because of the previous behaviour, the check to add a barrier for sampling a texture actually happens before it is registered as modified, meaning no barrier was added at all. This isn't always the case, but it was definitely causing issues in Xenoblade 2. This doesn't fix any more complicated issues where a texture is repeatedly sampled while it is currently being rendered. Fixes visual glitches at lower resolutions in Xenoblade 2. May fix other cases.
2023-05-03ModLoader: Fix case sensitivy issues (#4720)1.1.744TSRBerry
* Fix case sensitivity for mod subdirectories * Small refactoring of ModLoader
2023-05-02Add hide-cursor command line argument & always hide cursor option (#4613)1.1.743TSRBerry
* Add hide-cursor command line argument * gtk: Adjust SettingsWindow for hide cursor options * ava: Adjust SettingsWindow for hide cursor options * ava: Add override check for HideCursor arg * Remove copy&paste sins * ava: Leave a little more room between the options * gtk: Fix hide cursor issues * ava: Only hide cursor if it's within the embedded window
2023-05-01GPU: Keep rendered textures without any pool references alive (#4662)1.1.742riperiperi
* GPU: Keep sampled textures without any pool references alive Occasionally games are very wasteful and clear/write to a texture without ever sampling it. As rendered textures in NVN games seem to all have overlapping memory ranges, the texture will eventually get overwritten. Normally, this would trigger a removal from the auto delete cache, but a pool entry would keep the texture alive. However, with these textures that are never used, they will get deleted immediately and recreated on the next frame. This change makes it so the ShortTextureCache can keep textures that have naver had a pool reference alive for a few frames, so they're not constantly being created and deleted. This improves performance in Zelda BOTW a little. * Cleanup
2023-05-01GPU: Pre-emptively flush textures that are flushed often (to imported memory ↵1.1.741riperiperi
when available) (#4711) * WIP texture pre-flush Improve performance of TextureView GetData to buffer Fix copy/sync ordering Fix minor bug Make this actually work WIP host mapping stuff * Fix usage flags * message * Cleanup 1 * Fix rebase * Fix * Improve pre-flush rules * Fix pre-flush * A lot of cleanup * Use the host memory bits * Select the correct memory type * Cleanup TextureGroupHandle * Missing comment * Remove debugging logs * Revert BufferHandle _value access modifier * One interrupt action at a time. * Support D32S8 to D24S8 conversion, safeguards * Interrupt cannot happen in sync handle's lock Waitable needs to be checked twice now, but this should stop it from deadlocking. * Remove unused using * Address some feedback * Address feedback * Address more feedback * Address more feedback * Improve sync rules Should allow for faster sync in some cases.
2023-05-01GPU: Fix errors handling texture remapping (#4745)1.1.740riperiperi
* GPU: Fix errors handling texture remapping - Fixes an error where a pool entry and memory mapping changing at the same time could cause a texture to rebind its data from the wrong GPU VA (data swaps) - Fixes an error where the texture pool could act on a mapping change before the mapping has actually been changed ("Unmapped" event happens before change, we need to signal it changed _after_ it completes) TODO: remove textures from partially mapped list... if they aren't. * Add Remap actions for handling post-mapping behaviours * Remove unused code. * Address feedback * Nit
2023-04-29Uneven frame pacing with vsync (#4744)1.1.739al81-ru
fixes issue #3906
2023-04-28Allow window to remember its size, position and state (GTK + Avalonia) (#4657)1.1.738MutantAura
* Update ConfigurationState.cs * Update ConfigurationFileFormat.cs * Update MainWindow.cs * Update ConfigurationFileFormat.cs * Update ConfigurationState.cs * Update MainWindow.cs * Update MainWindow.cs * Update Ryujinx.Ui.Common/Configuration/ConfigurationState.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> * Update MainWindow.cs * Update Ryujinx/Ui/MainWindow.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> * Initial properties * Viewmodel adjustments and additions * abstract and monitor dimension changes * Remove position from ViewModel and simplify methods * Remove unused dep * Update configuration and fix typo from AA * review changes * Review changes * Screensize checks - Ava * Review changes 2 * basic review changes * Standardise GTK/Ava functions * Actually call function --------- Co-authored-by: HaizenTrist <123991082+HaizenTrist@users.noreply.github.com> Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2023-04-28nuget: bump System.IdentityModel.Tokens.Jwt from 6.29.0 to 6.30.0 (#4736)1.1.737dependabot[bot]
Bumps [System.IdentityModel.Tokens.Jwt](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet) from 6.29.0 to 6.30.0. - [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.29.0...6.30.0) --- updated-dependencies: - dependency-name: System.IdentityModel.Tokens.Jwt dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-28Fix paths and typos for macOS scripts (#4738)1.1.736TSRBerry
* Fix paths and typos for macOS scripts * Update outdated comments about rcodesign --------- Co-authored-by: Mary <thog@protonmail.com>
2023-04-27Adjust github workflows for new src directory1.1.735TSR Berry
2023-04-27Adjust Ryujinx.Tests.Memory namespaceTSR Berry
2023-04-27Rename Ryujinx.Memory.Tests to Ryujinx.Tests.MemoryTSR Berry
2023-04-27Move solution and projects to srcTSR Berry
2023-04-27Fix geometry shader layer passthrough regression (#4735)1.1.734gdkchan
* Fix geometry shader layer passthrough regression * Shader cache version bump
2023-04-25Refactor attribute handling on the shader generator (#4565)1.1.733gdkchan
* Refactor attribute handling on the shader generator * Implement gl_ViewportMask[] * Add back the Intel FrontFacing bug workaround * Fix GLSL transform feedback outputs mistmatch with fragment stage * Shader cache version bump * Fix geometry shader recognition * PR feedback * Delete GetOperandDef and GetOperandUse * Remove replacements that are no longer needed on GLSL compilation on Vulkan * Fix incorrect load for per-patch outputs * Fix build
2023-04-25Add missing check for thread termination on ArbitrateLock (#4722)1.1.732gdkchan
* Add missing check for thread termination on ArbitrateLock * Use TerminationRequested in all places where it can be used
2023-04-24Implement DMA texture copy component shuffle (#4717)1.1.731gdkchan
* Implement DMA texture copy component shuffle * Set UInt24 alignment to 1
2023-04-24Use vector transform feedback outputs with fragment shaders (#4708)1.1.730gdkchan
* Use vector transform feedback outputs with fragment shaders * Shader cache version bump * Fix missing outputs when vector transform feedback outputs are used
2023-04-24Set the console title for GTK again (#4706)1.1.729TSRBerry
Fixes a regression from #3707 where I accidentally removed that line.
2023-04-24Fix amiibo timeout issues & log errors/exceptions (#4712)1.1.728TSRBerry
2023-04-24Reducing Memory Allocations 202303 (#4624)1.1.727jhorv
* use ArrayPool, avoid 6000-7000 allocs/sec of runtime * use ArrayPool, avoid ~7k allocs/second during game execution * use ArrayPool, avoid ~3000 allocs/sec during game execution * use MemoryPool, reduce 0.5 MB/sec of new allocations during game execution * avoid over-allocation by setting List<> Capacity when known * remove LINQ in KTimeManager.UnscheduleFutureInvocation * KTimeManager - avoid spinning one more time when the time has arrived * KTimeManager - let SpinWait decide when to Thread.Yield(), and don't SpinOnce() immediately after Thread.Yield() * use MemoryPool, reduce ~175k bytes/sec allocation during game execution * IpcService - call commands via dynamic methods instead of reflection .Invoke(). Faster to call and with fewer allocations because parameters can be passed directly instead of as an array * Make ButtonMappingEntry a record struct to avoid allocations. Set the List<ButtonMappingEntry> capacity according to use. * add MemoryBuffer type for working with MemoryPool<byte> * update changes to use MemoryBuffer * make parameter ReadOnlySpan instead of Span * whitespace fix * Revert "IpcService - call commands via dynamic methods instead of reflection .Invoke(). Faster to call and with fewer allocations because parameters can be passed directly instead of as an array" This reverts commit f2c698bdf65f049e8481c9f2ec7138d9b9a8261d. * tweak KTimeManager spin behavior * replace MemoryBuffer with ByteMemoryPool modeled after System.Buffers.ArrayMemoryPool<T> * make ByteMemoryPoolBuffer responsible for renting memory
2023-04-22Shader: Bias textureGather instructions on AMD/Intel (#4703)1.1.726riperiperi
* Experimental (GLSL, forced) * SPIR-V attempt * Add capability * Fix pCount == 1 on glsl * Fix typo
2023-04-22Removed MotionInput Calibration (#4705)1.1.725SpicerXD
Don't know why this is here. It just seems to set the filter to an identity. Which then quickly returns to where its supposed to be anyways.
2023-04-20Avoid LM service crashes by not reading more than the buffer size (#4701)1.1.724gdkchan
2023-04-17nuget: bump System.IdentityModel.Tokens.Jwt from 6.28.1 to 6.29.0 (#4694)1.1.723dependabot[bot]
Bumps [System.IdentityModel.Tokens.Jwt](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet) from 6.28.1 to 6.29.0. - [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.28.1...6.29.0) --- updated-dependencies: - dependency-name: System.IdentityModel.Tokens.Jwt dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-17nuget: bump System.Management from 7.0.0 to 7.0.1 (#4695)1.1.722dependabot[bot]
Bumps [System.Management](https://github.com/dotnet/runtime) from 7.0.0 to 7.0.1. - [Release notes](https://github.com/dotnet/runtime/releases) - [Commits](https://github.com/dotnet/runtime/compare/v7.0.0...v7.0.1) --- updated-dependencies: - dependency-name: System.Management 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-04-17Support copy between multisample and non-multisample depth textures (#4676)1.1.721gdkchan
* Support copy between multisample and non-multisample depth textures * PR feedback
2023-04-16Revert "chore: Update Silk.NET to 2.17.1 (#4686)" (#4690)1.1.720gdkchan
This reverts commit 79d1c190dba48e405a833f654691e47509a29792.
2023-04-16Vulkan: HashTableSlim lookup optimization (#4688)1.1.719riperiperi
2023-04-16Change SMAA filter texture clear method (#4685)1.1.718gdkchan
* Change SMAA filter texture clear method * Alpha should be 1 * Delete more unnecessary code
2023-04-16[GUI] Add network interface dropdown (#4597)1.1.717TSRBerry
* Add network adapter dropdown from LDN build * Ava: Add NetworkInterfaces to SettingsNetworkTab * Add headless network interface option * Add network interface dropdown to Avalonia * Fix handling network interfaces without a gateway address * gtk: Actually save selected network interface to config * Increment config version
2023-04-16Fix a crash in Ryujinx.Headless.SDL2 when loading an app (#4687)1.1.716Mary
Caused by the recent application loader changes.
2023-04-16chore: Update Silk.NET to 2.17.1 (#4686)1.1.715Mary
2023-04-16Update README.mdAc_K
2023-04-16Ensure the updater doesn't delete hidden or system files (#4626)1.1.714Vincenzo Nizza
* Copy desktop.ini to update directory if it exists in HomeDir * EnumerateFilesToDelete() exclude files with "Hidden" and "System" attributes
2023-04-16nuget: bump DynamicData from 7.13.1 to 7.13.5 (#4654)1.1.713dependabot[bot]
Bumps [DynamicData](https://github.com/reactiveui/DynamicData) from 7.13.1 to 7.13.5. - [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.1...7.13.5) --- 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-04-16Ava: Fix nca extraction window never closing & minor cleanup (#4569)1.1.712TSRBerry
* ava: Remove unused doWhileDeferred parameters * ava: Minimally improve swkbd dialog It's currently impossible to get the dialog to redirect focus to the InputBox. * ava: Fix nca extraction dialog never closing Also contains some minor cleanup
2023-04-16Ability to hide file types in Game List (#4555)1.1.711NitroTears
* Added HiddenFileTypes to config state, and check to file enumeration * Added hiddenfiletypes checkboxes to the UI * Added Ava version of HiddenFileTypes * Inverted Hide to Show with file types, minor formatting * all variables with a reference to 'hidden' is now 'shown' * one more variable name changed * review feedback * added FileTypes extension methof to get the correlating config value * moved extension method to new folder and file in Ryujinx.Ui.Common * added default case for ToggleFileType * changed exception type to OutOfRangeException
2023-04-15Added check for eventual symlink when displaying game files. (#4526)1.1.710Daniel Shala
* Added check for eventual symlink when displaying game files. * Moved symlink check logic * Moved symlink check logic * Fixed prev commit --------- Co-authored-by: Daniel Shala <danielshala00@gmail.com>
2023-04-14Rename Hipc to Cmif where appropriate (#3880)1.1.709Alex Barney
2023-04-12Move swkbd message null check into constructor (#4671)1.1.708MutantAura
2023-04-12HLE: Deal with empty title names properly (#4643)1.1.707TSRBerry
* hle: Deal with empty titleNames in some languages * gui: Fix displaying the wrong title name * Remove unnecessary bounds check * Fix a NRE when getting the version string * Restore empty string logic
2023-04-11Vulkan: add situational "Fast Flush" mode (#4667)1.1.706riperiperi
* Flush in the middle of long command buffers. * Vulkan: add situational "Fast Flush" mode The AutoFlushCounter class was added to periodically flush Vulkan command buffers throughout a frame, which reduces latency to the GPU as commands are submitted and processed much sooner. This was done by allowing command buffers to flush when framebuffer attachments changed. However, some games have incredibly long render passes with a large number of draws, and really aggressive data access that forces GPU sync. The Vulkan backend could potentially end up building a single command buffer for 4-5ms if a pass has enough draws, such as in BOTW. In the scenario where sync is waited on immediately after submission, this would have to wait for the completion of a much longer command buffer than usual. The solution is to force command buffer submission periodically in a "fast flush" mode. This will end up splitting render passes, but it will only enable if sync is aggressive enough. This should improve performance in GPU limited scenarios, or in games that aggressively wait on synchronization. In some games, it may only kick in when res scaling. It won't trigger in games like SMO where sync is not an issue. Improves performance in Pokemon Scarlet/Violet (res scaled) and BOTW (in general). * Add conversions in milliseconds next to flush timers.
2023-04-11ARMeilleure: Move TPIDR_EL0 and TPIDRRO_EL0 to NativeContext (#4661)1.1.705riperiperi
* ARMeilleure: Move TPIDR_EL0 and TPIDRRO_EL0 to NativeContext Some games access these system registers several tens of thousands of times in a second from many different threads. While this isn't really crippling, it is a lot of wasted time spent in a reverse pinvoke transition. Example games are Pokemon Scarlet/Violet and BOTW. These games have a lot of different potential bottlenecks so it's unlikely you will see a consistent improvement, but it definitely disappears from the cpu profile. * Remove unreachable code. * Add ulong conversion for offsets * Nit
2023-04-11OpenGL: Fix OBS/Overlays again by binding FB before present (#4668)1.1.704riperiperi
This seems to have been removed by the Post-Processing PR, but it is required for the display in OBS to be the right way up and properly scaled. I've tested this with AA and FSR on MK8D and it seems to behave properly. Testing is welcome.