aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-11-16Use new LINQ Order() methods (#3851)Berkan Diler
2022-11-16Implement HLE macro for DrawElementsIndirect (#3748)gdkchan
* Implement HLE macro for DrawElementsIndirect * Shader cache version bump * Use GL_ARB_shader_draw_parameters extension on OpenGL * Fix DrawIndexedIndirectCount on Vulkan when extension is not supported * Implement DrawIndex * Alignment * Fix some validation errors * Rename BaseIds to DrawParameters * Fix incorrect index buffer and vertex buffer size in some cases * Add HLE macros for DrawArraysInstanced and DrawElementsInstanced * Perform a regular draw when indirect data is not modified * Use non-indirect draw methods if indirect buffer was not GPU modified * Only check if draw parameters match if the shader actually uses them * Expose Macro HLE setting on GUI * Reset FirstVertex and FirstInstance after draw * Update shader cache version again since some people already tested this * PR feedback Co-authored-by: riperiperi <rhy3756547@hotmail.com>
2022-11-15It's REE-YOU-JINX (#3839)EmulationFanatic
2022-11-12UI: Allow overriding graphics backend + Move command line parser into a new ↵TSRBerry
class (#3707) * Ava: Keep command line args when restarting * UI: Move common UI functions to ProgramHelper Add command line option to override the configured graphics backend * Ava: Add CleanupUpdate task back * Remove unused usings * Revert combining common UI functions Rename ProgramHelper to CommandLineState Move command line parsing to CommandLineState * Rename CommandLineProfile to Profile * Fix assigning the wrong array to Arguments
2022-11-12Use vector transform feedback outputs if possible (#3832)gdkchan
2022-11-11Fix VertexId and InstanceId on Vulkan (#3833)gdkchan
* Fix VertexId and InstanceId on Vulkan * Shader cache version bump
2022-11-10Minor improvement to Vulkan pipeline state and bindings management (#3829)gdkchan
* Minor improvement to Vulkan pipeline state and bindings management * Clean up buffer textures too * Use glBindTextureUnit
2022-11-09infra: Migrate to .NET 7 (#3795)Mary-nyan
* Update readme to mention .NET 7 * infra: Migrate to .NET 7 .NET 7 is still in preview but this prepare for the release coming up next month. * Use Random.Shared in CreateRandom * Move UInt128Utils.cs to Ryujinx.Common project * Fix inverted parameters in System.UInt128 constructor * Fix Visual Studio complains on Ryujinx.Graphics.Vic * time: Fix missing alignment enforcement in SystemClockContext Fixes at least Smash * time: Fix missing alignment enforcement in SteadyClockContext Fix games (like recent version of Smash) using time shared memory * Switch to .NET 7.0.100 release * Enable Tiered PGO * Ensure CreateId validity requirements are meet when doing random generation Also enforce correct packing layout for other Mii structures. This fix a Mario Kart 8 crashes related to the default Miis.
2022-11-03Ensure all pending draws are done before compute dispatch (#3822)gdkchan
2022-11-02Vulkan: Implement multisample <-> non-multisample copies and depth-stencil ↵gdkchan
resolve (#3723) * Vulkan: Implement multisample <-> non-multisample copies and depth-stencil resolve * FramebufferParams is no longer required there * Implement Specialization Constants and merge CopyMS Shaders (#15) * Vulkan: Initial Specialization Constants * Replace with specialized helper shader * Reimplement everything Fix nonexistant interaction with Ryu pipeline caching Decouple specialization info from data and relocate them Generalize mapping and add type enum to better match spv types Use local fixed scopes instead of global unmanaged allocs * Fix misses in initial implementation Use correct info variable in Create2DLayerView Add ShaderStorageImageMultisample to required feature set * Use texture for source image * No point in using ReadOnlyMemory * Apply formatting feedback Co-authored-by: gdkchan <gab.dark.100@gmail.com> * Apply formatting suggestions on shader source Co-authored-by: gdkchan <gab.dark.100@gmail.com> Co-authored-by: gdkchan <gab.dark.100@gmail.com> * Support conversion with samples count that does not match the requested count, other minor changes Co-authored-by: mageven <62494521+mageven@users.noreply.github.com>
2022-11-02fix: Support FFmpeg 5.1.x for decoding (#3816)Mary-nyan
For some reason FFmpeg 5.1.x reverted part of the changes made in 5.0.x on AVCodec. This fix decoding issues with it.
2022-10-29GPU: Use a bitmap to track buffer modified flags. (#3775)riperiperi
* Initial implementation * Some improvements. * Fix incorrect cast * Performance improvement and improved correctness * Add very fast path when all handles are checked. * Slightly faster * Add comment * De-virtualize region handle All region handles are now bitmap backed. * Remove non-bitmap tracking * Remove unused methods * Add docs, remove unused methods * Address Feedback * Rename file
2022-10-29CI: Run git_short_hash inside of bash (#3808)TSRBerry
2022-10-29Vulkan: Replace `VK_EXT_debug_report` usage with `VK_EXT_debug_utils` (#3802)Wunk
* Vulkan: Replace `VK_EXT_debug_report` usage with `VK_EXT_debug_utils` [VK_EXT_debug_report](https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_debug_report.html) has been depreciated for quite some time now in favor of the much more featureful [VK_EXT_debug_utils](https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_debug_utils.html) extension. This PR converts our debug-report-callback into the newer debug-messenger pattern. `VK_EXT_debug_utils` adds some additional diagnostic tooling for marking debug-label scopes for queue-operations, command-buffers, and assigning name-labels to vulkan objects to aid in debugging(for a later PR). * Vulkan: Fix `DebugMessenger` severity-flag classification Extension bits between the two flags, for reference: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDebugUtilsMessageSeverityFlagBitsEXT.html https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDebugReportFlagBitsEXT.html
2022-10-29SPIR-V: Fix tessellation control shader output types (#3807)gdkchan
* SPIR-V: Fix tessellation control shader output types * Shader cache version bump
2022-10-29nuget: bump System.IdentityModel.Tokens.Jwt from 6.15.0 to 6.25.0 (#3806)dependabot[bot]
Bumps [System.IdentityModel.Tokens.Jwt](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet) from 6.15.0 to 6.25.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/commits) --- 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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-27AppletAE: stub SetRecordVolumeMuted (#3804)Luke Warner
* Update IIrSensorServer.cs * Update IIrSensorServer.cs * Apply suggestions from code review Addressed formatting feedback Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update IIrSensorServer.cs * Update ISelfController.cs * Update ISelfController.cs Co-authored-by: Ac_K <Acoustik666@gmail.com>
2022-10-27hid/irs: Stub StopImageProcessorAsync (#3799)Luke Warner
* Update IIrSensorServer.cs * Update IIrSensorServer.cs * Apply suggestions from code review Addressed formatting feedback Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update IIrSensorServer.cs Co-authored-by: Ac_K <Acoustik666@gmail.com>
2022-10-26Vulkan: Fix indirect buffer barrier (#3798)gdkchan
2022-10-25Vulkan: Use dynamic state for blend constants (#3793)riperiperi
2022-10-24Updated Compatibility info and GPU info (Vulkan, SPIRV, and Texture ↵VocalFan
Recompression) (#3568) * Updated Compatibility info and GPU info (Vulkan, SPIRV, and Texture Recompression) * Added Mutant's changes. Co-authored-by: MutantAura <44103205+MutantAura@users.noreply.github.com> * Five to four. * Fixed github's terrible conflict diffs Co-authored-by: MutantAura <44103205+MutantAura@users.noreply.github.com>
2022-10-23Ryujinx.Tests.Unicorn: Implement IDisposable (#3794)merry
Dispose unicorn when done
2022-10-23Attempt to fix issues since github-script v6 upgradeMary-nyan
2022-10-23Avalonia: Use overlay dialog for controller applet (#3777)Emmanuel Hansen
* use overlay dialog for controller applet * Update Ryujinx.Ava/Ui/Controls/ContentDialogHelper.cs Co-authored-by: riperiperi <rhy3756547@hotmail.com> Co-authored-by: riperiperi <rhy3756547@hotmail.com>
2022-10-22nuget: bump SPB from 0.0.4-build24 to 0.0.4-build27 (#3791)dependabot[bot]
Bumps [SPB](https://github.com/Thog/SPB) from 0.0.4-build24 to 0.0.4-build27. - [Release notes](https://github.com/Thog/SPB/releases) - [Commits](https://github.com/Thog/SPB/commits) --- updated-dependencies: - dependency-name: SPB dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-21ci: Add updates for nuget packages to dependabot (#3786)TSRBerry
2022-10-21CI: Update workflows (#3774)TSRBerry
* ci: Update workflows * gha: Add no-build switch to test action
2022-10-21gha: Add dependabot.yml (#3778)TSRBerry
2022-10-21Vulkan: Fix vertex position Z conversion with geometry shader passthrough ↵gdkchan
(#3781) * Vulkan: Fix vertex position Z conversion with geometry shader passthrough * Shader cache version bump
2022-10-19Avalonia: update it_IT.json (#3742)Mortus06
* Avalonia: update it_IT.json * Fixed ; instead of : * Update it_IT.json port di #3766 * Update Ryujinx.Ava/Assets/Locales/it_IT.json Co-authored-by: Antonio Brugnolo <36473846+AntoSkate@users.noreply.github.com> * Grammar fix Co-authored-by: Lorenzo Giannini <55211569+Lorenzo0310200@users.noreply.github.com> Co-authored-by: Antonio Brugnolo <36473846+AntoSkate@users.noreply.github.com>
2022-10-19Do not clear the rejit queue when overlaps count is equal to 0. (#3721)LDj3SNuD
* Do not clear the rejit queue when overlaps count is equal to 0. * Ptc and PtcProfiler must be invalidated. * Revert "Ptc and PtcProfiler must be invalidated." This reverts commit f5b0ad9d7dc3c0b3a0da184de4d04d7234939c81. * Fix #3710 slow path due to #3701.
2022-10-19Implement the GetSessionCacheMode in SSL servuce (#3735)WilliamWsyHK
2022-10-19Manage state of NfcManager (#3678)Carl Ouellette
* Manage state of NfcManager Very basic state management but works with Hyrule Warriors Definitive Edition. Partially fixes #2122 * Fixes changes from review
2022-10-19Fix mapping leaks caused by UnmapView not working on Linux (#3650)gdkchan
* Add test for UnmapView mapping leaks * Throw when UnmapView fails on Linux * Fix UnmapView * Remove throw
2022-10-19A32: Implement VCVTT, VCVTB (#3710)merry
* A32: Implement VCVTT, VCVTB * A32: F16C implementation of VCVTT/VCVTB
2022-10-19A64: Add fast path for Fcvtas_Gp/S/V, Fcvtau_Gp/S/V and Frinta_S/V in… (#3712)LDj3SNuD
* A64: Add fast path for Fcvtas_Gp/S/V, Fcvtau_Gp/S/V and Frinta_S/V instructions; they use "Round to Nearest with Ties to Away" rounding mode not supported in x86. All instructions involved have been tested locally in both release and debug modes, in both lowcq and highcq. The titles Mario Strikers and Super Smash Bros. U. use these instructions intensively. * Update Ptc.cs * A32: Add fast path for Vcvta_RM, Vrinta_RM and Vrinta_V instructions aswell.
2022-10-19 Avalonia: Update Polish Translation (#3722)Luna
* Add new string You need the period there otherwise it could be read as "Głoś" -> "Preach" * Update MainWindow.axaml Updating to bring it in line with the other languages naming themselves in their respective languages * Update pl_PL.json realizing that period isn't necessary considering the string's usage (which to be fair, I should have checked when I added it) * Update pl_PL.json * Add Updater Message
2022-10-18Dispose Vulkan TextureStorage when views hit 0 instead of immediately (#3738)riperiperi
Due to the `using` statement being scoped to the `CreateTextureView` method, `TextureStorage` would be disposed as soon as the view was returned. This was largely fine as the TextureStorage resources were being kept alive by the views holding their own references to them, but it also meant that dispose is only called as soon as the texture is created. Aliased Storages are TextureStorages created with the same allocation as another TextureStorage, if they have to be aliased as another format. We keep track of a TextureStorage's `_aliasedStorages` as they are created, and dispose them when the TextureStorage is disposed... ...except it is disposed immediately, before any aliased storages are even created. The aliased storages added after this will never be disposed. This PR attempts to fix this by disposing TextureStorage when its view count reaches 0. The other use of texture storage - the D32S8 blit - still manually disposes the storage, but regular uses created via the GAL are now disposed by the view count. I think this makes the most sense, as otherwise in the future this behaviour might be forgotton and more things could be added to the Dispose() method that don't work due to it not actually calling at the right time. This should improve memory leaks in Super Mario Odyssey, most noticeable when resolution scaling. The memory usage of the game is still wildly unpredictable due to how it interacts with the texture cache, but now it shouldn't get considerably longer as you play... I hope. I've seen it typically recover back to the same level occasionally, though it can spike significantly. Please test a bunch of games on multiple GPUs to make sure this doesn't break anything.
2022-10-18Fix: Arguments Break when Updating (#3744)Yohoki
* Wrap Args in quotes -Wrap args in quotes to allow for spaces in dir paths when restarting Ryujinxs from Update. * Wrap second instance of GetCommandLineArgs() * Changed ryuArgs from string to string[] * Update Ryujinx.Ava/Modules/Updater/Updater.cs Co-authored-by: mageven <62494521+mageven@users.noreply.github.com> * Update UpdateDialog.cs Co-authored-by: mageven <62494521+mageven@users.noreply.github.com>
2022-10-18Avoid allocations in .Parse methods (#3760)Berkan Diler
* Avoid allocations in .Parse methods Use the Span overloads of the Parse methods when possible to avoid string allocations and remove one unnecessarry array allocation * Avoid another string allocation
2022-10-18Vulkan: Fix blit levels/layers parameters being inverted (#3768)gdkchan
2022-10-17Fix kernel VA allocation when random allocation fails (#3755)gdkchan
* Fix kernel VA allocation when random allocation fails * This was off by one
2022-10-17Update README.md (#3767)MetrosexualGarbodor
Update compatibility numbers
2022-10-17remove property changed call in time zone validation (#3752)Emmanuel Hansen
2022-10-17Implement OpenDataStorageWithProgramIndex partially (#3765)gdkchan
* Implement OpenDataStorageWithProgramIndex partially * Was not supposed to change this
2022-10-16TamperMachine: Fix input mask check (#3764)mageven
2022-10-16Fix various issues caused by Vertex/Index buffer conversions (#3762)riperiperi
* Fix various issues caused by #3679 - The arguments for the 0th dummy vertex buffer were incorrect - it was given an offset of 16 rather than a size of 16. - The wrong size was used when doing `autoBuffer.Get` on a converted vertex buffer. - The possibility of a vertex buffer being disposed and then rebound can rebindings to find a different buffer where the current range is out of bounds. Avoid binding when out of range to prevent validation errors. - The above also affects generation of converted buffers, which was a bit more fatal. Conversion functions now attempt to bound input offset/size. * Fix offset for converted buffer
2022-10-16Fix primitive count calculation for topology conversion (#3763)riperiperi
Luigi's Mansion 3 performs a non-index quads draw with 6 vertices. It's meant to ignore the last two, but the index pattern's primitive count calculation was rounding up. No idea why the game does this but this should fix random triangles in the map.
2022-10-16Fix phantom configured Controllers (#3720)mageven
Enable guest controller only when a valid host controller is mapped.
2022-10-15Improve shader BRX instruction code generation (#3759)gdkchan
* Improve shader BRX instruction code generation * Shader cache version bump, add some comments and asserts