From: Kenneth Graunke Date: Thu, 26 Oct 2017 22:22:45 +0000 (-0700) Subject: i965: Only set key->high_quality_derivatives when it matters. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=992e2cf57f5a1eaab13ea6a3b5904b8248af8c83;p=mesa.git i965: Only set key->high_quality_derivatives when it matters. This avoids recompiles for shaders that don't use explicit derivatives when ctx->Hint.FragmentShaderDerivative == GL_NICEST. For example, GFXBench 5 Aztec Ruins sets the GL_NICEST hint before compiling any shaders, but none of them use dFdx() or dFdy() - only implicit derivatives. This doesn't eliminate any recompiles, but does eliminate one of the reasons for doing so. Reviewed-by: Jason Ekstrand --- diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c index ad1c8aed79e..a1e39b55fcb 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.c +++ b/src/mesa/drivers/dri/i965/brw_wm.c @@ -521,6 +521,7 @@ brw_wm_populate_key(struct brw_context *brw, struct brw_wm_prog_key *key) /* _NEW_HINT */ key->high_quality_derivatives = + prog->info.uses_fddx_fddy && ctx->Hint.FragmentShaderDerivative == GL_NICEST; if (devinfo->gen < 6)