Revert the Metal Experiment #701

Merged
GreemDev merged 4 commits from revert/new-metal into master 2025-02-23 03:26:46 +00:00
GreemDev commented 2025-02-22 02:47:05 +00:00 (Migrated from github.com)

Metal sounded like a good idea to get in the emulator but frankly I underestimated just how experimental and not ready it was.
From my write up in the Discord:

As is, Metal supports only a few games.
The games it does support freeze on first use of not playing them via Vulkan, because shader translation is broken.
So you need to use a dirty hack to not delete all your shaders.
Not to mention it breaks many games via MoltenVK because of changes to the shared GPU code.

Merging Metal seemed like a great idea, because of the few games it does support.
But I don't think it's worth it. Many of the games it breaks via MoltenVK *don't work via Metal*. 
Which effectively makes current Ryubing worse for Mac users than Ryujinx 1.1.1403.

I think what I'm gonna do is revert Metal, and reopen it as a PR. That way, you can still take advantage of the Metal backend as is, but without making other games worse with no solution.

For what it's worth, the shader translation part could at least be "fixed" by always applying a 30ms delay for shader translation to Metal.
That being said, that solution sucks ass.
The MoltenVK regressions are even worse.

I hope this is not a let down to the Mac users. I hope you realize I'm reverting this because you're actively getting a worse experience with it in the emulator.

Metal sounded like a good idea to get in the emulator but frankly I underestimated just how experimental and not ready it was. From my write up in the Discord: ``` As is, Metal supports only a few games. The games it does support freeze on first use of not playing them via Vulkan, because shader translation is broken. So you need to use a dirty hack to not delete all your shaders. Not to mention it breaks many games via MoltenVK because of changes to the shared GPU code. Merging Metal seemed like a great idea, because of the few games it does support. But I don't think it's worth it. Many of the games it breaks via MoltenVK *don't work via Metal*. Which effectively makes current Ryubing worse for Mac users than Ryujinx 1.1.1403. I think what I'm gonna do is revert Metal, and reopen it as a PR. That way, you can still take advantage of the Metal backend as is, but without making other games worse with no solution. ``` For what it's worth, the shader translation part could at least be "fixed" by always applying a 30ms delay for shader translation to Metal. That being said, that solution sucks ass. The MoltenVK regressions are even worse. I hope this is not a let down to the Mac users. I hope you realize I'm reverting this because you're actively getting a worse experience with it in the emulator.
github-actions[bot] commented 2025-02-22 03:10:36 +00:00 (Migrated from github.com)
Download the artifacts for this pull request: * [ryujinx-Release-1.2.0+a31c4ba-linux_arm64](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2634121849.zip) * [ryujinx-Release-1.2.0+a31c4ba-linux_arm64-AppImage](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2634121912.zip) * [ryujinx-Release-1.2.0+a31c4ba-linux_x64](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2634126657.zip) * [ryujinx-Release-1.2.0+a31c4ba-linux_x64-AppImage](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2634126740.zip) * [ryujinx-Release-1.2.0+a31c4ba-macos_universal](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2634128636.zip) * [ryujinx-Release-1.2.0+a31c4ba-win_x64](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2634136282.zip) <details><summary>Only for Developers</summary> * [ryujinx-Debug-1.2.0+a31c4ba-linux_arm64](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2634122142.zip) * [ryujinx-Debug-1.2.0+a31c4ba-linux_arm64-AppImage](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2634122204.zip) * [ryujinx-Debug-1.2.0+a31c4ba-macos_universal](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2634126485.zip) * [ryujinx-Debug-1.2.0+a31c4ba-linux_x64](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2634127640.zip) * [ryujinx-Debug-1.2.0+a31c4ba-linux_x64-AppImage](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2634127739.zip) * [ryujinx-Debug-1.2.0+a31c4ba-win_x64](https://nightly.link/Ryubing/Ryujinx/actions/artifacts/2634136506.zip) </details>
Sign in to join this conversation.
No Reviewers
No Milestone
No project
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MeloNX/Ryujinx-ryubing#701
No description provided.