aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2024-02-10ci: Enable Linux ARM64 on build and release (#6291)1.1.1179Mary Guillemard
* ci: Enable Linux ARM64 on build and release Signed-off-by: Mary <mary@mary.zone> * Address gdkchan comment Signed-off-by: Mary <mary@mary.zone> --------- Signed-off-by: Mary <mary@mary.zone>
2024-02-10Set PointSize in shader on OpenGL (#6292)1.1.1178Mary Guillemard
Previously we were only doing it for Vulkan, but it turns out that not setting it when PROGRAM_POINT_SIZE is set is considered UB on OpenGL Core. Signed-off-by: Mary <mary@mary.zone>
2024-02-10Make IOpenGLContext.HasContext context dependent (#6290)1.1.1177Mary Guillemard
This makes IOpenGLContext.HasContext not static and be implementable. By doing this, we can support more than WGL and WGL. This also allows the SDL2 headless version to run under Wayland. Signed-off-by: Mary <mary@mary.zone>
2024-02-10Load custom SDL mappings from application data folder (#6295)1.1.1176jcm
Co-authored-by: jcm <butt@butts.com>
2024-02-10Force CPU copy for non-identity DMA remap (#6293)1.1.1175gdkchan
2024-02-08Revert "Bump Ava (#6271)"1.1.1173Mary Guillemard
This reverts commit dfc0819e7273e6887135546d32e2fed6e6d26073. X popup position broke entirely (my fault oops), waiting for next release with a fix (see https://github.com/AvaloniaUI/Avalonia/pull/14551)
2024-02-08Remove SDC (#6275)1.1.1172Isaac Marovitz
2024-02-08LightningJit: Reduce stack usage for Arm32 code (#6245)1.1.1171gdkchan
* Write/read guest state to context for sync points, stop reserving stack for them * Fix UsedGprsMask not being updated when allocating with preferencing * POP should be also considered a return
2024-02-08Remove Vic Reference to Host1x (#6277)1.1.1170Isaac Marovitz
2024-02-08Implement BGR10A2 render target format (#6273)1.1.1169gdkchan
2024-02-08Bump Ava (#6271)1.1.1168Isaac Marovitz
2024-02-08Replace Flex Panels in favor of Wrap Panels for Avalonia (#6267)1.1.1166sunshineinabox
* Switch from using Flex panel to a Wrap panel for Grid view. This allows keyboard navigation. * Stop using Flex panel in favor of Avalonia Wrap Panel.
2024-02-08Clamp vertex buffer size to mapped size if too high (#6272)1.1.1165gdkchan
* Clamp vertex buffer size to mapped size if too high * Update comment
2024-02-06Redact usernames from logs (#6255)1.1.1163SamusAranX
* Redact usernames from logs * Changed internal vars to private and applied naming rules * Use Directory.GetParent() instead of DirectoryInfo * Update src/Ryujinx.Common/Logging/Logger.cs --------- Co-authored-by: Ac_K <Acoustik666@gmail.com>
2024-02-06AccountService: Cache token data (#6260)1.1.1162riperiperi
* AccountService: Cache token data This method appears to indicate that the token returned should be cached. I've made it so that it generates a token that lasts until its expiration time, and reuses it on subsequent calls. * Private naming convention
2024-02-06Resolve an issue where changes to the main window's positioning could cause ↵1.1.1161sharmander
the application to crash if a modal was dismissed beforehand. (#6223)
2024-02-04Revert change to skip flush when range size is 0 (#6254)1.1.1159gdkchan
2024-02-04Fix depth compare value for TLD4S shader instruction with offset (#6253)1.1.1158gdkchan
* Fix depth compare value for TLD4S shader instruction with offset * Shader cache version bump
2024-02-04Remove component operand for texture gather with depth compare (#6247)1.1.1157gdkchan
2024-02-03Limit remote closed session removal to SM service (#6248)1.1.1156gdkchan
2024-02-02Ensure SM service won't listen to closed sessions (#6246)1.1.1155gdkchan
* Ensure SM service won't listen to closed sessions * PR feedback
2024-01-31Vulkan: Add Render Pass / Framebuffer Cache (#6182)1.1.1154riperiperi
* Vulkan: Add Render Pass / Framebuffer Cache Cache is owned by each texture view. - Window's way of getting framebuffer cache for swapchain images is really messy - it creates a TextureView out of just a vk image view, with invalid info and no storage. * Clear up limited use of alternate TextureView constructor * Formatting and messages * More formatting and messages I apologize for `_colorsCanonical[index]?.Storage?.InsertReadToWriteBarrier`, the compiler made me do it * Self review, change GetFramebuffer to GetPassAndFramebuffer * Avoid allocations on Remove for HashTableSlim * Member can be readonly * Generate texture create info for swapchain images * Improve hashcode * Remove format, samples, size and isDepthStencil when possible Tested in a number of games, seems fine. * Removed load op barriers These can be introduced later. * Reintroduce UpdateModifications Technically meant to be replaced by load op stuff.
2024-01-30Fix opening the wrong log directory (#6220)1.1.1152TSRBerry
2024-01-29Fix exception when trying to read output pointer buffer size (#6221)1.1.1151gdkchan
* Fix exception when trying to read output pointer buffer size * Better name
2024-01-30Cpu: Implement Vpadal and Vrintr instructions (#6185)1.1.1150Ac_K
* Cpu: Implement Vpadal and Vrintr instructions This PR superseed last instructions left in #2242. Since I'm not a CPU guy I've just ported the code and nothing more. Please be precise during review if there are some changes to be done. It should fixes #1781 Co-Authored-By: Piyachet Kanda <piyachetk@gmail.com> * Addresses gdkchan's feedback * Addresses gdkchan's feedback 2 * Apply suggestions from code review Co-authored-by: gdkchan <gab.dark.100@gmail.com> * another fix * Update InstEmitSimdHelper32.cs * Correct fix * Addresses gdkchan's feedback * Update CpuTestSimdCvt32.cs --------- Co-authored-by: Piyachet Kanda <piyachetk@gmail.com> Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2024-01-29deps: Update Avalonia.Svg (#6218)1.1.1149Ac_K
Updates `Avalonia.Svg` from 11.0.0.10 to 11.0.0.13 Updates `Avalonia.Svg.Skia` from 11.0.0.10 to 11.0.0.13 And reflect update changes as dependabot can't do it. Superseed #6209
2024-01-29Ava UI: Mod Manager Fixes (Again) (#6187)1.1.1148Isaac Marovitz
* Fix typo + Fix deleting from old dir * Avoid double enumeration * Break when parentDir is found * Fix deleting non subdirectory mods * Typo
2024-01-29UI: Clarify Create Application Shortcut tooltip text (#6217)1.1.1147merry
2024-01-29Avalonia: Fix dialog issues caused by 1.1.1105 (#6211)1.1.1146TSRBerry
* Set _contentDialogOverlayWindow to null * Make CheckLaunchState async
2024-01-29Migrate friends service to new IPC (#6174)1.1.1145gdkchan
* Migrate friends service to new IPC * Add a note that the pointer buffer size and domain counts are wrong * Wrong length * Format whitespace * PR feedback * Fill in structs from PR feedback * Missed that one * Somehow forgot to save that one * Fill in enums from PR review * Language enum, NotificationTime * Format whitespace * Fix the warning
2024-01-29Make config filename changable for releases & Log to Ryujinx directory if ↵1.1.1144TSRBerry
application directory is not writable (#4707) * Remove GetBaseApplicationDirectory() & Move logs directory to user base path We should assume the application directory might be write-protected. * Use Ryujinx.sh in Ryujinx.desktop This desktop file isn't really used right now, so this changes effectively nothing. * Use properties in ReleaseInformation.cs and add ConfigName property * Configure config filename in Github workflows * Add a separate config step for macOS Because they use BSD sed instead of GNU sed * Keep log directory at the old location for dev environments * Add FileSystemUtils since Directory.Move() doesn't work across filesystems Steal CopyDirectory code from https://learn.microsoft.com/en-us/dotnet/standard/io/how-to-copy-directories * Fix "Open Logs folder" button pointing to the wrong directory * Add execute permissions to Ryujinx.sh * Fix missing newlines * AppDataManager: Use FileSystemUtils.MoveDirectory() * Make dotnet format happy * Add a fallback for the logging directory
2024-01-29Mod: Do LayeredFs loading Parallel to improve speed (#6180)1.1.1143Ac_K
* Mod: Do LayeredFs loading Parallel to improve speed This fixes and superseed #5672 due to inactivity, nothing more. (See original PR for description) Testing are welcome. Close #5661 * Addresses gdkchan's feedback * commit to test mako change * Revert "commit to test mako change" This reverts commit 8b0caa8a21db298db3dfcbe5b7e9029c4f066c46.
2024-01-29Fix NRE when calling GetSockName before Bind (#6206)1.1.1142gdkchan
2024-01-26Allow skipping draws with broken pipeline variants on Vulkan (#5807)1.1.1139gdkchan
* Allow skipping draws with broken pipeline variants on Vulkan * Move IsLinked check to CreatePipeline * Restore throw on error behaviour for background compile * Can't remove SetAlphaTest pragmas yet * Double new line
2024-01-26Ava UI: Mod Manager Fixes (#6179)1.1.1138Isaac Marovitz
* Fix string format + Crash * Better Logging * Properly Delete Mods Rename * Catch when trying to access bad directory
2024-01-26Fs: Log when Commit fails due to PathAlreadyInUse (#6178)1.1.1137Ac_K
* Fs: Log when Commit fails due to PathAlreadyInUse This fixes and superseed #5418, nothing more. (See original PR for description) Co-Authored-By: James R T <jamestiotio@gmail.com> * Update IFileSystem.cs --------- Co-authored-by: James R T <jamestiotio@gmail.com>
2024-01-26Ava UI: Mod Manager (#4390)1.1.1136Isaac Marovitz
* Let’s start again * Read folders and such * Remove Open Mod Folder menu items * Fix folder opening, Selecting/deselecting * She works * Fix GTK * AddMod * Delete * Fix duplicate entries * Fix file check * Avalonia 11 * Style fixes * Final style fixes * Might be too general * Remove unnecessary using * Enable new mods by default * More cleanup * Fix saving metadata * Dont deseralise ModMetadata several times * Avalonia I hate you * Confirmation dialgoues * Allow selecting multiple folders * Add back secondary folder * Search both paths * Fix formatting * Apply suggestions from code review Co-authored-by: Ac_K <Acoustik666@gmail.com> * Rename Title to Application * Generic locale key * Apply suggestions from code review Co-authored-by: Ac_K <Acoustik666@gmail.com> * Locale Updates * GDK Feedback * Fix --------- Co-authored-by: Ac_K <Acoustik666@gmail.com>
2024-01-26Use driver name instead of vendor name in the status bar for Vulkan. (#6146)1.1.1135Elijah
* Replace vendor id lookup with driver name * Create separate field for driver name, handle OpenGL * Document changes in VulkanPhysicalDevice.cs * Always display driver over vendor * Replace Vulkan 1.2 requirement with VK_KHR_driver_properties * Remove empty line * Remove redundant unsafe block * Apply suggestions from code review --------- Co-authored-by: Ac_K <Acoustik666@gmail.com>
2024-01-26Remove Custom Theming (#6175)1.1.1133Isaac Marovitz
2024-01-25Horizon: Implement arp:r and arp:w services (#5802)1.1.1131Ac_K
* Horizon: Implement arp:r and arp:w services * Fix formatting * Remove HLE arp services * Revert "Remove HLE arp services" This reverts commit c576fcccadb963db56b96bacabd1c1ac7abfb1ab. * Keep LibHac impl since it's used in bcat * Addresses gdkchan's feedback * ArpApi in PrepoIpcServer and remove LmApi * Fix 2 * Fixes ArpApi init * Fix encoding * Update PrepoService.cs * Fix prepo
2024-01-25ssl: Work around missing remote hostname for authentication (#5988)1.1.1130TSRBerry
* ssl: Retrieve remote hostnames if the provided hostname is empty This avoids crashing with an AuthenticationException. * ssl: Remove unused variable from RetrieveHostName
2024-01-25Vulkan: Use staging buffer for temporary constants (#6168)1.1.1127riperiperi
* Vulkan: Use staging buffer for temporary constants Helper shaders and post processing effects typically need some parameters to tell them what to do, which we pass via constant buffers that are created and destroyed each time. This can vary in cost between different Vulkan drivers. It shows up on profiles on mesa and MoltenVK, so it's worth avoiding. Some games only do it once (BlitColor for present), others multiple times. It's also done for post processing filters and FSR upscaling, which creates two buffers. For mirrors, I added the ability to reserve a range on the staging buffer for use as any type of binding. This PR allows these constant buffers to be instead temporarily allocated on the staging buffer, skipping allocation and buffer management costs entirely. Two temporary allocations do remain: - DrawTexture, because it doesn't have access to the command buffer scope - Index buffer indirect conversion, because one of them is a storage buffer and thus is a little more complicated. There's a small cost in that the uniform buffer takes up more space due to alignment requirements. At worst that's 256 bytes (on a GTX 1070) but more modern GPUs should have a better time. Worth testing across different games and post effects to make sure they still work. * Use temporary buffer for ConvertIndexBufferIndirect * Simplify alignment passing for now * Fix shader params length for CopyIncompatibleFormats * Set data for helpershaders without overlap checks The data is in the staging buffer, so its usage range is guarded using that.
2024-01-24Implement SQSHL (immediate) CPU instruction (#6155)1.1.1125gdkchan
* Implement SQSHL (immediate) CPU instruction * Fix test
2024-01-24Vulkan: Enumerate Query Pool properly (#6167)1.1.1124riperiperi
Turns out that ElementAt for Queue<T> runs the default implementation as it doesn't implement IList, which enumerates elements of the queue up to the given index. This code was creating `count` enumerators and iterating way more queue items than it needed to at higher counts. The solution is just to use one enumerator and break out of the loop when we get the count that we need. 3.5% of backend time was being spent _just_ enumerating at the usual spot in SMO.
2024-01-24Use unix timestamps on GetFileTimeStampRaw (#6169)1.1.1123gdkchan
2024-01-22Fix architecture preference for MacOS game shortcuts (#6145)1.1.1122Alex0007
* Fix architecture preference for MacOS game shortcuts * Detect arch and then pass it to script Co-authored-by: jcm <john.moody@coloradocollege.edu> * Remove old script write call in `CreateShortcutMacos` * Turn launch script into EmbeddedResource * Added final newline --------- Co-authored-by: jcm <john.moody@coloradocollege.edu>
2024-01-22Fix missing data for new copy dependency textures with mismatching size (#6161)1.1.1121gdkchan
2024-01-22Add a separate device memory manager (#6153)1.1.1120gdkchan
* Add a separate device memory manager * Still need this * Device writes are always tracked * Device writes are always tracked (2) * Rename more instances of gmm to mm
2024-01-22Input: Improve controller identification (#6029)1.1.1119riperiperi
* Input: Improve controller identification Controllers were identified before by a combination of their _global_ index in the list of controllers and their GUID. The problem is, disconnecting and reconnecting a controller can change its global index; the controller can appear at the end. This would give it another ID, and the controller would need to be reconfigured. This happened to me a lot with a switch pro controller and a USB game controller, it was essentially random which appeared first. Now, it consistently detects them. This PR changes the controller identification to be a combination of an index of controllers with the same GUID (generally 0), and its GUID. It also reworks managing the list of controllers to properly consider instance IDs. This also changes the NpadManager to attempt to reuse old controllers when refreshing input configuration, which can prevent input from going dead for seconds whenever a controller connects or disconnects (and the switch pro controller just entirely dying). Testing with different controller types, OS and Avalonia is welcome. Remember that the target is connecting a ton of controllers, and pulling/reconnecting them. * Remove double empty line
2024-01-21Fix integer overflow on downsample surround to stereo (#6160)1.1.1118gdkchan