reftest/tests/layout/reftests/bugs/433700.htm is failing with OMTP enabled

RESOLVED FIXED in Firefox 56

Status

()

Core
Graphics: Layers
RESOLVED FIXED
5 months ago
4 months ago

People

(Reporter: mchang, Assigned: mchang)

Tracking

(Depends on: 1 bug, Blocks: 1 bug)

unspecified
mozilla56
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox56 fixed)

Details

(Whiteboard: [gfx-noted])

Attachments

(2 attachments)

(Assignee)

Description

5 months ago
Created attachment 8884466 [details]
433700.html

+++ This bug was initially created as a clone of Bug #1369541 +++

Display list:

SolidColor p=0x11af480 f=0x183235d0(Viewport(-1)) bounds(0,0,76680,79470) layerBounds(0,0,76680,79470) visible(0,0,76680,79470) componentAlpha(0,0,0,0) clip() asr() clipChain() uniform ref=0x183235d0 agr=0x183235d0 (opaque 0,0,76680,79470) (rgba 255,255,255,255) layer=0x1198000
LayerEventRegions p=0x11af010 f=0x183235d0(Viewport(-1)) bounds(0,0,0,0) layerBounds(0,0,0,0) visible(0,0,76680,79470) componentAlpha(0,0,0,0) clip() asr() clipChain() ref=0x183235d0 agr=0x183235d0 (hitRegion < (x=0, y=0, w=76680, h=79470); >)
LayerEventRegions p=0x11af0e8 f=0x18323b20(Canvas(html)(-1)) bounds(0,0,0,0) layerBounds(0,0,0,0) visible(0,0,76680,79470) componentAlpha(0,0,0,0) clip(0,0,76680,79470) asr(<0x18323db0>) clipChain(<0,0,76680,79470> [0x18323db0], <0,0,76680,79470> [root asr]) ref=0x183235d0 agr=0x18323b20 (hitRegion < (x=0, y=0, w=76680, h=79470); >)
CanvasBackgroundColor p=0x11af1e8 f=0x18323b20(Canvas(html)(-1)) bounds(0,0,76680,79470) layerBounds(0,0,76680,79470) visible(0,0,76680,79470) componentAlpha(0,0,0,0) clip(0,0,76680,79470) asr(<0x18323db0>) clipChain(<0,0,76680,79470> [0x18323db0], <0,0,76680,79470> [root asr]) uniform ref=0x183235d0 agr=0x18323b20 (opaque 0,0,76680,79470) (rgba 255,255,255,255) layer=0x1194400
FixedPosition p=0x11af3a0 f=0x183b5ea0(Block(div)(1) id:test6) bounds(3720,14400,11760,2436) layerBounds(120,0,11760,2436) visible(3600,14400,12000,2436) componentAlpha(7275,14856,4507,1140) clip(0,0,76680,79470) asr() clipChain(<0,0,76680,79470> [root asr]) ref=0x183235d0 agr=0x183b5ea0 layer=0x1195c00
  LayerEventRegions p=0x11af230 f=0x183b5ea0(Block(div)(1) id:test6) bounds(0,0,0,0) layerBounds(-3600,-14400,0,0) visible(3600,14400,12000,2436) componentAlpha(0,0,0,0) clip() asr() clipChain() ref=0x183235d0 agr=0x183b5ea0 (hitRegion < (x=3600, y=14400, w=12000, h=2436); >)
  FieldSetBorder p=0x11af2f0 f=0x183b62c8(FieldSet(fieldset)(1)) bounds(3720,14400,11760,2436) layerBounds(120,0,11760,2436) visible(3600,14400,12000,2436) componentAlpha(0,0,0,0) clip() asr() clipChain() ref=0x183235d0 agr=0x183b5ea0 layer=0x1196000
  Text p=0x11af330 f=0x183b6980(Text(0)"FIELDSET") bounds(7275,14856,4507,1140) layerBounds(3675,456,4507,1140) visible(3600,14400,12000,2436) componentAlpha(7275,14856,4507,1140) clip() asr() clipChain() ref=0x183235d0 agr=0x183b5ea0 ("FIELDSET") layer=0x1196000
