aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-02-22Fix Title Update Manager not selecting right update (#4452)Isaac Marovitz
2023-02-22nuget: bump Microsoft.NET.Test.Sdk from 17.4.1 to 17.5.0 (#4458)dependabot[bot]
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.4.1 to 17.5.0. - [Release notes](https://github.com/microsoft/vstest/releases) - [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md) - [Commits](https://github.com/microsoft/vstest/compare/v17.4.1...v17.5.0) --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk 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-02-22nuget: bump UnicornEngine.Unicorn (#4459)dependabot[bot]
Bumps [UnicornEngine.Unicorn](https://github.com/unicorn-engine/unicorn) from 2.0.2-rc1-9c9356d to 2.0.2-rc1-a913199. - [Release notes](https://github.com/unicorn-engine/unicorn/releases) - [Changelog](https://github.com/unicorn-engine/unicorn/blob/master/ChangeLog) - [Commits](https://github.com/unicorn-engine/unicorn/commits) --- updated-dependencies: - dependency-name: UnicornEngine.Unicorn 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-02-22Ava: Fix Updater crashing on Linux (#4457)TSRBerry
2023-02-21Add copy dependency for some incompatible texture formats (#4380)gdkchan
* Add copy dependency for some incompatible texture formats * Simplify compatibility check
2023-02-21misc: changes base application directory behaviour (#4460)Mary
This allows changing base application directory behavior at build time via FORCE_EXTERNAL_BASE_DIR. This is intended to be used by nixpkgs and flathub builds. I also added the missing patch for macOS that we have on macos1 to avoid invalidating code signature.
2023-02-21Move Ryujinx Folder from ~/.config to ~/Library/Application Support on macOS ↵Andrew Glaze
(#4296) * Move Ryujinx folder to Application Support on macOS * Create a symlink to preserve back compat Co-authored-by: Ac_K <Acoustik666@gmail.com> * Remove extra whitespace * Don’t create a symlink * Update Ryujinx.Common/Configuration/AppDataManager.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Revert "Don’t create a symlink" This reverts commit 31752fe8aba1deb32e75f949001ffb74a1e0f674. --------- Co-authored-by: Ac_K <Acoustik666@gmail.com>
2023-02-21Use SIMD acceleration for audio upsampler (#4410)Logan Stromberg
* Use SIMD acceleration for audio upsampler filter kernel for a moderate speedup * Address formatting. Implement AVX2 fast path for high quality resampling in ResamplerHelper * now really, are we really getting the benefit of inlining 50+ line methods? * adding unit tests for resampler + upsampler. The upsampler ones fail for some reason * Fixing upsampler test. Apparently this algo only works at specific ratios --------- Co-authored-by: Logan Stromberg <lostromb@microsoft.com>
2023-02-21Memory: Faster Split for NonOverlappingRangeList (#4451)riperiperi
I noticed that in Xenoblade 2, the game can end up spending a lot of time adding and removing tracking handles. One of the main causes of this is actually splitting existing handles, which does the following: - Remove existing handle from list - Update existing handle to end at split address, create new handle starting at split address - Add updated handle (left) to list - Add new handle (right) to list This costs 1 deletion and 2 insertions. When there are more handles, this gets a lot more expensive, as insertions are done by copying all values to the right, and deletions by copying values to the left. This PR simply allows it to look up the handle being split, and replace its entry with the new end address without insertion or deletion. This makes a split only cost one insertion and a binary search lookup (very cheap). This isn't all of the cost on Xenoblade 2, but it does significantly reduce it. There might be something else to this - we could find a way to reduce the handle count for the game (merging on deletion? buffer deletion?), we could use a different structure for virtual regions, as the current one is optimal for buffer lookups which nearly always read, memory tracking has more of a balance between read/write. That's for a later date though, this was an easy improvment.
2023-02-21Mark texture as modified and sync on I2M fast path (#4449)gdkchan
2023-02-19Add support for advanced blend (part 1/2) (#2801)gdkchan
* Add blend microcode registers * Add advanced blend support using host extension * Remove debug message * Use pre-generated table for blend functions * XML docs * Rename AdvancedBlendMode to AdvancedBlendOp for consistency * Remove redundant code * Fix some advanced blend related issues on Vulkan * Formatting
2023-02-18nuget: bump System.IdentityModel.Tokens.Jwt from 6.26.1 to 6.27.0 (#4441)dependabot[bot]
Bumps [System.IdentityModel.Tokens.Jwt](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet) from 6.26.1 to 6.27.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> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-16Clear CPU side data on GPU buffer clears (#4125)gdkchan
* Clear CPU side data on GPU buffer clears * Implement tracked fill operation that can signal other resource types except buffer * Fix tests, add missing XML doc * PR feedback
2023-02-16Validate dimensions before creating texture (#4430)gdkchan
2023-02-15GUI: Small Updater refactor & Set correct permissions on Linux when ↵TSRBerry
extracting files (#4315) * ava: Refactor Updater.cs Fix typos Remove unused usings Rename variables to follow naming scheme * ava: Set file permissions when extracting update files * gtk: Apply the same refactor to Updater.cs * updater: Replace assert with if statement * updater: Remove await usings again
2023-02-15vulkan: Respect VK_KHR_portability_subset vertex stride alignment (#4419)Mary
* vulkan: Respect VK_KHR_portability_subset vertex stride alignment We were hardcoding alignment to 4, but by specs it can be any values that is a power of 2. This also enable VK_KHR_portability_subset if present as per specs requirements. * address gdkchan's comment * Make NeedsVertexBufferAlignment internal
2023-02-15vulkan: Clean up MemoryAllocator (#4418)Mary
This started as an attempt to remove vkGetPhysicalDeviceMemoryProperties in FindSuitableMemoryTypeIndex (As this could have some overhead and shouldn't change at runtime) and turned in a little bigger cleanup.
2023-02-14Infra: Issues template cleanup (#4421)Ac_K
* Infra: Issues template cleanup * applied
2023-02-13vulkan: Enforce Vulkan 1.2+ at instance API level and 1.1+ at device level ↵Mary
(#4408) * vulkan: Enforce Vulkan 1.2+ at instance API level and 1.1+ at device level This ensure we don't end up trying to initialize with anything currently incompatible. * Address riperiperi's comment
2023-02-13vulkan: Do not call vkCmdSetViewport when viewportCount is 0 (#4406)Mary
This fix validation error "VUID-vkCmdSetViewport-viewportCount-arraylength".
2023-02-12Fix partial updates for textures. (#4401)riperiperi
I was forcing some types of texture to partially update when investigating performance with games that stream in data, and noticed that partially loading texture data was really broken on both backends. Fixes Vulkan texture set by getting the correct expected size for the texture. Fixes partial upload on both backends for both Texture 2D Array and Cubemap using the wrong offset and uploading to the first layer/level for a handle. 3D might also be affected. This might fix textures randomly having incorrect data in games that render to it - jumbled in the case of OpenGL, and outdated/black in the case of Vulkan. This case typically happens in UE4 games.
2023-02-10Treat NpadIdType < 0 as invalid. Filter invalid SupportedPlayers inside ↵Logan Stromberg
IHidServer.SetSupportedNpadIdType(). (#4377) Co-authored-by: Logan Stromberg <lostromb@microsoft.com>
2023-02-10Allow partially mapped textures with unmapped start (#4394)gdkchan
2023-02-09Fix SPIR-V when all inputs/outputs are indexed (#4389)gdkchan
2023-02-09`ObjectiveC` Helper Class (#4286)Isaac Marovitz
* `NativeMacOS` Helper Class * Corrections * Make CFString IDisposable * Fix `openURL:` * `dealloc` metal layer * Remove releases * Use NSString * Update Ryujinx.Ui.Common/Helper/NativeMacOS.cs Co-authored-by: merry <git@mary.rs> * Programatically select updates in Finder * Address feedback * Feedback * Ptr * Fix whoopsie * Ack suggestions * Update Ryujinx.Ava/UI/Renderer/EmbeddedWindow.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> * GDK Suggestions --------- Co-authored-by: merry <git@mary.rs> Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2023-02-09Log shader compile errors with Warning level (#2617)riperiperi
* Log shader compile errors with Warning level These are infrequent enough that I think it's worth dumping any errors into the log. They also keep causing graphical glitches, and the only indication that anything went wrong is a debug log that is never enabled. * Add maximum length for shader log
2023-02-09Replace unicorn bindings with Nuget package (#4378)TSRBerry
* Replace unicorn bindings with Nuget package * Use nameof for ValueSource args * Remove redundant code from test projects * Fix wrong values for EmuStart() Add notes to address this later again * Improve formatting * Fix formatting/alignment issues
2023-02-09Vulkan: Flush command buffers for queries less aggressively (#4387)riperiperi
The AutoFlushCounter would flush command buffers on any attachment change (write mask or bindings change) if there was a pending query. This is to get query results as soon as possible for draw skips, but it's assuming that a full occlusion query _pass_ happened, that we want to flush it's data before getting onto draws, rather than the queries being randomly interspersed throughout a pass that also draws. Xenoblade 2 repeatedly switches between performing a samples passed query and outputting to a render target on each draw, and flips the write mask to do so. Flushing the command buffer every 2 draws isn't ideal, so it's best that we only do this if the pattern matches the large block style of occlusion query. This change makes this flush only happen after a few consecutive query reports. "Consecutive" is interrupted by attachment changes or command buffer flush. This doesn't really solve the issue where it resets more queries than it uses, it just stops the game doing it as often. I'm not sure of the best way to do that. The cost of resetting could probably be reduced by using query pools with more than one element and resetting in bulk.
2023-02-09bug_report.yml hotfixAc_K
2023-02-09Misc: Update issues form (#4383)Ac_K
2023-02-08nuget: bump System.IdentityModel.Tokens.Jwt from 6.26.0 to 6.26.1 (#4384)dependabot[bot]
Bumps [System.IdentityModel.Tokens.Jwt](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet) from 6.26.0 to 6.26.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.26.0...v6.26.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-02-08Replace BitConverter.ToString(bytes).Replace("-", "") with ↵Berkan Diler
Convert.ToHexString(bytes) (#4382)
2023-02-08Fix some Vulkan validation errors (#4357)gdkchan
2023-02-08Limit texture cache based on total texture size (#4350)gdkchan
* Limit texture cache based on total texture size * Formatting
2023-02-08Handle mismatching texture size with copy dependencies (#4364)gdkchan
* Handle mismatching texture size with copy dependencies * Create copy and render textures with the minimum possible size * Only align width for comparisons, assume that height is always exact * Fix IsExactMatch size check * Allow sampler and copy textures to match textures with larger width * Delete texture ChangeSize related code * Move AdjustSize to TextureInfo and give it a better name, adjust usages * Fix GetMinimumWidthInGob when minimumWidth > width * Only update render targets that are actually cleared for clear Avoids creating textures with incorrect sizes * Delete UpdateRenderTargetState method that is not needed anymore Clears now only ever sets the render targets that will be cleared rather than all of them
2023-02-08Add ChangeVSyncMode() call to Avalonia render loop (#4379)TSRBerry
2023-02-07Support safe blit on non-2D textures (#4374)gdkchan
* Support safe blit on non-2D textures (except multisample) * Change safe blit with different levels and layers to match CmdBlitImage path * Remove now unused variables * Multisample safe blit support
2023-02-07Accelerate NVDEC VIC surface read/write and colorspace conversion with Arm64 ↵gdkchan
HW intrinsics (#4351) * Accelerate NVDEC VIC surface read/write and colorspace conversion with Arm64 HW intrinsics * Improve ReadNv12 x86 SSE path
2023-02-06Implement safe depth-stencil blit using stencil export extension (#4356)gdkchan
* Implement safe depth-stencil blit using stencil export extension * Delete depth-stencil blit with buffer path
2023-02-05Insert bitcast for assignment of fragment integer outputs on GLSL (#4369)gdkchan
* Insert bitcast for assignment of fragment integer outputs on GLSL * Shader cache version bump
2023-02-01Implement Account LoadOpenContext (#4359)gdkchan
* Implement Account LoadOpenContext * Formatting
2023-01-31nuget: bump SharpZipLib from 1.4.1 to 1.4.2 (#4353)dependabot[bot]
Bumps [SharpZipLib](https://github.com/icsharpcode/SharpZipLib) from 1.4.1 to 1.4.2. - [Release notes](https://github.com/icsharpcode/SharpZipLib/releases) - [Changelog](https://github.com/icsharpcode/SharpZipLib/blob/master/docs/Changes.txt) - [Commits](https://github.com/icsharpcode/SharpZipLib/compare/v1.4.1...v1.4.2) --- updated-dependencies: - dependency-name: SharpZipLib 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-01-29Initial Apple Hypervisor based CPU emulation (#4332)gdkchan
* Initial Apple Hypervisor based CPU emulation implementation * Add UseHypervisor Setting * Add basic MacOS support to Avalonia * Fix initialization * Fix GTK build * Fix/silence warnings * Change exceptions to asserts on HvAddressSpaceRange * Replace DllImport with LibraryImport * Fix LibraryImport * Remove unneeded usings * Revert outdated change * Set DiskCacheLoadState when using hypervisor too * Fix HvExecutionContext PC value * Address PR feedback * Use existing entitlements.xml file on distribution folder --------- Co-authored-by: riperiperi <rhy3756547@hotmail.com>
2023-01-27converts the templates into forms (#4068)Piplup
* Create bug_report.yml * Update bug_report.yml * Update bug_report.yml * Create feature_request.yml * Update feature_request.yml * Update feature_request.yml * Update feature_request.yml * Update feature_request.yml * a * Update missing_cpu_instruction.yml * Update missing_cpu_instruction.yml * Update missing_cpu_instruction.yml * Update missing_cpu_instruction.yml * b * addressed some of the feedback * forget the label * added missing text inputs * formatting changes * dropdown menu added dropdown menu for os, idk if we will keep this * addressed feedback addressed the long overdue feedback, sorry about that * added markdowns everything should be addressed now i hope * game version optional made game version optional after further feedback * feature request checkbox
2023-01-26Relax Vulkan requirements (#4282)gdkchan
* Relax Vulkan requirements * Fix MaxColorAttachmentIndex * Fix ColorBlendAttachmentStateCount value mismatch for background pipelines * Change query capability check to check for pipeline statistics query rather than geometry shader support
2023-01-24Vulkan: Reset queries on same command buffer (#4329)riperiperi
* Reset queries on same command buffer Vulkan seems to complain when the queries are reset on another command buffer. No idea why, the spec really could be written better in this regard. This fixes complaints, and hopefully any implementations that care extensively about them. This change _guesses_ how many queries need to be reset and resets as many as possible at the same time to avoid splitting render passes. If it resets too many queries, we didn't waste too much time - if it runs out of resets it will batch reset 10 more. The number of queries reset is the maximum number of queries in the last 3 frames. This has been worked into the AutoFlushCounter so that it only resets up to 32 if it is yet to force a command buffer submission in this attachment. This is only done for samples passed queries right now, as they have by far the most resets. * Address Feedback
2023-01-23Remove use of GetFunctionPointerForDelegate to get JIT cache function ↵gdkchan
pointer (#4337) * Remove use of GetFunctionPointerForDelegate to get JIT cache function pointer * Rename FuncPtr to FuncPointer
2023-01-23SPIR-V: Change BitfieldExtract and BitfieldInsert for SPIRV-Cross (#4336)gdkchan
* SPIR-V: Change BitfieldExtract and BitfieldInsert types to make Metal MSL compiler happy * Shader cache version bump
2023-01-22GUI: Add option to register file types (#4250)TSRBerry
* Add FileAssociationHelper.cs * Add register file types option to gtk * Add register file types option to avalonia * Add Windows support to FileAssociationHelper.cs * linux: Add uninstall support for file types * Ignore .glade~ backup files * Rename Register/Unregister methods * gtk: Add manage file types submenu * ava: Add manage file types submenu * windows: Add uninstall support for file types * Don't invert uninstall condition (formatting change) Co-authored-by: gdkchan <gab.dark.100@gmail.com> * Add IsTypesRegisteredWindows & Fix Windows install function * Add AreMimeTypesRegisteredLinux() * Fix wrong indention Co-authored-by: AcK77 <acoustik666@gmail.com> Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2023-01-22Handle parsing of corrupt Config.json and prevent crash on launch (#4309)gnisman
* Handle parsing of corrupt Config.json and prevent crash on launch * Implement a cleaner solution to handle empty json object