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>
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user