Closed Bug 625357 Opened 12 years ago Closed 12 years ago

Wrong offset when copying tee surfaces in PushGroupAndCopyBackground


(Core :: Graphics, defect)

Not set



Tracking Status
blocking2.0 --- betaN+


(Reporter: mstange, Assigned: roc)



(Keywords: testcase)


(4 files)

Attached file testcase
With the patches for bug 593733 I'm seeing painting errors behind the tab favicons while scrolling the tab bar. Those favicons have opacity:0.8.

The problem seems to be that PushGroupAndCopyBackground copies the background to the wrong place in the new surface. Is this a cross-platform bug in PushGroupAndCopyBackground, or is something wrong on the OS X side of things?

This testcase reproduces the problem for me. Does the testcase fail with D3D9, too?
Yes, it fails with D3D9.
blocking2.0: --- → betaN+
I think the problem is that device offsets set on the source and destination gfxTeeSurfaces aren't honoured when we start messing with the individual surfaces --- they don't have the device offsets set on them.
There's a bit of a problem in that cairo_tee_surface_create copies the device offsets from the 'master' surface into itself.
I guess all we need to do is synchronize the device offsets of the subsurfaces with the device offset of the tee surface before we use them here.
Attached patch fixSplinter Review
Assignee: nobody → roc
Attachment #503700 - Flags: review?(jmuizelaar)
It took a while for me to understand that the device transform of the tee surface and the device transforms of the subsurfaces should be applied ... partly because of a bug in cairo_tee_surface_create that I just mailed the cairo list about. Anyway, that means instead of setting the device offsets of the subsurfaces, we should just account for the device transforms of the tee surfaces expliclity when copying the subsurfaces.
Whiteboard: [needs review]
Attachment #503700 - Flags: review?(jmuizelaar) → review+
Whiteboard: [needs review] → [needs landing]

Test disabled on Mac:
Visually the test is OK but there must be some difference between Quartz blending and GL blending.
Closed: 12 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Whiteboard: [needs landing]
You need to log in before you can comment on or make changes to this bug.