Age | Commit message (Collapse) | Author |
|
* 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
|
|
* Fix string format + Crash
* Better Logging
* Properly Delete Mods
Rename
* Catch when trying to access bad directory
|
|
* 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>
|
|
* 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>
|
|
* 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>
|
|
|
|
* 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
|
|
* ssl: Retrieve remote hostnames if the provided hostname is empty
This avoids crashing with an AuthenticationException.
* ssl: Remove unused variable from RetrieveHostName
|
|
* 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.
|
|
* Implement SQSHL (immediate) CPU instruction
* Fix test
|
|
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.
|
|
|
|
* 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>
|
|
|
|
* 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
|
|
* 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
|
|
|
|
* Implement a new JIT for Arm devices
* Auto-format
* Make a lot of Assembler members read-only
* More read-only
* Fix more warnings
* ObjectDisposedException.ThrowIf
* New JIT cache for platforms that enforce W^X, currently unused
* Remove unused using
* Fix assert
* Pass memory manager type around
* Safe memory manager mode support + other improvements
* Actual safe memory manager mode masking support
* PR feedback
|
|
* WIP: Descriptor template update
* Make configurable
* Wording
* Simplify template creation
* Whitespace
* UTF-8 whatever
* Leave only templated path, better template updater
|
|
* Support portable mode using the macOS app bundle.
* Apply suggestion
Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com>
---------
Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com>
|
|
* Change shader cache init wait method
* Make field readonly
|
|
* Move most of signal handling to Ryujinx.Cpu project
* Format whitespace
* Remove unused member
* Format whitespace
* This does not need to be public anymore
|
|
This prevents a small allocation each time this method is called. This is a top 3 SOH allocation during gameplay in most games, and eliminating it is pretty free.
|
|
parameters (#6101)
* Fix vertex buffer size when switching between inline and state draw parameters
* Format whitespace
|
|
|
|
* Remove redundant code and fix small issues
* Log amiibo exceptions
* Add more checks when getting Amiibo data
* Fall back to online data if local file is inaccessible
* Make dotnet format happy
|
|
* Switch to `Microsoft.IdentityModel.JsonWebTokens`
* Formatting
|
|
* Add Hebrew locale files to ItemGroups
* Align all windows RTL for testing
This should be controlled with a binding that selects the appropriate layout based on current language
* Update FlowDirection as Locale changes
* Fix Settings NavigationViewItem FlowDirection
* Fix remaining text
* Fix input menu directionality
* Fix RTL not rendering
* Fix rebase errors
|
|
* Start work on better Controller Applet
* Don’t require title
* UI improvements
* Border around TBD area
* Formatting
* Better SVGs
* Add missing margin
* Use Locale
* Rename function
* Make buttons ourselves
* Make the buttons do shit
* Formatting
* Adjust SVGs
* Fix Open Settings Window
* Make field readonly
* Final tweaks
* Update src/Ryujinx.Ava/UI/Applet/AvaHostUiHandler.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Update src/Ryujinx.Ava/UI/Applet/ControllerAppletDialog.axaml.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Apply suggestions from code review
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Update src/Ryujinx.Ava/UI/Applet/ControllerAppletDialog.axaml.cs
Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com>
* Move icons to Ava project
* Reorder arguments
* Try to focus Settings Window
* Fix icons
Project shenangians
* Add ContentDialogHelper.ShowWindowAsync method
* Fix closed SettingsWindow reference in MainWindow
* Fix SettingsWindow dialog
* Suggestion
---------
Co-authored-by: Ac_K <Acoustik666@gmail.com>
Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com>
|
|
|
|
* Update MemoryState enum and add new flags
* Add support for new PermissionLocked attribute added on firmware 17.0.0
* Format whitespace
|
|
* Local Amiibo.json should be used if connection failed
Currently Ryujinx is not loading any Amiibo if connection fails, even if the Amiibo.json exists.
This fix will use the local file and show a Dialog if connection fails.
* using local Amiibo.json & fixed Amiibo.json date comparison
Using local Amiibo.json when connection fails and comparison without milliseconds for LastModified that comes from https://amiibo.ryujinx.org/ and the local one (The JSON file has milliseconds on it, those will cause an error when comparing the date from the header because the header one doesn't has milliseconds on it). Both changes made for Avalonia UI.
* Fixed date comparison
Same date comparison fix, but made for normal UI (Not for AvaloniaUI).
This error can be prevented if the file in https://amiibo.ryujinx.org/ did not have the date with milliseconds.
* Securely trying to get a list of Amiibo (For normal UI)
* Securely trying to get a list of Amiibo (Change for AvaloniaUI)
* Date comparison reverted
* Apply suggestions from code review
* Use fallback amiibo.json if remote file is not valid (Normal UI)
* Use fallback amiibo.json if remote file is not valid (Avalonia UI)
* Code styles corrected.
* Code styles corrected in AmiiboWindowViewModel.
* Readded Ryujinx.Common.Logging using.
* Fixed using order.
---------
Co-authored-by: Ac_K <Acoustik666@gmail.com>
|
|
* Fix crash
* Remove nullable
* Hide BuildId for child nodes
* Fix warning
* Fix charset
|
|
|
|
* Pass MultiRange to BufferManager
* Implement support for multi-range buffers using Vulkan sparse mappings
* Use multi-range for remaining buffers, delete old methods
* Assume that more buffers are contiguous
* Dispose multi-range buffers after they are removed from the list
* Properly init BufferBounds for constant and storage buffers
* Do not try reading zero bytes data from an unmapped address on the shader cache + PR feedback
* Fix misaligned sparse buffer offsets
* Null check can be simplified
* PR feedback
|
|
|
|
* Improve indication of emulation being paused by the User
* Use localised for Paused
* Backup original title - PR comments fix
* Add common helper method to assemble App title
|
|
* editorconfig: Add default charset
* Change file encoding from UTF-8-BOM to UTF-8
|
|
* feat: add nanosleep for linux and macos
* Add Windows 0.5ms sleep
- Imprecise waits for longer waits with clock alignment
- 1/4 the spin time on vsync timer
* Remove old experiment
* Fix event leak
* Tweaking for MacOS
* Linux tweaks, nanosleep vsync improvement
* Fix overbias
* Cleanup
* Fix realignment
* Add some docs and some cleanup
NanosleepPool needs more, Nanosleep has some benchmark code that needs removed.
* Rename "Microsleep" to "PreciseSleep"
Might have been confused with "microseconds", which no measurement is performed in.
* Remove nanosleep measurement
* Remove unused debug logging
* Nanosleep Pool Documentation
* More cleanup
* Whitespace
* Formatting
* Address Feedback
* Allow SleepUntilTimePoint to take EventWaitHandle
* Remove `_chrono` stopwatch in SurfaceFlinger
* Move spinwaiting logic to PreciseSleepHelper
Technically, these achieve different things, but having them here makes them easier to reuse or tune.
|
|
* Extend bindless elimination to see through shuffle
* Shader cache version bump
|
|
* Enable copy dependency between RGBA8 and RGBA32 formats
* Take packed flag into account for texture formats
* Account for widths not being a multiple of each other
* Don't try to alias depth textures as color, fix log condition
* PR feedback
|
|
* Extend bindless elimination to see through Phis with the same results
* Shader cache version bump
|
|
* Addition of default backend check. Vulkan is preferred if available or macOS.
* import ordering format fix
* Update src/Ryujinx/Program.cs
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
* remove redundant load types
---------
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
|
|
|
|
|
|
target change (#5933)
* Unbind render targets before DMA copy
* Move DirtyAction to TextureGroupHandle
* Fix lost copy dependency bug
* XML doc
|
|
OpenTK.OpenAL was renamed to OpenTK.Audio.OpenAL.
Signed-off-by: Mary Guillemard <mary@mary.zone>
|
|
* Change TargetFramework to net8.0
* Disable info messages
* Fix warings
* Disable additional analyzer messages
* Fix typo
* Add whitespace
* Fix ref vs in warnings
* Use explicit [In] on array parameters
* No need to guard Remove with Contains
* Use 'ArgumentOutOfRangeException.ThrowIf...' instead of explicitly throwing a new exception instance
* Bump .NET SDK version
* Enable JsonSerializerIsReflectionEnabledByDefault
* Use 8.0.100 GA release
* Bump System package versions
---------
Co-authored-by: Zoltan Csizmadia <Zoltan.Csizmadia@vericast.com>
|
|
* Disable DMA GPU copy for block linear to linear copies
* Simplify check
* PR feedback
|
|
|