Closed Bug 643793 Opened 14 years ago Closed 14 years ago

Accelerated layers: portrait mode causes viewport corruption

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Maemo
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: heeen, Unassigned)

Details

Attachments

(2 files, 5 obsolete files)

Attached image screenshot (obsolete) —
As far as I know you need to apply some patches to enable accelerated layers in general: bug 628566, bug 607687 After that, enable accelerated layers and view any page in portrait mode. As a result, the content viewport is: 1) at the wrong position: it should be below the awesomebar, but the awesomebar is overlapped by it, although only the background tiles are visible 2) too short: it is as long as it it wide - it appears there is a mixup of width and height 3) clipped on the right side by the amount the awesomebar is visible from the top - again, it seems like this is a mixup of width and height. The screenshot was made with the above patches, so the colored lines are texture seam debugging info added by me - disregard them.
Adding some people that might be interested
Attached image screenshot of trunk without patches (obsolete) —
Screenshot without my patches. Also, this error might be of interest: ###!!! ASSERTION: root view / pres context visible size mismatch: 'bounds.Size() == mPresContext->GetVisibleArea().Size()', file mozilla-central/layout/base/nsPresShell.cpp, line 4936
I found if you comment out these Scissor calls it looks okay: http://mxr.mozilla.org/mozilla-central/source/gfx/layers/opengl/ContainerLayerOGL.cpp#285
so does the cached version get called? Maybe cached should be updated on resize?
The problem is that clip rects are in layer space, ignoring the world transform of the LayerManager, as set by the Qt mobility orientation code. This patch multiplies the world transform in to fix this.
Attachment #521488 - Flags: review?(vladimir)
Attachment #521488 - Flags: review?(vladimir) → review?(joe)
Comment on attachment 521488 [details] [diff] [review] same as above, without hack to ignore tiling imagelayer r=me provisionally, as long as you add more spaces in-between operators :-), but I wonder if we could automatically apply this on all scissor calls. Matt, what do you think?
Attachment #521488 - Flags: review?(matt.woodrow+bugzilla)
Attachment #521488 - Flags: review?(joe)
Attachment #521488 - Flags: review+
This patch needs to be updated since the shared scissoring code has landed. I don't think we can easily abstract this conversion inside of GLContext because of cases like CreateFBOWithTexture where we are clearing the surface without taking the shader transform into account. Transforming this scissor would clear the wrong region.
Attached patch rebased (obsolete) — Splinter Review
Attachment #521482 - Attachment is obsolete: true
Attachment #521488 - Attachment is obsolete: true
Attachment #521488 - Flags: review?(matt.woodrow+bugzilla)
Comment on attachment 526718 [details] [diff] [review] rebased looks like a simple rebase
Attachment #526718 - Flags: review?(matt.woodrow+bugzilla)
Attachment #526718 - Flags: review?(joe)
Comment on attachment 526718 [details] [diff] [review] rebased My only request is to insert whitespace between operators and operands, a = b and a * b.
Attachment #526718 - Flags: review?(joe) → review+
inserted whitespaces
Attachment #520948 - Attachment is obsolete: true
Attachment #521136 - Attachment is obsolete: true
Attachment #526718 - Attachment is obsolete: true
Attachment #526718 - Flags: review?(matt.woodrow+bugzilla)
Attachment #530581 - Flags: review?(joe)
Attachment #530581 - Flags: review?(joe) → review+
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Is there a way for us to verify this?
Attached image screenshot
This is how I see the page on Nightly and Aurora after I set layers.acceleration.disabled=false and layers.acceleration.force-enabled=true, is it ok? can be marked as verified fixed?
Verified fixed on: Mozilla/5.0 (Android;Linux armv7l;rv:9.0a1)Gecko/20110905 Firefox/9.0a1 Fennec/9.0a1 Device: Samsung Galaxy S OS: Android 2.2
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: