diff options
author | Chia-I Wu <[email protected]> | 2013-09-12 13:00:52 +0800 |
---|---|---|
committer | Chia-I Wu <[email protected]> | 2013-10-02 15:26:40 +0800 |
commit | 848c0e72f36d0e1e460193a2d30b2f631529156f (patch) | |
tree | a68300ffa0b3a4a30f584f5ea5733328a52a33a8 /src/gallium/drivers/r600/r600_llvm.c | |
parent | 72edba16592e6b1589f2db410b9ab2939e196a07 (diff) |
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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Reviewed-by: Chris Forbes <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_llvm.c')
0 files changed, 0 insertions, 0 deletions