Module: Mesa Branch: master Commit: 95829e202951b2532d72d20a1f5b4450b11de2c1 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=95829e202951b2532d72d20a1f5b4450b11de2c1
Author: Zack Rusin <[email protected]> Date: Fri Aug 2 22:08:25 2013 -0400 llvmpipe: fix frontface behavior again Lets make sure the frontface is 1 for front and -1 for back. Discussed with Roland and Jose. Signed-off-by: Zack Rusin <[email protected]> --- src/gallium/drivers/llvmpipe/lp_state_setup.c | 14 +++++++++++--- 1 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/llvmpipe/lp_state_setup.c b/src/gallium/drivers/llvmpipe/lp_state_setup.c index cecfbce..dab5096 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_setup.c +++ b/src/gallium/drivers/llvmpipe/lp_state_setup.c @@ -182,9 +182,17 @@ emit_facing_coef(struct gallivm_state *gallivm, LLVMValueRef a0_0 = args->facing; LLVMValueRef a0_0f = LLVMBuildSIToFP(builder, a0_0, float_type, ""); LLVMValueRef zero = lp_build_const_float(gallivm, 0.0); - LLVMValueRef face_val = LLVMBuildFSub(builder, a0_0f, - lp_build_const_float(gallivm, 0.5), - ""); + /* Our face val is either 1 or 0 so we do + * face = (val * 2) - 1 + * to make it 1 or -1 + */ + LLVMValueRef face_val = + LLVMBuildFAdd(builder, + LLVMBuildFMul(builder, a0_0f, + lp_build_const_float(gallivm, 2.0), + ""), + lp_build_const_float(gallivm, -1.0), + ""); LLVMValueRef a0 = vec4f(gallivm, face_val, zero, zero, zero, "facing"); LLVMValueRef zerovec = vec4f_from_scalar(gallivm, zero, "zero"); _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
