ryujinx/src/Ryujinx.Graphics.Gpu/Shader
Evan Husted fe1617ffea
Revert the Metal Experiment (#701)
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.
2025-02-22 21:26:46 -06:00
..
DiskCache Revert the Metal Experiment (#701) 2025-02-22 21:26:46 -06:00
HashTable misc: chore: Use collection expressions in Gpu project 2025-01-26 15:49:22 -06:00
CachedShaderBindings.cs misc: chore: Remove unused using directives across entire solution. 2025-01-30 20:27:17 -06:00
CachedShaderProgram.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
CachedShaderStage.cs [Ryujinx.Graphics.Gpu] Address dotnet-format issues (#5367) 2023-07-02 02:47:54 +02:00
ComputeShaderCacheHashTable.cs misc: chore: Use collection expressions in Gpu project 2025-01-26 15:49:22 -06:00
GpuAccessor.cs Revert the Metal Experiment (#701) 2025-02-22 21:26:46 -06:00
GpuAccessorBase.cs Revert the Metal Experiment (#701) 2025-02-22 21:26:46 -06:00
GpuAccessorState.cs Add support for bindless textures from shader input (vertex buffer) on Vulkan (#6577) 2024-04-22 15:05:55 -03:00
GpuChannelComputeState.cs Revert the Metal Experiment (#701) 2025-02-22 21:26:46 -06:00
GpuChannelGraphicsState.cs Add support for bindless textures from storage buffer on Vulkan (#6721) 2024-05-14 16:47:16 +02:00
GpuChannelPoolState.cs Add support for bindless textures from shader input (vertex buffer) on Vulkan (#6577) 2024-04-22 15:05:55 -03:00
ResourceCounts.cs Allow texture arrays to use separate descriptor sets on Vulkan (#6870) 2024-05-26 13:30:19 -03:00
ShaderAddresses.cs [Ryujinx.Graphics.Gpu] Address dotnet-format issues (#5367) 2023-07-02 02:47:54 +02:00
ShaderAsCompute.cs Geometry shader emulation for macOS (#5551) 2023-08-29 21:10:34 -03:00
ShaderCache.cs Revert the Metal Experiment (#701) 2025-02-22 21:26:46 -06:00
ShaderCacheHashTable.cs misc: chore: Use collection expressions in Gpu project 2025-01-26 15:49:22 -06:00
ShaderCacheState.cs [Ryujinx.Graphics.Gpu] Address dotnet-format issues (#5367) 2023-07-02 02:47:54 +02:00
ShaderCodeAccessor.cs [Ryujinx.Graphics.Gpu] Address dotnet-format issues (#5367) 2023-07-02 02:47:54 +02:00
ShaderDumper.cs [Ryujinx.Graphics.Gpu] Address dotnet-format issues (#5367) 2023-07-02 02:47:54 +02:00
ShaderDumpPaths.cs [Ryujinx.Graphics.Gpu] Address dotnet-format issues (#5367) 2023-07-02 02:47:54 +02:00
ShaderInfoBuilder.cs Revert the Metal Experiment (#701) 2025-02-22 21:26:46 -06:00
ShaderSpecializationList.cs misc: chore: Use collection expressions in Gpu project 2025-01-26 15:49:22 -06:00
ShaderSpecializationState.cs misc: chore: Use explicit types in GPU, Device, and Host1x projects 2025-01-25 14:05:44 -06:00
TransformFeedbackDescriptor.cs [Ryujinx.Graphics.Gpu] Address dotnet-format issues (#5367) 2023-07-02 02:47:54 +02:00