Mesa (master): etnaviv: remove flat shading workaround

Lucas Stach lynxeye at kemper.freedesktop.org
Tue Oct 10 10:46:19 UTC 2017


Module: Mesa
Branch: master
Commit: 0ab59f120b40191c60489ebc5383d6a886697c40
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0ab59f120b40191c60489ebc5383d6a886697c40

Author: Lucas Stach <l.stach at pengutronix.de>
Date:   Thu Jun  8 17:06:02 2017 +0200

etnaviv: remove flat shading workaround

It turned out not to be a hardware bug, but the shader compiler
emitting wrong varying component use information. With that fixed
we can turn flat shading back on.

Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
Reviewed-by: Philipp Zabel <p.zabel at pengutronix.de>
Reviewed-by: Wladimir J. van der Laan <laanwj at gmail.com>

---

 src/gallium/drivers/etnaviv/etnaviv_rasterizer.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/src/gallium/drivers/etnaviv/etnaviv_rasterizer.c b/src/gallium/drivers/etnaviv/etnaviv_rasterizer.c
index 4990fd1802..56f2735e8a 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_rasterizer.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_rasterizer.c
@@ -38,10 +38,6 @@ etna_rasterizer_state_create(struct pipe_context *pctx,
    struct etna_rasterizer_state *cs;
    struct etna_context *ctx = etna_context(pctx);
 
-    /* Disregard flatshading on GC880+, as a HW bug there seem to disable all
-     * varying interpolation if it's enabled */
-   bool flatshade = ctx->screen->model < 880 ? so->flatshade : false;
-
    if (so->fill_front != so->fill_back)
       DBG("Different front and back fill mode not supported");
 
@@ -51,7 +47,7 @@ etna_rasterizer_state_create(struct pipe_context *pctx,
 
    cs->base = *so;
 
-   cs->PA_CONFIG = (flatshade ? VIVS_PA_CONFIG_SHADE_MODEL_FLAT : VIVS_PA_CONFIG_SHADE_MODEL_SMOOTH) |
+   cs->PA_CONFIG = (so->flatshade ? VIVS_PA_CONFIG_SHADE_MODEL_FLAT : VIVS_PA_CONFIG_SHADE_MODEL_SMOOTH) |
                    translate_cull_face(so->cull_face, so->front_ccw) |
                    translate_polygon_mode(so->fill_front) |
                    COND(so->point_quad_rasterization, VIVS_PA_CONFIG_POINT_SPRITE_ENABLE) |




More information about the mesa-commit mailing list