Closed Bug 1379322 Opened 8 years ago Closed 8 years ago

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

Categories

(Core :: Graphics: Layers, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla56
Tracking Status
firefox56 --- fixed

People

(Reporter: mchang, Assigned: mchang)

References

Details

(Whiteboard: [gfx-noted])

Attachments

(2 files)

Attached file 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.
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+
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
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: