Closed Bug 622838 Opened 9 years ago Closed 9 years ago

Scaling retained layers when we don't want to be

Categories

(Core :: Graphics, defect)

ARM
Android
defect
Not set

Tracking

()

RESOLVED FIXED
Tracking Status
fennec 2.0b4+ ---

People

(Reporter: pavlov, Assigned: cjones)

References

Details

Attachments

(3 files)

Take 2 phones side by side, one with GL enabled and one without.
In portrait mode, load http://news.google.com (the full version, not the mobile one), and make sure it is zoomed all the way out.

The text on the GL phone will be much more blurred, making it look like we are scaling the layer with bilinear filtering.  We shouldn't be actually scaling the retained buffer at all however.  We want to have as-crisp-as-possible text rendered at the right size, not scaled.

I'm assuming this is some kind of rounding bug, but is pretty important to fix for text readability.
tracking-fennec: --- → 2.0+
Blocks: 598864
Text is also obviously blurry with fennec-desktop+GL on http://timecube.com/, portrait or landscape.
The problem here is that with certain resolution values, multiplying a rect by the resolution will give us very small rounding errors, like say 0.0001.  If the rounding error is to the low side, RoundOut() gives the correct result.  However, if the rounding error is on the high side, we get 1 more pixel than intended, and this causes unintended texture resampling.  Round() is what we want since these rects are all (supposed to be) pixel aligned.  My fault!
Assignee: nobody → jones.chris.g
Attachment #501596 - Flags: review?(jmuizelaar)
tracking-fennec: 2.0+ → 2.0b4+
Attachment #501596 - Flags: review?(jmuizelaar) → review+
http://hg.mozilla.org/mozilla-central/rev/aacbdfc1029e
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.