mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 02:58:05 +02:00
llvmpipe: make the front-face behavior match the gallium spec
The spec says that front-face is true if the value is >0 and false if it's <0. To make sure that we follow the spec, lets just subtract 0.5 from our value (llvmpipe did 1 for frontface and 0 otherwise), which will get us a positive num for frontface and negative for backface. Signed-off-by: Zack Rusin <zackr@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
This commit is contained in:
parent
4f83956347
commit
2d15f4746b
1 changed files with 4 additions and 1 deletions
|
|
@ -182,7 +182,10 @@ 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 a0 = vec4f(gallivm, a0_0f, zero, zero, zero, "facing");
|
||||
LLVMValueRef face_val = LLVMBuildFSub(builder, a0_0f,
|
||||
lp_build_const_float(gallivm, 0.5),
|
||||
"");
|
||||
LLVMValueRef a0 = vec4f(gallivm, face_val, zero, zero, zero, "facing");
|
||||
LLVMValueRef zerovec = vec4f_from_scalar(gallivm, zero, "zero");
|
||||
|
||||
store_coef(gallivm, args, slot, a0, zerovec, zerovec);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue