This revision of the patch series take a more straightforward approach to calculating the tolerances for complex functions. Although not simple to discover, it is simple to say that complex floating point equations which have multiply-add sequences that might be optimized into an fma() by a compiler are nearly impossible to test completely, since it is impossible to know how any given compiler optimized (or didn't) for fma(). Also, the multiply-add operation itself is a complex equation that can introduce its own error depending on the input values. This patch series checks those complex functions which are free of potential fma() optimization, but also checks fma() and a*b+c as standalone operations, where error is reasonably under control. This latest revision also takes the opportunity to update the tolerance ranges to meet the new language introduced in the GLSL spec v4.10.
Acked-by: Chris Forbes <[email protected]> Micah Fedke (2): arb_shader_precision: support scalar values in shader_runner_format arb_shader_precision: add framework for calculating tolerances for complex functions - update mako templates to support vectors of tolerances generated_tests/gen_shader_precision_tests.py | 166 ++++++++++++++++----- .../templates/gen_shader_precision_tests/fs.mako | 55 ++++--- .../templates/gen_shader_precision_tests/gs.mako | 55 ++++--- .../templates/gen_shader_precision_tests/vs.mako | 55 ++++--- .../fs-fma-float-float-float.shader_test | 40 +++++ .../fs-manual-fma-float-float-float.shader_test | 40 +++++ .../gs-fma-float-float-float.shader_test | 59 ++++++++ .../gs-manual-fma-float-float-float.shader_test | 59 ++++++++ .../vs-fma-float-float-float.shader_test | 44 ++++++ .../vs-manual-fma-float-float-float.shader_test | 44 ++++++ 10 files changed, 517 insertions(+), 100 deletions(-) create mode 100644 tests/spec/arb_shader_precision/fs-fma-float-float-float.shader_test create mode 100644 tests/spec/arb_shader_precision/fs-manual-fma-float-float-float.shader_test create mode 100644 tests/spec/arb_shader_precision/gs-fma-float-float-float.shader_test create mode 100644 tests/spec/arb_shader_precision/gs-manual-fma-float-float-float.shader_test create mode 100644 tests/spec/arb_shader_precision/vs-fma-float-float-float.shader_test create mode 100644 tests/spec/arb_shader_precision/vs-manual-fma-float-float-float.shader_test -- 2.3.5 _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
