ryubing/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
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
InputTopology.cs Geometry shader emulation for macOS (#5551) 2023-08-29 21:10:34 -03:00
OutputTopology.cs
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
ShaderProgramInfo.cs Geometry shader emulation for macOS (#5551) 2023-08-29 21:10:34 -03:00
ShaderStage.cs
SupportBuffer.cs misc: chore: Use collection expressions in Shader project 2025-01-26 15:50:50 -06:00
TessPatchType.cs
TessSpacing.cs
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