[Bug 89645] New: dEQP-GLES3: modf does not produce correct results with infinities

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


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

            Bug ID: 89645
           Summary: dEQP-GLES3: modf 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

Created attachment 114429
  --> https://bugs.freedesktop.org/attachment.cgi?id=114429&action=edit
Fixes modf with infinities by adding a conditional at the IR level

List of affected tests:

dEQP-GLES3.functional.shaders.builtin_functions.precision.modf.lowp_vertex
dEQP-GLES3.functional.shaders.builtin_functions.precision.modf.lowp_fragment
dEQP-GLES3.functional.shaders.builtin_functions.precision.modf.mediump_vertex
dEQP-GLES3.functional.shaders.builtin_functions.precision.modf.mediump_fragment
dEQP-GLES3.functional.shaders.builtin_functions.precision.modf.highp_vertex
dEQP-GLES3.functional.shaders.builtin_functions.precision.modf.highp_fragment

The problem is that Mesa implements modf as trunc to get the integer part, then
subtracts that from the parameter to obtain the remainder and that gives a NaN
instead of 0. I tried calculating the remainder directly with ir_unop_fract but
that also gives as NaN as result, so it looks like there is no way around this
issue.

Of course, we can add a conditional check to modf in order to detect this case
specifically and solve it directly, but that would hurt all emissions of the
function, so I am not sure that we want to do this. Attached is a patch that
does this at the IR level (even if we want to do this maybe we want to do it
inside i965, not sure) and fixes the tests.

-- 
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/e1c75ed7/attachment.html>


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