Closed Bug 1533292 Opened 9 months ago Closed 7 months ago

Reddit logo is blurry with Webrender enabled

Categories

(Core :: Graphics: WebRender, defect, P3)

67 Branch
defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox-esr60 --- unaffected
firefox65 --- unaffected
firefox66 --- unaffected
firefox67 --- fix-optional
firefox68 --- affected

People

(Reporter: ke5trel, Assigned: aosmond)

References

(Blocks 2 open bugs, )

Details

(Keywords: regression, testcase)

Attachments

(1 file)

Attached file Reduced test case

Go to https://new.reddit.com with Webrender enabled and note the main reddit logo SVG in the top left corner is blurry. Reduced test case requires an SVG in a flex element with center alignment and a top or bottom border.

Regression window:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=fdd03ab546fa01aa3705192b2445d7311d7ed997&tochange=e32dd08ec5db619b4c66dc1504a97e0abfc27a84

Regressed by Bug 1453935.

I see bug 1526756 did not resolve this. The work not rounding in Gecko seems to help...

Assignee: nobody → aosmond
Priority: -- → P2
Priority: P2 → P3
See Also: → 1534215

From an initial investigation it appears that this may not be easy to fix.
The display list looks like:

                    item: PushReferenceFrame((
                        reference_frame: (
                            kind: Transform,
                            transform_style: Flat,
                            transform: Value((1.7201834917068481, 0, 0, 0, 0, 1.7201834917068481, 0, 0, 0, 0, 1, 0, 0.02788696438074112, 0, 0, 1)),
                            id: (3, (1, 13)),
                        ),
                    )),
                    layout: (
                        rect: ((19.200000762939453, 35.79999923706055), (0, 0)),
                        clip_rect: ((19.200000762939453, 35.79999923706055), (0, 0)),
                        is_backface_visible: true,
                        tag: None,
                    ),

                item: Image((
                        image_key: ((4), 81),
                        stretch_size: (133.12533569335938, 42.43733215332031),
                        tile_spacing: (133.12533569335938, 42.43733215332031),
                        image_rendering: Auto,
                        alpha_type: PremultipliedAlpha,
                        color: (
                            r: 1,
                            g: 1,
                            b: 1,
                            a: 1,
                        ),
                    )),
                    layout: (
                        rect: ((-0.5975449681282043, 0), (133.12533569335938, 42.43733215332031)),
                        clip_rect: ((-0.5975449681282043, 0), (133.12533569335938, 42.43733215332031)),
                        is_backface_visible: true,
                        tag: Some((6, 3)),
                    ),

There's a lot of fractional values that need to cancel out just right for this to end up in the right spot, so it's believable that we're not getting there.

Fortunately, I don't think this is severe enough to block release.

Blocks: wr-67
No longer blocks: stage-wr-trains

Marking fix-optional for 67 based on comment 2.

Blocks: wr-68
No longer blocks: wr-67

This will be improved by the patches in bug 1540200, but not completely up to par with non-WebRender.

Status: NEW → RESOLVED
Closed: 7 months ago
Depends on: 608812
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.