Open Bug 558087 Opened 11 years ago Updated 10 years ago

avoid non-pixel-aligned clips for mobile's Image Layer composite

Categories

(Core :: Graphics, defect)

x86
Linux
defect
Not set
normal

Tracking

()

ASSIGNED

People

(Reporter: romaxa, Assigned: romaxa)

References

Details

(Keywords: perf)

Attachments

(1 file, 3 obsolete files)

Currently we are painting BasicLayers with PixelSnappedRectangleAndSetPattern
http://mxr.mozilla.org/mozilla-central/source/gfx/layers/basic/BasicLayers.cpp#360

And it cause slow composition for scaled layer.

Idea is to make fix for PixelSnappedRectangleAndSetPattern similar to bug
https://bugzilla.mozilla.org/show_bug.cgi?id=459150
Attachment #437860 - Flags: review?(vladimir)
This is making video layer composition 2x faster.
Comment on attachment 437860 [details] [diff] [review]
 snap to pixels more aggressively for mobile

bouncing over to roc -- he's the snapmaster
Attachment #437860 - Flags: review?(vladimir) → review?(roc)
Why don't we just do this for all configurations? I think that would be fine.
Attachment #437860 - Flags: review?(roc) → review-
Comment on attachment 437860 [details] [diff] [review]
 snap to pixels more aggressively for mobile

>+    if (UserToDevicePixelSnapped(r), PR_TRUE) {

do you perhaps mean?

>+    if (UserToDevicePixelSnapped(r, PR_TRUE)) {
Attached patch Snap to pixels by default (obsolete) — Splinter Review
Attachment #437951 - Flags: review?(roc)
> do you perhaps mean?
> 
> >+    if (UserToDevicePixelSnapped(r, PR_TRUE)) {

Oh, yep.
I have sent BUG558087 try-request for test
Attached patch Snap everything (obsolete) — Splinter Review
Assignee: nobody → romaxa
Attachment #437860 - Attachment is obsolete: true
Attachment #437951 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #437958 - Flags: review?(roc)
Attachment #437951 - Flags: review?(roc)
Sent try server build for last patch
"BUG558087-2"
Sorry, I misunderstood you on IRC.

I don't think we should change the default parameter for gfxContext::Rectangle.

I think we should take your original patch, but for all platforms, so that when gfxContext::Rectangle is snapping to pixels, we allow snapping even if there's a scale factor in the transform.
Comment on attachment 437958 [details] [diff] [review]
Snap everything 

Then I think second patch should be fine
Attachment #437958 - Attachment is obsolete: true
Attachment #437958 - Flags: review?(roc)
Comment on attachment 437951 [details] [diff] [review]
Snap to pixels by default

Not sure, but probably we should remove layout/base/nsPresShell.cpp changes in this case...
Attachment #437951 - Flags: review?(roc)
Attachment #437996 - Flags: review?(roc)
Attachment #437951 - Flags: review?(roc)
Hmm, is PixelSnappedRectangleAndSetPattern actually correct here? I think we need to do something to set up scaling of the pattern correctly.
You need to log in before you can comment on or make changes to this bug.