Because the type of the facing attribute is unsigned, the whole computation was done in the unsigned range.
Fixes fbo-fragcoord2, glsl1-gl_FrontFacing var (2) and glsl-fs-frontfacing tests. --- src/gallium/drivers/softpipe/sp_fs_exec.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/gallium/drivers/softpipe/sp_fs_exec.c b/src/gallium/drivers/softpipe/sp_fs_exec.c index 779b8c4..cf19696 100644 --- a/src/gallium/drivers/softpipe/sp_fs_exec.c +++ b/src/gallium/drivers/softpipe/sp_fs_exec.c @@ -128,7 +128,7 @@ exec_run( const struct sp_fragment_shader_variant *var, &machine->QuadPos); /* convert 0 to 1.0 and 1 to -1.0 */ - machine->Face = (float) (quad->input.facing * -2 + 1); + machine->Face = (float) ((signed)quad->input.facing * -2 + 1); quad->inout.mask &= tgsi_exec_machine_run( machine ); if (quad->inout.mask == 0) -- 1.7.7.1.msysgit.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev