i965/vs: Make pre-gen6 math operate in vector mode instead of scalar.
authorEric Anholt <eric@anholt.net>
Tue, 30 Aug 2011 22:59:26 +0000 (15:59 -0700)
committerEric Anholt <eric@anholt.net>
Wed, 7 Sep 2011 01:01:23 +0000 (18:01 -0700)
commit9f842886077258ddda5d5a32b1f5d9fe2e5818bc
tree67acdaefff6e5600710b29374e737d2621ca3b23
parent87be0ac96ce5aaea2a08f1ed63871c0dd3a3f9d5
i965/vs: Make pre-gen6 math operate in vector mode instead of scalar.

On the old backend, we used scalar mode because Mesa IR math is
result.xyzw = math(op0.xxxx), which matched up well.  However, in GLSL
IR we do things like result.xy = math(op0.xy), so we want vector mode.
For the common case of result.x = math(op0.x), performance will be the
same (no cost for un-executed channels), though result.xyzw =
math(op0.xxxx) would be worse.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_vec4_emit.cpp