LLVMTypeRef float_type = LLVMFloatTypeInContext(gallivm->context);
LLVMValueRef a0_0 = args->facing;
LLVMValueRef a0_0f = LLVMBuildSIToFP(builder, a0_0, float_type, "");
+ LLVMValueRef a0, face_val;
const unsigned char swizzles[4] = { PIPE_SWIZZLE_RED, PIPE_SWIZZLE_ZERO,
PIPE_SWIZZLE_ZERO, PIPE_SWIZZLE_ZERO };
/* Our face val is either 1 or 0 so we do
* face = (val * 2) - 1
* to make it 1 or -1
*/
- LLVMValueRef face_val =
+ face_val =
LLVMBuildFAdd(builder,
LLVMBuildFMul(builder, a0_0f,
lp_build_const_float(gallivm, 2.0),
""),
lp_build_const_float(gallivm, -1.0),
"facing");
- LLVMValueRef a0 = lp_build_swizzle_aos(&args->bld, face_val, swizzles);
+ face_val = lp_build_broadcast_scalar(&args->bld, face_val);
+ a0 = lp_build_swizzle_aos(&args->bld, face_val, swizzles);
store_coef(gallivm, args, slot, a0, args->bld.zero, args->bld.zero);
}