Closed Bug 522687 Opened 16 years ago Closed 14 years ago

Large scaled images will show white horizontal lines during rendering

Categories

(Core :: Graphics, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 703231
Tracking Status
blocking2.0 --- -
status2.0 --- wanted
status1.9.1 --- ?

People

(Reporter: whimboo, Unassigned)

References

()

Details

(Keywords: regression, Whiteboard: [webcomptestday])

Attachments

(3 files)

Attached image screenshot
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.3a1pre) Gecko/20091015 Minefield/3.7a1pre ID:20091015030945 While running some layout tests from Litmus I noticed that one of the tests failed. Part of this test is to check if large images are scaled correctly for different actions. When I load such a file (see URL) the image shows up white horizontal lines during the rendering process. Those lines persist until you place another window in-front of the current one and switch back, or just switch the tabs. See the attachment how it looks like for me. It's really hard to reproduce. I have figured out that copying two files into a new profile shows up the same issue again. Sadly this trick does not work on another macbook. I can only see it on my MacBook Pro with the accelerated graphics enabled. I will attach both files with the hope it can be reproduced by someone. Further I did a regression test and the causing fix is on bug 489389 where we reduce the temporary surface for tiling. The checkin was between Firefox 3.5 beta 4 and beta99.
Flags: blocking1.9.2?
Attached file example files
For me the following steps reproduce the problem: 1. Create a new profile 2. Copy the files from this attachment into the profile folder 3. Start Firefox After step 3 the loaded image shows the white stripes.
Running in the debugger shows me the following assertion when having the tab with the image open: Breakpoint 1, nsThebesImage::Draw (this=0x21bb7ae0, aContext=0x19e024d0, aUserSpaceToImageSpace=@0xbfffb350, aFill=@0xbfffb380, aPadding=@0xbfffb420, aSubimage=@0xbfffb450) at /data/build/shiretoko/gfx/src/thebes/nsThebesImage.cpp:463 463 NS_ASSERTION(!aFill.IsEmpty(), "zero dest size --- fix caller");
Attached file GDB stack
Whiteboard: [webcomptestday]
Is this actually a regression? I don't think it is - I've seen this bug reported elsewhere. If it is, a regression window would help, but I'm pretty certain that this isn't new to 3.6.
Joe, see comment 0. The patch on bug 489389 has been caused this regression.
Ah, okay. Well, still not a regression, then. :) Sorry for missing it.
This is a regression from 1.9.0 -> 1.9.1, not from 1.9.1 -> 1.9.2.
blocking2.0: --- → ?
Flags: wanted1.9.2+
Flags: blocking1.9.2?
Flags: blocking1.9.2-
We should fix this. But we've released a couple of releases with it already, so we can't really justify blocking on it.
blocking2.0: ? → -
status2.0: --- → wanted
Sudden thought: we're probably mixing the top line of the blank area with the bottom line of the image. Then, when we get more data off the network, we send a dirty rect of only the added lines, leaving white-ish lines. Another possible option: we're rounding the scaled dirty rect incorrectly. Both of these options would account for the fact that causing a redraw, like by switching tabs, makes this problem go away. This would also be pretty easy to test by inserting delays while sending the image with httpd.js.
Version: 1.9.2 Branch → Trunk
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: