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. --- src/mesa/drivers/dri/i965/brw_vec4_emit.cpp | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp b/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp index 4b8b276..828a9c1 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp @@ -259,7 +259,7 @@ vec4_visitor::generate_math1_gen4(vec4_instruction *inst, BRW_MATH_SATURATE_NONE, inst->base_mrf, src, - BRW_MATH_DATA_SCALAR, + BRW_MATH_DATA_VECTOR, BRW_MATH_PRECISION_FULL); } -- 1.7.5.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev