summaryrefslogtreecommitdiffstats
path: root/SConstruct
diff options
context:
space:
mode:
authorTobias Klausmann <[email protected]>2014-06-23 23:01:42 +0200
committerIlia Mirkin <[email protected]>2014-06-23 19:23:16 -0400
commit98a86f61a8d17eaafaf5907debc7735aa20610d5 (patch)
tree0c881c244905f4beb2ddd2c549a4d0c6180a12f1 /SConstruct
parent604e54de78aa00430b1d61d030656e387866e840 (diff)
nv50/ir: allow gl_ViewportIndex to work on non-provoking vertices
Previously, if we had something like: gl_ViewportIndex = idx; for(int i = 0; i < gl_in.length(); i++) { gl_Position = gl_in[i].gl_Position; EmitVertex(); } EndPrimitive(); The right viewport index would not be set on the primitive because the last vertex is the provoking one. However blob drivers appear to move the gl_ViewportIndex write into the for loop, allowing the application to be ignorant of this detail. While the application is technically wrong here, because the blob does it and other drivers appear to implicitly work this way as well, we add a buffer register that viewport index writes go into, which is then exported before every EmitVertex() call. This fixes the remaining piglit tests in ARB_viewport_array for nv50/nvc0. Signed-off-by: Tobias Klausmann <[email protected]> Cc: "10.2" <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>
Diffstat (limited to 'SConstruct')
0 files changed, 0 insertions, 0 deletions