diff options
author | Kenneth Graunke <[email protected]> | 2017-10-26 15:22:45 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2017-10-29 20:54:16 -0700 |
commit | 992e2cf57f5a1eaab13ea6a3b5904b8248af8c83 (patch) | |
tree | d9d9974b5d528d531c1bc62e59d7f4cdddbe0ce9 /src/mesa | |
parent | 86c68bb88618c5138a22bbbcfe6137d29f9f5f67 (diff) |
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 <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_wm.c | 1 |
1 files changed, 1 insertions, 0 deletions
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) |