Open Bug 1977517 Opened 1 year ago Updated 10 months ago

Make snappint-1.html reftest pass with disabling snap on transform items (bug 1971253)

Categories

(Core :: Graphics: WebRender, defect)

defect

Tracking

()

People

(Reporter: hiro, Unassigned)

References

Details

Attachments

(4 files)

With D254625 attached in bug 1971253 snapping-1.html fails. You can find a failure run here; https://treeherder.mozilla.org/jobs?repo=try&author=hikezoe.birchill%40mozilla.com&selectedTaskRun=XHbIdwimQrm2YYKov75eeA.0

I think this is a WebRender issue. I am going to leave more comments why I think it's an issue in WebRender.

Attaching file is the Gecko display items for snapping-1.html.

The main part is;

   nsDisplayTransform p=0x7949afff5518 f=0x7949b07f9ba0(Block(div)(1)) key=66 bounds(510,6480,6000,6000) componentAlpha(0,0,0  ,0) clip(0,0,48000,60000) asr(<0x7949b07f91b0>) clipChain(0x7949afff5288 <0,0,48000,60000> [0x7949b07f91b0], 0x7949afff5170   <0,0,48000,60000> [root asr])  (opaque 510,6480,6000,6000) reuse-state(None)[ 0 -1; 1 0; 8.5 208; ] prerender(no) childrenBu  ildingRect(x=0, y=0, w=6000, h=6000)
      BackgroundColor p=0x7949afff5440 f=0x7949b07f9ba0(Block(div)(1)) key=5 bounds(0,0,6000,6000) componentAlpha(0,0,0,0) cli  p() asr(<0x7949b07f91b0>) clipChain() uniform  (opaque 0,0,6000,6000) hitTestInfo(0x1) hitTestArea(0,0,6000,6000) reuse-stat  e(None) (rgba 1,0,0,1) backgroundRect(x=0, y=0, w=6000, h=6000)

The nsDisplayTransform bounds is (510, ...), 510 is 8.5px in CSS units. The transform item is rendered at 8px on X axis (you can see it in the try run in comment 0)

Attaching file is the Gecko display items for snapping-1-ref.html.

The main part is;

    BackgroundColor p=0x7949afff5440 f=0x7949afff3ba0(Block(div)(1)) key=5 bounds(510,6480,6000,6000) componentAlpha(0,0,0,0)   clip(0,0,48000,60000) asr(<0x7949afff31b0>) clipChain(0x7949afff5288 <0,0,48000,60000> [0x7949afff31b0], 0x7949afff5170 <0,0  ,48000,60000> [root asr]) uniform  (opaque 510,6480,6000,6000) hitTestInfo(0x1) hitTestArea(510,6480,6000,6000) reuse-state(  None) (rgba 1,0,0,1) backgroundRect(x=510, y=6480, w=6000, h=6000)

The background color item's bounds is also (510,..), it's 8.5px in CSS units. But the background color item is rendered at 9px on X axis.

Attachment #9500825 - Attachment description: Gecko display item for snapping-1-ref.html (reference) → Gecko display items for snapping-1-ref.html (reference)

Here is the WR display items for snapping-1.html.

The display transform item there is;

      nsDisplayTransform p=0x7e8ce260b518 f=0x7e8ce3d8dba0(Block(div)(1)) key=66 bounds(510,6480,6000,6000) componentAlpha(0,0  ,0,0) clip(0,0,48000,60000) asr(<0x7e8ce3d8d1b0>) clipChain(0x7e8ce260b288 <0,0,48000,60000> [0x7e8ce3d8d1b0], 0x7e8ce260b17  0 <0,0,48000,60000> [root asr])  (opaque 510,6480,6000,6000) reuse-state(None)[ 0 -1; 1 0; 8.5 208; ] prerender(no) children  BuildingRect(x=0, y=0, w=6000, h=6000)

Here is the WR display items for snapping-1-ref.html.

The background color item is;

      BackgroundColor p=0x7e8ce260b440 f=0x7e8ce2609ba0(Block(div)(1)) key=5 bounds(510,6480,6000,6000) componentAlpha(0,0,0,0  ) clip(0,0,48000,60000) asr(<0x7e8ce26091b0>) clipChain(0x7e8ce260b288 <0,0,48000,60000> [0x7e8ce26091b0], 0x7e8ce260b170 <0  ,0,48000,60000> [root asr]) uniform  (opaque 510,6480,6000,6000) hitTestInfo(0x1) hitTestArea(510,6480,6000,6000) reuse-stat  e(None) (rgba 1,0,0,1) backgroundRect(x=510, y=6480, w=6000, h=6000)

745025-1.html also fails. I guess the failure is caused by the same issue in WebRender.

Severity: -- → S3

It looks like the reftest doesn't fail on Wayland.

I can repro locally on Wayland now - but it depends on what the display scaling factor is set to (100% reproduces).

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: