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?

thanks!

-emmanuel

make sure vs and ps version match on ATI.

eg: on the technique:
vs_3_0
ps_3_0

That should sort it out.

Roger that!
I will give it a shot!!

thanks!

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.