As mentioned here Effects should be avoided in DX11. If I understand correctly, that includes techniques and passes defined in *.FX files. So when doing a multipass shader (like the always-mentioned toon shader) I should create 2 separate shaders (for 2 passes), set the first one, render geometry, set the second one, render the geometry again. Correct so far?
But what I'm concerned about is that whether or not the technique/passes in Effects are just a syntactic sugar and offer no performance improvement whatsoever. Or the whole Effects in general. Do they?
GLSL version 4.20 or sth about that has subroutines which allow to switch the function in the shader and avoid changing the shader which does improve performance. Is there anything similar in DX?
Edit: Here [link] it says:
Since performance is crucial in shader programs, avoiding a conditional statement or a shader swap can be very valuable. With subroutines, we can implement the functionality of a conditional statement or shader swap without the computational overhead.
Also this post seems to confirm it.