i965: Only set key->high_quality_derivatives when it matters.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 26 Oct 2017 22:22:45 +0000 (15:22 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 30 Oct 2017 03:54:16 +0000 (20:54 -0700)
commit992e2cf57f5a1eaab13ea6a3b5904b8248af8c83
treed9d9974b5d528d531c1bc62e59d7f4cdddbe0ce9
parent86c68bb88618c5138a22bbbcfe6137d29f9f5f67
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 <jason@jlekstrand.net>
src/mesa/drivers/dri/i965/brw_wm.c