ryujinx/src/Ryujinx.Graphics.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
..
CodeGen Revert the Metal Experiment (#701) 2025-02-22 21:26:46 -06:00
Decoders misc: chore: Use collection expressions in Shader project 2025-01-26 15:50:50 -06:00
Instructions misc: chore: Use collection expressions in Shader project 2025-01-26 15:50:50 -06:00
IntermediateRepresentation misc: chore: Use collection expressions in Shader project 2025-01-26 15:50:50 -06:00
StructuredIr Revert the Metal Experiment (#701) 2025-02-22 21:26:46 -06:00
Translation Revert the Metal Experiment (#701) 2025-02-22 21:26:46 -06:00
AlphaTestOp.cs [Ryujinx.Graphics.Shader] Address dotnet-format issues (#5373) 2023-06-28 08:59:13 +02:00
AttributeType.cs Geometry shader emulation for macOS (#5551) 2023-08-29 21:10:34 -03:00
BufferDescriptor.cs Allow texture arrays to use separate descriptor sets on Vulkan (#6870) 2024-05-26 13:30:19 -03:00
BufferUsageFlags.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
Constants.cs Geometry shader emulation for macOS (#5551) 2023-08-29 21:10:34 -03:00
GpuGraphicsState.cs Add support for bindless textures from storage buffer on Vulkan (#6721) 2024-05-14 16:47:16 +02:00
IGpuAccessor.cs Allow texture arrays to use separate descriptor sets on Vulkan (#6870) 2024-05-26 13:30:19 -03:00
ILogger.cs Delete ShaderConfig and organize shader resources/definitions better (#5509) 2023-08-13 22:26:42 -03:00
InputTopology.cs Geometry shader emulation for macOS (#5551) 2023-08-29 21:10:34 -03:00
OutputTopology.cs [Ryujinx.Graphics.Shader] Address dotnet-format issues (#5373) 2023-06-28 08:59:13 +02:00
ResourceReservationCounts.cs Geometry shader emulation for macOS (#5551) 2023-08-29 21:10:34 -03:00
Ryujinx.Graphics.Shader.csproj Revert the Metal Experiment (#701) 2025-02-22 21:26:46 -06:00
SamplerType.cs Revert the Metal Experiment (#701) 2025-02-22 21:26:46 -06:00
SetBindingPair.cs Allow texture arrays to use separate descriptor sets on Vulkan (#6870) 2024-05-26 13:30:19 -03:00
ShaderProgram.cs [Ryujinx.Graphics.Shader] Address dotnet-format issues (#5373) 2023-06-28 08:59:13 +02:00
ShaderProgramInfo.cs Geometry shader emulation for macOS (#5551) 2023-08-29 21:10:34 -03:00
ShaderStage.cs Declare and use gl_PerVertex block for VTG per-vertex built-ins (#5576) 2023-08-16 23:16:25 +02:00
SupportBuffer.cs misc: chore: Use collection expressions in Shader project 2025-01-26 15:50:50 -06:00
TessPatchType.cs [Ryujinx.Graphics.Shader] Address dotnet-format issues (#5373) 2023-06-28 08:59:13 +02:00
TessSpacing.cs [Ryujinx.Graphics.Shader] Address dotnet-format issues (#5373) 2023-06-28 08:59:13 +02:00
TextureDescriptor.cs Allow texture arrays to use separate descriptor sets on Vulkan (#6870) 2024-05-26 13:30:19 -03:00
TextureFormat.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
TextureHandle.cs Add support for bindless textures from shader input (vertex buffer) on Vulkan (#6577) 2024-04-22 15:05:55 -03:00
TextureUsageFlags.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
VertexInfoBuffer.cs misc: chore: Use collection expressions in Shader project 2025-01-26 15:50:50 -06:00