Pipeline Tool is trying to compile for the wrong shader model

I tried to compile 3 shaders, which all have these lines:

technique Technique1 { pass Pass1 { VertexShader = compile vs_5_0 VertexShaderFunction(); PixelShader = compile ps_5_0 PixelShaderFunction(); } }

I get different error messages:

  1. DepthOfField.fx(89,40): error X5426: Shader uses texture addressing operations in a dependency chain that is too complex for the target shader model (ps_2_0) to handle.
  2. ScreenSpaceAmbientOcclusion.fx(126,18): error X5608: Compiled shader code uses too many arithmetic instruction slots (156). Max. allowed by the target (ps_2_0) is 64.
    (1,1): error X5609: Compiled shader code uses too many instruction slots (166). Max. allowed by the target (ps_2_0) is 96.
  3. include\PackingMethods.fx(126,33): error X5426: Shader uses texture addressing operations in a dependency chain that is too complex for the target shader model (ps_2_0) to handle.

Why it does not compile with “vs_5_0” and “ps_5_0”?

You don’t have any other techniques, right?

Checked it. No, only Technique1 in each of the shaders.

are you using DirectX?

Yes. It’s a “MonoGame Windows Project”.

It was my fault. I added the fx files to visual studio to edit them but added them to the wrong directory, so they were copied. First i thought that maybe playing around with text find and replce was not the best idea in the middle of the night ^^