Module: Mesa Branch: master Commit: 3695cdd6061abe5af430bddaac2237bff3d87ad0 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3695cdd6061abe5af430bddaac2237bff3d87ad0
Author: Eric Anholt <[email protected]> Date: Wed Mar 24 10:26:05 2010 -0700 i965: Handle the negate and abs swizzles on brw_wm_glsl.c immediate args. Fixes piglit glsl-orangebook-ch06-bump, regressed with 4fc57322258a750c0a9cabc77372b5ccde1fa877 --- src/mesa/drivers/dri/i965/brw_wm_glsl.c | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_wm_glsl.c b/src/mesa/drivers/dri/i965/brw_wm_glsl.c index d78fb4e..3b7e421 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_glsl.c +++ b/src/mesa/drivers/dri/i965/brw_wm_glsl.c @@ -583,11 +583,21 @@ static struct brw_reg get_src_reg(struct brw_wm_compile *c, if (component == SWIZZLE_ZERO) { return brw_imm_f(0.0F); } else if (component == SWIZZLE_ONE) { - return brw_imm_f(1.0F); + if (src->Negate) + return brw_imm_f(-1.0F); + else + return brw_imm_f(1.0F); } if (src->File == PROGRAM_CONSTANT) { - return brw_imm_f(params->ParameterValues[src->Index][component]); + float f = params->ParameterValues[src->Index][component]; + + if (src->Abs) + f = fabs(f); + if (src->Negate) + f = -f; + + return brw_imm_f(f); } } _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
