When I run my compute shader on my PC, it works. If I run it on my Mac, it does not. Based on some debugging, I think the problem is that for whatever reason the Y-, Z- and W-components of an important texture are always zero, even if I force-assign an arbitrary value to them.
So: Can the Shader Model affect Compute Shader behaviour?
If I call SystemInfo.graphicsShaderLevel it returns this:
- On PC: 50 ("Shader Model 5.0 (DX11.0)" according to Unity)
- On Mac: 45 ("Metal / OpenGL ES 3.1 capabilities (Shader Model 3.5 + compute shaders)" according to Unity)
I've tried looking for more information on the topic but the most I could find were these: https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/dx-graphics-hlsl-sm3 https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/d3d11-graphics-reference-sm5
And I can't find any official information about what Unity refers to as "Shader Model 3.5 + compute shaders".