* Add MVK basics.
* Use appropriate output attribute types
* 4kb vertex alignment, bunch of fixes
* Add reduced shader precision mode for mvk.
* Disable ASTC on MVK for now
* Only request robustnes2 when it is available.
* It's just the one feature actually
* Add triangle fan conversion
* Allow NullDescriptor on MVK for some reason.
* Force safe blit on MoltenVK
* Use ASTC only when formats are all available.
* Disable multilevel 3d texture views
* Filter duplicate render targets (on backend)
* Add Automatic MoltenVK Configuration
* Do not create color attachment views with formats that are not RT compatible
* Make sure that the host format matches the vertex shader input types for invalid/unknown guest formats
* FIx rebase for Vertex Attrib State
* Fix 4b alignment for vertex
* Use asynchronous queue submits for MVK
* Ensure color clear shader has correct output type
* Update MoltenVK config
* Always use MoltenVK workarounds on MacOS
* Make MVK supersede all vendors
* Fix rebase
* Various fixes on rebase
* Get portability flags from extension
* Fix some minor rebasing issues
* Style change
* Use LibraryImport for MVKConfiguration
* Rename MoltenVK vendor to Apple
Intel and AMD GPUs on moltenvk report with the those vendors - only apple silicon reports with vendor 0x106B.
* Fix features2 rebase conflict
* Rename fragment output type
* Add missing check for fragment output types
Might have caused the crash in MK8
* Only do fragment output specialization on MoltenVK
* Avoid copy when passing capabilities
* Self feedback
* Address feedback
Co-authored-by: gdk <gab.dark.100@gmail.com>
Co-authored-by: nastys <nastys@users.noreply.github.com>
* Ava: Move Ava logging to Logger.Debug
Since #4231 we currently redirect Avalonia logs to our Logger, which is pretty nice. But since it uses our Logging level too, it now leads to a massive flood in our Log files.
To avoid that, I've included all `AvaLogLevel` to the log message, and make all Ava Logs using `Logger.Debug`.
* Logs errors to Error and other to Debug
* missing level
* keep var
Currently in `MenuMainBarView.axaml` we list all available languages and hardcode the language name with the language key.
It's a bit bad beause if we want to add a new language, we have to edit the `csproj` and the `axaml` with the translated language name and the language code.
I've put all translations in their respective locale files, add code into `MainMenuBarView` constructor to generate the menu automatically. Now we just have to edit the `csproj` if we want to add a new language.
* Implement JIT Arm64 backend
* PPTC version bump
* Address some feedback from Arm64 JIT PR
* Address even more PR feedback
* Remove unused IsPageAligned function
* Sync Qc flag before calls
* Fix comment and remove unused enum
* Address riperiperi PR feedback
* Delete Breakpoint IR instruction that was only implemented for Arm64
Because we are building everything on Windows for release at the moment,
git default line ending to CRLF causing issues when packing the
Ryujinx.sh script.
This addresses this by enforcing all files to use LF via .gitattributes.
* ava: Cleanup AppHost
This PR cleaned up the AppHost file a bit (adding the infamous extra spaces to improve readability), resorting private vars, remove useless vars, and improve the code here and there, like the AudioBackend check.
Co-Authored-By: gdkchan <5624669+gdkchan@users.noreply.github.com>
* Remove 'renderer"
* Revert currentTime
* revert if condition
Co-authored-by: gdkchan <5624669+gdkchan@users.noreply.github.com>
* headless: Fix typos in command line options
* Remove nullable from command line options
Add EnableMacroHLE option
Add HideCursorOnIdle option
* headless: Adjust enable-ptc help text
* headless: Use switch statement instead of if-else chain
* headless: Improve formatting for long constructors
* headless: Remove discards from SDL_ShowCursor()
* headless: Add window icon
* Fix hiding cursor on idle
At least on Wayland, SDL2 doesn't produce any mouse motion events.
* Add new command line args: BaseDataDir and UserProfile
* headless: Read icon from embedded resource
* headless: Skip SetWindowIcon() on Windows if dll isn't present
* headless: Fix division by zero
* headless: Fix command line options not working correctly
* headless: Fix crash when viewing command line options
* headless: Load window icon bmp from memory
* Add comment to the workaround for SDL_LoadBMP_RW
* headless: Enable logging to file by default
* headless: Add 3 options for --hide-cursor
Replaces --disable-hide-cursor-on-idle
* ava: Fix regressions from #4178
* Remove duplicated code
* real fix for right click menu
Co-Authored-By: Isaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com>
* Remove ContentDialogOverlay
Co-authored-by: Isaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com>
* Horizon: Impl Prepo, Fixes bugs, Clean things
* remove ToArray()
* resultCode > status
* Remove old services
* Addresses gdkchan's comments and more cleanup
* Addresses Gdkchan's feedback 2
* Reorganize services, make sure service are loaded before guest
Co-Authored-By: gdkchan <5624669+gdkchan@users.noreply.github.com>
* Create interfaces for lm and sm
Co-authored-by: gdkchan <5624669+gdkchan@users.noreply.github.com>
Avalonia seems to not like when the artifact doesns't match the root namespace...
Address that by moving the binary to "Ryujinx" like we do on macOS build.
* IPC refactor part 3 + 4: New server HIPC message processor with source generator based serialization
* Make types match on calls to AlignUp/AlignDown
* Formatting
* Address some PR feedback
* Move BitfieldExtensions to Ryujinx.Common.Utilities and consolidate implementations
* Rename Reader/Writer to SpanReader/SpanWriter and move to Ryujinx.Common.Memory
* Implement EventType
* Address more PR feedback
* Log request processing errors since they are not normal
* Rename waitable to multiwait and add missing lock
* PR feedback
* Ac_K PR feedback
* chore: Update tests dependencies
* Apply TSR Berry suggestion to add a GC.SuppressFinalize in MemoryBlock.cs
* Ensure we wait for the test thread to be dead on PartialUnmap
* Use platform attribute for os specific tests
* Make P/Invoke methods private
* Downgrade NUnit3TestAdapter to 4.1.0
* test: Disable warning about platform compat for ThreadLocalMap()
Co-authored-by: TSR Berry <20988865+TSRBerry@users.noreply.github.com>
* Filter “._” files from the game list
* Filter all hidden files from the game list
* Fix style
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
* merge OR expression into a pattern
* migrate from GetFiles/Directories to Enumerate
* Remove GetFilesInDirectory()
* Update Ryujinx.Ui.Common/App/ApplicationLibrary.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* add error handeling
* code cleanup
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
Co-authored-by: Ac_K <Acoustik666@gmail.com>