aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2023-06-15Inheritance list should not be redundant (#5230)1.1.895Marco Carvalho
2023-06-15Blocks should be synchronized on read-only fields (#5212)1.1.894Marco Carvalho
* Blocks should be synchronized on read-only fields * more readonlys * fix alignment * more * Update ISelfController.cs * simplify new * simplify new
2023-06-14test: Make tests runnable on system without 4KiB page size (#5184)1.1.892Mary
* ARMeilleure: Do not hardcode 4KiB page size in JitCache * test: Do not hardcode page size to 4KiB for Ryujinx.Tests.Memory.Tests Fix running tests on Asahi Linux with 16KiB pages. * test: Do not hardcode page size to 4KiB for Ryujinx.Tests.Cpu Fix running tests on Asahi Linux. Test runner still crash when trying to run all test suite. * test: Do not hardcode page size to 4KiB for Ryujinx.Tests.Cpu Fix somecrashes on Asahi Linux. * test: Ignore Vshl test on ARM64 due to unicorn crashes * test: Workaround hardcoded size on some tests Change mapping of code and data in case of non 4KiB configuration. * test: Make CpuTestT32Flow depends on code address Fix failure with different page size. * test: Disable CpuTestThumb.TestRandomTestCases when page size isn't 4KiB The test data needs to be reevaluated to take different page size into account. * Address gdkchan's comments
2023-06-14Fix Arm32 double to int/uint conversion on Arm64 (#5292)1.1.891gdkchan
* Fix Arm32 double to int/uint conversion on Arm64 * PPTC version bump
2023-06-13Mod Loader: Stop loading mods from folders that don't exactly match titleId ↵1.1.890Kurochi51
(#5298) * Stop loading mods from folders that don't exactly match titleId * What the worst that can happen?
2023-06-13UI: Correctly set 'shell/open/command; registry key for file associations ↵1.1.889mmdurrant
(#5244) * Correctly set 'shell/open/command; registry key for file associations * File association fixes * 'using' statements instead of blocks * Idempotent unregistration * Single "hey shell, we changed file associations" notification at the end instead of 1 for every operation, speeds things up greatly. * Adapt and fix Linux specific function as well --------- Co-authored-by: TSR Berry <20988865+TSRBerry@users.noreply.github.com>
2023-06-13Make LM skip instead of crashing for invalid messages (#5290)1.1.888gdkchan
2023-06-12hle: Stub IHidbusServer.GetBusHandle (#5284)1.1.887Steveice10
2023-06-11Ava: Fix OpenGL on Linux again (#5216)1.1.885TSRBerry
* ava: Fix OpenGL on Linux again This shouldn't be working like that, but for some reason it does. * Apply the correct fix * gtk: Add warning messages for caught exceptions * ava: Handle disposing the same way as GTK does * Address review feedback
2023-06-11Show/Hide UI Hotkey fix on Avalonia (#5133)1.1.884Patrick Hovsepian
* fix show/hide ui for ava * revert style * unbound by default * revert
2023-06-11Implement fast path for AES crypto instructions on Arm64 (#5281)1.1.883gdkchan
* Implement fast path for AES crypto instructions on Arm64 * PPTC version bump * Use AES HW feature check
2023-06-10Implement transform feedback emulation for hardware without native support ↵1.1.882gdkchan
(#5080) * Implement transform feedback emulation for hardware without native support * Stop doing some useless buffer updates and account for non-zero base instance * Reduce redundant updates even more * Update descriptor init logic to account for ResourceLayout * Fix transform feedback and storage buffers not being updated in some cases * Shader cache version bump * PR feedback * SetInstancedDrawVertexCount must be always called after UpdateState * Minor typo
2023-06-09Non-flags enums should not be used in bitwise operations (#5214)1.1.881Marco Carvalho
2023-06-09Update ShaderConfig.cs (#5226)1.1.880Marco Carvalho
2023-06-09Exclude macOS from checking for changed files (#5270)1.1.879siegmund-heiss-ich
2023-06-09Check if existing oldConfigPath is a Symlink (#5271)1.1.878siegmund-heiss-ich
2023-06-09Prefer a 'TryGetValue' call over a Dictionary indexer access guarded by a ↵1.1.877Marco Carvalho
'ContainsKey' (#5231) * Prefer a 'TryGetValue' call over a Dictionary indexer access guarded by a 'ContainsKey' check to avoid double lookup * fix
2023-06-09Swkbd Applet Fixes (#5236)1.1.876Isaac Marovitz
* Swkbd Applet Fixes * Forgot a full stop * Update src/Ryujinx.Ava/UI/Applet/SwkbdAppletDialog.axaml.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update src/Ryujinx/Ui/Applet/SwkbdAppletDialog.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> --------- Co-authored-by: Ac_K <Acoustik666@gmail.com>
2023-06-09Removing shift by 0 (#5249)1.1.875Marco Carvalho
* Integral numbers should not be shifted by zero or more than their number of bits-1 * more
2023-06-08Vulkan: Use aspect flags for identity views for bindings (#5267)1.1.872riperiperi
2023-06-08Remove barrier on Intel if control flow is potentially divergent (#5044)1.1.871gdkchan
* Remove barrier on Intel if control flow is potentially divergent * Shader cache version bump
2023-06-08Implement soft float64 conversion on shaders when host has no support (#5159)1.1.870gdkchan
* Implement soft float64 conversion on shaders when host has no support * Shader cache version bump * Fix rebase error
2023-06-05Updater: Ignore files introduced by the user in base directory (#5092)1.1.869Kurochi51
* Updater: Ignore files introduced by the user in base directory * Replicate logic in Avalonia version. * Address requested changes * Updater: Ignore files introduced by the user in base directory * Replicate logic in Avalonia version. * Address requested changes * Address requested changes * Address requested changes * Comment cleanup * Address feedback * Forgot comment, tehe
2023-06-05Fix wrong unaligned SB state when fetching compute shaders (#5223)1.1.868gdkchan
2023-06-05Texture: Fix 3D texture size when totalBlocksOfGobsInZ > 1 (#5228)1.1.867riperiperi
* Texture: Fix 3D texture size when totalBlocksOfGobsInZ > 0 When there is a remainder when dividing depth by gobs in z, it is used to remove the unused part of the 3D texture's size. This was done to calculate correct sizes for single slice views of 3D textures. However, this case can also apply to 3D textures with many slices, and more than one total block of gobs in z. In this case it's meant to trim off the end of the level size. Most textures won't encounter this as their size will be aligned, but UE4 games tend to use 3D textures with funny unaligned sizes. The size offset should have been applied to the level size instead of the slice size, and it should only affect the slice size if it ends up larger. Hopefully should fix issues with UE4 games without breaking other stuff, I don't have much time to test. * Whoops
2023-06-05Better application grid flex (#5218)1.1.866Théo Arrouye
2023-06-05Dont Error on Invalid Enum Values (#5169)1.1.865Isaac Marovitz
* Dont Error on Invalid Enum * Use TryParse * Log warning
2023-06-04Replacing ZbcColorArray with Array4<uint> (#5210)1.1.864Marco Carvalho
* Related "if/else if" statements should not have the same condition * replacing ZbcColorArray with Array4<uint> * fix alignment
2023-06-04Texture: Fix layout conversion when gobs in z is used with depth = 1 (#5220)1.1.863riperiperi
* Texture: Fix layout conversion when gobs in z is used with depth = 1 The size calculator methods deliberately reduce the gob size of textures if they are deemed too small for it. This is required to get correct sizes when iterating mip levels of a texture. Rendering to a slice of a 3D texture can produce a 3D texture with depth 1, but a gob size matching a much larger texture. We _can't_ "correct" this gob size, as it is intended as a slice of a larger 3D texture. Ignoring it causes layout conversion to break on read and flush. This caused an issue in Tears of the Kingdom where the compressed 3D texture used for the gloom would always break on OpenGL, and seemingly randomly break on Vulkan. In the first case, the data is forcibly flushed to decompress the BC4 texture on the CPU to upload it as 3D, which was broken due to the incorrect layout. In the second, the data may be randomly flushed if it falls out of the cache, but it will appear correct if it's able to form copy dependencies. This change only allows gob sizes to be reduced once per mip level. For the purpose of aligned size, it can still be reduced infinitely as our texture cache isn't properly able to handle a view being _misaligned_. The SizeCalculator has also been changed to reduce the size of rendered depth slices to only include the exact range a single depth slice will cover. (before, the size was way too small with gobs in z reduced to 1, and too large when using the correct value) Gobs in Y logic remains untouched, we don't support Y slices of textures so it's fine as is. This is probably worth testing in a few games as it also affects texture size and view logic. * Improve wording * Maybe a bit better
2023-06-04Check KeyboardMode in GUI (#4343)1.1.862WilliamWsyHK
* Update SoftwareKeyboard to send KeyboardMode to UI * Update GTK UI to check text against KeyboardMode * Update Ava UI to check text against KeyboardMode * Restructure input validation * true when text is not empty * Add English validation text for SoftwareKeyboardMode * Add Chinese validation text for SoftwareKeyboardMode * Update base on feedback --------- Co-authored-by: TSR Berry <20988865+TSRBerry@users.noreply.github.com>
2023-06-03Implement shader storage buffer operations using new Load/Store instructions ↵1.1.861gdkchan
(#4993) * Implement storage buffer operations using new Load/Store instruction * Extend GenerateMultiTargetStorageOp to also match access with constant offset, and log and comments * Remove now unused code * Catch more complex cases of global memory usage * Shader cache version bump * Extend global access elimination to work with more shared memory cases * Change alignment requirement from 16 bytes to 8 bytes, handle cases where we need more than 16 storage buffers * Tweak preferencing to catch more cases * Enable CB0 elimination even when host storage buffer alignment is > 16 (for Intel) * Fix storage buffer bindings * Simplify some code * Shader cache version bump * Fix typo * Extend global memory elimination to handle shared memory with multiple possible offsets and local memory
2023-06-03ava: Fix Input Touch (#5204)1.1.860Ac_K
2023-06-03ava: Fix Open Applet menu enabled (#5206)1.1.859Ac_K
Currently, the `Open Applet` menu is still enabled when a guest is running, which is wrong. This is not fixed by refreshing the property binding on `IsEnabled`.
2023-06-03Armeilleure: Fix support for Windows on ARM64 (#5202)1.1.858Mary
* Armeilleure: Fix support for Windows on ARM64 Tested on Windows DevKit 2023. * Address gdkchan's comments
2023-06-03Allow BGRA images on Vulkan (#5203)1.1.857gdkchan
2023-06-03ava: Fix exit dialog while guest is running. (#5207)1.1.856Ac_K
* ava: Fix exit dialog while guest is running. There is currently an issue while a game runs, the content dialog creation method check if `IsGameRunning` is true to show the popup. But the condition here is wrong (`window` is null) so it throw a NullException silently in `Dispatcher.UIThread`. This is now fixed by using the right casting. * improve condition * Fix spacing
2023-06-01UI: Fix empty homebrew icon (#5189)1.1.854Ac_K
* UI: Fix empty homebrew icon We currently don't check the icon size when we read it from the homebrew data. That could cause issues at UI side since the buffer isn't null but empty. Extra check have been added UI side too. (I cleaned up some files during my research too) Fixes #5188 * Remove additional check * Remove unused using
2023-06-01Give Library header DockPanel explicit height (#5160)1.1.853Théo Arrouye
2023-06-01[Logger] Add print with stacktrace method (#5129)1.1.852TSRBerry
* Add print with stacktrace method * Adjust logging namespaces * Add static keyword to DynamicObjectFormatter
2023-06-01Vulkan: Include DepthMode in ProgramPipelineState (#5185)1.1.849riperiperi
2023-05-31GPU: Dispose Renderer after running deferred actions (#5144)1.1.848riperiperi
* GAL: Dispose Renderer after running deferred actions Deferred actions from disposing physical memory instances always dispose the resources in their caches. The renderer can't be disposed before these resources get disposed, otherwise the dispose actions will not actually run, and the ThreadedRenderer may get stuck trying to enqueue too many commands when there is nothing consuming them. This should fix most instances of the emulator freezing on close. * Wait for main render commands to finish, but keep RenderThread alive til dispose * Address some feedback. * No parameterize needed * Set thread name as part of constructor * Port to Ava and SDL2
2023-05-31Avalonia UI: Fix letter "x" in Ryujinx logo being cut off (#5176)1.1.847yell0wsuit
Also make the pronunciation center-aligned
2023-05-31Skip draws with zero vertex count (#5149)1.1.846gdkchan
2023-05-31Share ResourceManager vertex vertex A and B shaders (#5181)1.1.845gdkchan
2023-05-31macOS Headless Fixes (#5167)1.1.844Isaac Marovitz
* Default hypervisor to disabled * Include MVK on macOS * Properly sign headless builds on macOS * Force Vulkan on macOS * Suggestions
2023-05-30Add Context Menu Option to Run Application (#5154)1.1.843Patrick Hovsepian
2023-05-30Linux: Automatically increase vm.max_map_count if it's too low (#4702)1.1.842TSRBerry
* memory: Check results of pinvoke calls * Increase vm.max_map_count when running Ryujinx * Add SupportedOSPlatform attribute for WindowsApiException * Revert increasing vm.max_map_count via script * Add LinuxHelper to detect and increase vm.max_map_count With GUI dialogs, this should be a bit more user-friendly. * Supply arguments as a list to RunPkExec * Add error logging in case RunPkExec() fails * Prevent Gtk from crashing
2023-05-29Make sure blend is disabled if render target has integer format (#5122)1.1.840gdkchan
* Make sure blend is disabled if render target has integer format * Change approach to avoid permanently mutating state
2023-05-29Workaround for MoltenVK barrier issues (#5118)1.1.839gdkchan
2023-05-29Fix incorrect vertex attribute format change (#5112)1.1.838gdkchan
* Fix incorrect vertex attribute format change * Only change vertex format if the host supports the new format