llvmpipe: use provoking vertex for layer/viewport
authorRoland Scheidegger <sroland@vmware.com>
Thu, 3 Dec 2015 00:18:14 +0000 (01:18 +0100)
committerRoland Scheidegger <sroland@vmware.com>
Fri, 4 Dec 2015 02:42:19 +0000 (03:42 +0100)
commitddaf8d7b10c57cc44ed0d69554e54b3573007315
treea5cd040ddd62163e61ac788adff87bc54f8c0c9e
parent83e65ca8314ab2cee65ff169d0ae296ee9cd2c5e
llvmpipe: use provoking vertex for layer/viewport

d3d10 actually requires using provoking (first) vertex. GL is happy with
any vertex (as long as we say it's undefined in the corresponding queries).
Up to now we actually used vertex 0 for viewport index, and vertex 1 for
layer (for tris), which really didn't make sense (probably a typo). Also,$
since we reorder vertices of clockwise triangle, that actually meant we used
a different vertex depending if the traingle was cw or ccw (still ok by gl).
However, it should be consistent with what draw (clip) does, and using
provoking vertex seems like the sensible choice (draw clip will be fixed
next as it is totally broken there).
While here, also use the correct viewport always even when not needed
in setup (we pass it down to jit fragment shader it might be needed there
for getting correct near/far depth values).

No piglit changes.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
src/gallium/drivers/llvmpipe/lp_setup_line.c
src/gallium/drivers/llvmpipe/lp_setup_tri.c