0
votes

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".

1

1 Answers

0
votes

Is the graphics api you use metal or opengl? Note that the version of opengl(4.1) on mac does not support compute shader.

First make sure you use metal on your mac.