diff options
author | Chia-I Wu <olv@lunarg.com> | 2013-09-12 13:00:52 +0800 |
---|---|---|
committer | Chia-I Wu <olv@lunarg.com> | 2013-10-02 15:26:40 +0800 |
commit | 848c0e72f36d0e1e460193a2d30b2f631529156f (patch) | |
tree | a68300ffa0b3a4a30f584f5ea5733328a52a33a8 /src/mesa/drivers/dri/i965/brw_wm.h | |
parent | 72edba16592e6b1589f2db410b9ab2939e196a07 (diff) | |
download | external_mesa3d-848c0e72f36d0e1e460193a2d30b2f631529156f.zip external_mesa3d-848c0e72f36d0e1e460193a2d30b2f631529156f.tar.gz external_mesa3d-848c0e72f36d0e1e460193a2d30b2f631529156f.tar.bz2 |
i965: compute DDX in a subspan based only on top row
Consider only the top-left and top-right pixels to approximate DDX in a 2x2
subspan, unless the application requests a more accurate approximation via
GL_FRAGMENT_SHADER_DERIVATIVE_HINT or this optimization is disabled from the
new driconf option disable_derivative_optimization.
This results in a less accurate approximation. However, it improves the
performance of Xonotic with Ultra settings by 24.3879% +/- 0.832202% (at 95.0%
confidence) on Haswell. No noticeable image quality difference observed.
The improvement comes from faster sample_d. It seems, on Haswell, some
optimizations are introduced to allow faster sample_d when all pixels in a
subspan have the same derivative. I considered SAMPLE_STATE too, which allows
one to control the quality of sample_d on Haswell. But it gave much worse
image quality without giving better performance comparing to this change.
No piglit quick.tests regression on Haswell (tested with v1).
v2: better guess for precompile program key
Signed-off-by: Chia-I Wu <olv@lunarg.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_wm.h')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_wm.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_wm.h b/src/mesa/drivers/dri/i965/brw_wm.h index f7a2c5f..aa786de 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.h +++ b/src/mesa/drivers/dri/i965/brw_wm.h @@ -66,6 +66,7 @@ struct brw_wm_prog_key { GLuint render_to_fbo:1; GLuint clamp_fragment_color:1; GLuint line_aa:2; + GLuint high_quality_derivatives:1; GLushort drawable_height; GLbitfield64 input_slots_valid; |