Closed Bug 610945 Opened 15 years ago Closed 15 years ago

layout/reftests/svg/filters/feSpecularLighting-1.svg seems to fail on opt Linux 32-bit

Categories

(Core :: SVG, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla2.0b8

People

(Reporter: heycam, Assigned: heycam)

Details

Attachments

(2 files, 1 obsolete file)

http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1289370425.1289371094.2597.gz Only two pixels different, on the top-right and bottom-left corners of the hole cut out of the path whose edges are lit by the filter.
Assignee: nobody → cam
Status: NEW → ASSIGNED
Pending further investigation, I marked this test as random-on-linux (since it passed on 64-bit linux, & passed on a debug 32-bit linux build on tryserver): http://hg.mozilla.org/mozilla-central/rev/f174fb3f8e59
Version: unspecified → Trunk
A sqrt call in the filter calculations results in a different value on Linux 32-bit opt vs debug. On opt it's using the fsqrt instruction (80-bit FPU instruction), while on debug it's calling libc's sqrt() function, which calls fsqrt and does a bunch of other stuff which I assume is to account for the excess precision that must be discarded if working in a strict IEEE 754 way. I'd say both renderings are within the bounds of "correct". roc and I discussed what to do with this, including doing some threshold checking specifically in the test, including the currently-failing image and having it used for Linux 32-bit opt, or papering over the relevant pixels. I'm going to go with the second option.
After some more discussions I'm going with the papering-over-the-pixels approach. Checking for particular differences in calculations on different platforms will probably be too fragile.
This just changes the test to draw small black rects over the troublesome areas.
Attachment #490718 - Flags: review?(roc)
Comment on attachment 490718 [details] [diff] [review] Make reftests/svg/filters/feSpecularLighting-1.svg pass on all platforms (v1) >diff --git a/layout/reftests/svg/filters/feSpecularLighting-1.svg b/layout/reftests/svg/filters/feSpecularLighting-1.svg > <rect width='100' height='100' fill='blue'/> > <path d='M0,0 h100 v100 h-100 z M20,20 v60 h60 v-60 z' filter='url(#f)'/> >+ <rect x='78' y='18' width='4' height='4'/> >+ <rect x='18' y='78' width='4' height='4'/> > </svg> Might be worth adding a comment to the test, just before these added rects, saying something like: <!-- Cover two spots in the test whose rendering differs in opt builds vs. debug builds (see Bug 610945). -->
(In reply to comment #5) > Might be worth adding a comment to the test, just before these added rects, > saying something like: > <!-- Cover two spots in the test whose rendering differs > in opt builds vs. debug builds (see Bug 610945). --> Yes, good idea.
Add in the comment.
Attachment #490718 - Attachment is obsolete: true
Attachment #490720 - Flags: review?(roc)
Attachment #490718 - Flags: review?(roc)
Keywords: checkin-needed
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → mozilla2.0b8
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: