mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
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 <zackr@vmware.com>
This commit is contained in:
parent
0794f638ee
commit
95829e2029
1 changed files with 11 additions and 3 deletions
|
|
@ -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");
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue