summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/etnaviv/etnaviv_rasterizer.c
diff options
context:
space:
mode:
authorLucas Stach <[email protected]>2017-09-29 14:17:41 +0200
committerLucas Stach <[email protected]>2017-10-10 12:32:24 +0200
commitca949e00d803abd7500192cc4804e77763c0aff3 (patch)
tree3866c5f15a1b87a8ca8c9515efb6f54eb3dbb22a /src/gallium/drivers/etnaviv/etnaviv_rasterizer.c
parent0ab59f120b40191c60489ebc5383d6a886697c40 (diff)
etnaviv: update HW headers and fix provoking vertex
Now that the real meaning of the 2 bits in PA_SYSTEM_MODE is known, we can set them according to the rasterizer state, which fixes uses that are setting provoking vertex first. Signed-off-by: Lucas Stach <[email protected]> Reviewed-by: Wladimir J. van der Laan <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
Diffstat (limited to 'src/gallium/drivers/etnaviv/etnaviv_rasterizer.c')
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_rasterizer.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/etnaviv/etnaviv_rasterizer.c b/src/gallium/drivers/etnaviv/etnaviv_rasterizer.c
index 56f2735e8a1..c8627b1a9ab 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_rasterizer.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_rasterizer.c
@@ -61,7 +61,8 @@ etna_rasterizer_state_create(struct pipe_context *pctx,
/* XXX anything else? */
/* XXX bottom_edge_rule */
cs->PA_SYSTEM_MODE =
- COND(so->half_pixel_center, VIVS_PA_SYSTEM_MODE_UNK0 | VIVS_PA_SYSTEM_MODE_UNK4);
+ COND(!so->flatshade_first, VIVS_PA_SYSTEM_MODE_PROVOKING_VERTEX_LAST) |
+ COND(so->half_pixel_center, VIVS_PA_SYSTEM_MODE_HALF_PIXEL_CENTER);
/* so->scissor overrides the scissor, defaulting to the whole framebuffer,
* with the scissor state */