ATI vs NVidia different behaviors with ps_2_0

Hello there!
I have a shader that requires a pixel version 3( ps_3_0) otherwise at the moment of compiling it throws the next error:
‘Compiled shader conde uses too many arithmetic instruction slots…’

The patch runs properly on a mac book pro using a NVidia GeForce GT 330m. However, when I try to render the same patch on a MacPro with an ATI Radeon HD 5700 I just get a black screen. The shader compiles properly on both hardwares but the ATI seems to dislike something but the console doesn’t throw any errors.

As I mentioned before I cannot revert to a pixel version older than ps_3_0 as it will throw the mentioned error.

Has anyone experienced something similar when switching between Nvidia and ATI cards? any possible reason behind this?



make sure vs and ps version match on ATI.

eg: on the technique:

That should sort it out.

Roger that!
I will give it a shot!!


thanks vux, the problem is fixed.
BTW, i am curious why the technique was working on a Nvidia and not an ATI card, any idea?

Just seems ATI requests equivalent shader models for VS/PS, NVidia less strict about that.