Painting --- layer tree:
ClientLayerManager (0x118c8e0) --- in content order
  ClientContainerLayer (0x1110c00) [visible=< (x=0, y=0, w=2556, h=2649); >] [opaqueContent]
    ClientPaintedLayer (0x1198000) [clip=(x=0, y=0, w=0, h=0)] [not visible]
      ContentClient (0x1104350)
    ClientColorLayer (0x1198800) [visible=< (x=0, y=0, w=2556, h=2649); >] { hitregion=< (x=0, y=0, w=2556, h=2649); >} [opaqueContent] [color=rgba(255, 255, 255, 1.000000)] [bounds=(x=0, y=0, w=2556, h=2649)]
    ClientPaintedLayer (0x1194400) [clip=(x=0, y=0, w=0, h=0)] [not visible] [metrics0={ [metrics={ [cb=(x=0.000000, y=0.000000, w=2556.000000, h=2649.000000)] [sr=(x=0.000000, y=0.000000, w=1278.000000, h=1324.500000)] [s=(0,0)] [dp=(x=0.000000, y=0.000000, w=1278.000000, h=1324.500000)] [cdp=(x=0.000000, y=0.000000, w=0.000000, h=0.000000)] [scrollId=2] [rcd] [z=2] }] [color=rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=2556, h=2649)] }]
      ContentClient (0x58b9de0)
    ClientColorLayer (0x1195800) [visible=< (x=0, y=0, w=2556, h=2649); >] { hitregion=< (x=0, y=0, w=2556, h=2649); >} [opaqueContent] [metrics0={ [metrics={ [cb=(x=0.000000, y=0.000000, w=2556.000000, h=2649.000000)] [sr=(x=0.000000, y=0.000000, w=1278.000000, h=1324.500000)] [s=(0,0)] [dp=(x=0.000000, y=0.000000, w=1278.000000, h=1324.500000)] [cdp=(x=0.000000, y=0.000000, w=0.000000, h=0.000000)] [scrollId=2] [rcd] [z=2] }] [color=rgba(255, 255, 255, 1.000000)] [clip=(x=0, y=0, w=2556, h=2649)] }] [color=rgba(255, 255, 255, 1.000000)] [bounds=(x=0, y=0, w=2556, h=2649)]
    ClientContainerLayer (0x1195c00) [clip=(x=0, y=0, w=2556, h=2649)] [visible=< (x=124, y=480, w=392, h=82); >] [componentAlpha] [isFixedPosition scrollId=2 sides=0x9 anchor=(0,0)]
      ClientPaintedLayer (0x1196000) [transform=[ 1 0; 0 1; 120 480; ]] [effective-transform=[ 1 0; 0 1; 120 480; ]] [visible=< (x=4, y=0, w=392, h=82); >] { hitregion=< (x=0, y=0, w=400, h=82); >} [componentAlpha] [valid=< (x=4, y=0, w=392, h=82); >]
        ContentClient (0xf276690)


Min test case attached. We get random black squares.
(Assignee)

Comment 1

5 months ago
This clear rect is causing lots of problems - http://searchfox.org/mozilla-central/source/gfx/layers/client/ClientPaintedLayer.cpp#267
(Assignee)

Comment 2

5 months ago
Created attachment 8884473 [details] [diff] [review]
Don't clear DrawTargetCapture when starting OMTP

We were getting random black squares because we cleared the rect when creating DrawTargetCapture. I was doing this because DrawTargetCapture started from WebRenderPaintedBlobLayer. However, DrawTargetSkia already clears itself to black during init. I didn't see where we clear it for DrawTargetD2D1, but TextureClient always allocates the textures with a clear. 

During ContentClient::BeginPaint, this test case has component alpha and so TextureClient clears this to white [1], which we would then override with black with ClearRect(). WRBlobLayer may be hitting the same bug, except inverse? I'm not sure if the WR side needs the clear or not. If so, I can delete the clear on the WRPaintedBlobLayer too.

[1] http://searchfox.org/mozilla-central/source/gfx/layers/client/ContentClient.cpp#328
Attachment #8884473 - Flags: review?(jmuizelaar)
Comment on attachment 8884473 [details] [diff] [review]
Don't clear DrawTargetCapture when starting OMTP

Review of attachment 8884473 [details] [diff] [review]:
-----------------------------------------------------------------

WRPaintedBlobLayer probably shouldn't have the clear either.
Attachment #8884473 - Flags: review?(jmuizelaar) → review+

Comment 4

4 months ago
Pushed by mchang@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/f691dec773ee
Don't clear rect when init DrawTargetCapture with OMTP. r=jrmuizel

Comment 5

4 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/f691dec773ee
Status: NEW → RESOLVED
Last Resolved: 4 months ago
status-firefox56: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
You need to log in before you can comment on or make changes to this bug.