I know that my shader is not exactly a good practice to write a shader. I (we? ) am just curious if that additional ALU unit can be used in general ps 2.0 shaders, or is it used just for _x* and _d* modifiers in ps 1.x. My guess is that it's currently not active in ps 2.0 environment, but might got used once ps compiler gets smart enough, right?sireric said:Actually, because of constant propagation optimization, it should execute in 1 cycle on an R3x0 (eventually). Something like:
add_sat oC0, (c0+c1-c2), v1
We are working hard on improving our current PS compiler, so that it can map PS ops to our HW in an optimal way. The current stuff is pretty simple. The HW is naturally very fast and executes well. However, it will get better. That's also why one should be careful when trying to determine our internal architecture based on shader code.