Mesa (master): i965: Only set key->flat_shade if COL0/COL1 are written.

Kenneth Graunke kwg at kemper.freedesktop.org
Wed Aug 23 18:55:27 UTC 2017


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

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Aug 22 14:23:17 2017 -0700

i965: Only set key->flat_shade if COL0/COL1 are written.

This may reduce some recompiles.

Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>

---

 src/mesa/drivers/dri/i965/brw_wm.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c
index c9c4504590..e1555d60c5 100644
--- a/src/mesa/drivers/dri/i965/brw_wm.c
+++ b/src/mesa/drivers/dri/i965/brw_wm.c
@@ -531,7 +531,9 @@ brw_wm_populate_key(struct brw_context *brw, struct brw_wm_prog_key *key)
       key->stats_wm = brw->stats_wm;
 
    /* _NEW_LIGHT */
-   key->flat_shade = (ctx->Light.ShadeModel == GL_FLAT);
+   key->flat_shade =
+      (prog->info.inputs_read & (VARYING_BIT_COL0 | VARYING_BIT_COL1)) &&
+      (ctx->Light.ShadeModel == GL_FLAT);
 
    /* _NEW_FRAG_CLAMP | _NEW_BUFFERS */
    key->clamp_fragment_color = ctx->Color._ClampFragmentColor;




More information about the mesa-commit mailing list