The default bug view has changed. See this FAQ.

With GL layers, panning/zooming causes corruption and wrong colours on Fennec

RESOLVED FIXED in mozilla10

Status

()

Core
Graphics
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: ajuma, Assigned: romaxa)

Tracking

({regression})

Trunk
mozilla10
x86
Mac OS X
regression
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(3 attachments, 2 obsolete attachments)

(Reporter)

Description

6 years ago
When zoomed in and then repeatedly zooming in and out while panning at the same time, I'm seeing a mix of content at different zoom levels, and incorrect colours (e.g. red becoming blue). This is happening both on a Nexus S and on a Galaxy Tab.

The amount of zooming and panning needed to see these problems varies, even on the same page -- sometimes it's right away, and other times it requires a bit longer (no more than a minute though).

This is a regression. Range: http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=58c9046d8485&tochange=a5b88a4500aa
(Reporter)

Comment 1

6 years ago
Created attachment 566628 [details]
Screenshot: wrong colours
(Reporter)

Comment 2

6 years ago
Created attachment 566629 [details]
Screenshot: Mix of content at different zoom levels
(Reporter)

Comment 3

6 years ago
This turns out to be a regression caused by the landing of Bug 690469.
Blocks: 690469
This looks like readback from front to back buffers is being messed up.
(Assignee)

Comment 5

6 years ago
Created attachment 566922 [details] [diff] [review]
Disable lazy backBuffer creation until rootcause fixed.

Ok, problem here is that PaintThebes, BasicThebesBuffer::BeginPaint assume that all buffer operations are finished and buffer is the all the time same (no double-buffering)... and calling SyncBackAndFront just in the beginning of PaintThebes not enough..

I need to think more about fixing that problem with ThebesLayerBuffer, will try to find better place for SyncBackAndFront...
Here is minor fix which does not revert whole Thebes Swap rework, but just making Buffers in sync right after Swap.
Attachment #566922 - Flags: feedback?(ajuma)
(Assignee)

Comment 6

6 years ago
Created attachment 566927 [details] [diff] [review]
Disable lazy backBuffer sync for SingleBuffer mode
Attachment #566922 - Attachment is obsolete: true
Attachment #566922 - Flags: feedback?(ajuma)
Attachment #566927 - Flags: review?(ajuma)
(Reporter)

Comment 7

6 years ago
Comment on attachment 566927 [details] [diff] [review]
Disable lazy backBuffer sync for SingleBuffer mode

This fixes the corruption caused by panning/zooming, but not the colour problem.

Please change the commit message to say what the patch does. 

Also, when this lands, we should keep the bug open while we find the real cause (and deal with the colour issue).
Attachment #566927 - Flags: review?(ajuma) → review+
(Assignee)

Comment 8

6 years ago
Ok, I found what is the problem with thebes layers...
with static front we had front destroyed when backBuffer content type changed... but now we only do that when size is changed...
BackingSurface with locking handle it because we handle properly composition form surface to texture with different format types... but 
GLContext::UploadSurfaceToTexture cannot do that... (another bug?)
(Assignee)

Comment 9

6 years ago
Created attachment 566965 [details] [diff] [review]
Fixed color problem

Ok, ehre is fix for color problem, we should check if new surface and current texture have equal format
Assignee: nobody → romaxa
Attachment #566927 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #566965 - Flags: review?(jones.chris.g)
(Reporter)

Comment 10

6 years ago
(In reply to Oleg Romashin (:romaxa) from comment #9)
> Created attachment 566965 [details] [diff] [review] [diff] [details] [review]
> Fixed color problem

This patch does indeed fix both problems for me.
Status: ASSIGNED → NEW
(Reporter)

Updated

6 years ago
Status: NEW → ASSIGNED
(Assignee)

Updated

6 years ago
Attachment #566965 - Flags: review?(ajuma)
(Reporter)

Updated

6 years ago
Attachment #566965 - Flags: review?(ajuma) → review+
Attachment #566965 - Flags: review?(jones.chris.g) → review+
(Assignee)

Updated

6 years ago
Keywords: checkin-needed
In my queue with a few other bits that are being sent to try first and then onto inbound :-)

https://tbpl.mozilla.org/?tree=Try&rev=488d4a5f274a
Keywords: checkin-needed
https://hg.mozilla.org/integration/mozilla-inbound/rev/77a0851eda76
Target Milestone: --- → mozilla10
https://hg.mozilla.org/mozilla-central/rev/77a0851eda76
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.