[Bug 89647] New: dEQP-GLES3: mix does not produce correct results with infinities

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Mar 18 01:07:25 PDT 2015


https://bugs.freedesktop.org/show_bug.cgi?id=89647

            Bug ID: 89647
           Summary: dEQP-GLES3: mix does not produce correct results with
                    infinities
           Product: Mesa
           Version: git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/DRI/i965
          Assignee: idr at freedesktop.org
          Reporter: itoral at igalia.com
        QA Contact: intel-3d-bugs at lists.freedesktop.org

List of affected tests:

dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.lowp_vertex.scalar
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.lowp_vertex.vec2
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.lowp_vertex.vec3
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.lowp_vertex.vec4
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.lowp_fragment.scalar
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.lowp_fragment.vec2
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.lowp_fragment.vec3
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.lowp_fragment.vec4
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.mediump_vertex.scalar
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.mediump_vertex.vec2
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.mediump_vertex.vec3
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.mediump_vertex.vec4
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.mediump_fragment.scalar
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.mediump_fragment.vec2
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.mediump_fragment.vec3
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.mediump_fragment.vec4
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.highp_vertex.scalar
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.highp_vertex.vec2
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.highp_vertex.vec3
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.highp_vertex.vec4
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.highp_fragment.scalar
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.highp_fragment.vec2
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.highp_fragment.vec3
dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.highp_fragment.vec4

This is the same problem described for modf in bug 89645 but for mix.

In gen6+, mix() is implemented as an lrp hardware operation, so I guess there
is no way around this other than adding conditionals to check for infinities
and resolve them directly.

An alternative would be to implement it as gen5 (when lrp was not available in
hardware) by doing x*(1-a)+y*a, which works better in some cases but still
produces NaN for some (specifically when we need to multiply infinity with 0).
This method should have a performance penalty.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20150318/490a73d3/attachment.html>


More information about the intel-3d-bugs mailing list