RESOLVED FIXED Bug 200752
WebGPU layers don't show up sometimes
https://bugs.webkit.org/show_bug.cgi?id=200752
Summary WebGPU layers don't show up sometimes
Simon Fraser (smfr)
Reported 2019-08-14 19:19:16 PDT
WebGPU layers don't show up sometimes
Attachments
Patch (13.40 KB, patch)
2019-08-14 19:21 PDT, Simon Fraser (smfr)
no flags
Patch (12.92 KB, patch)
2019-08-19 16:37 PDT, Justin Fan
no flags
Patch (13.66 KB, patch)
2019-08-19 16:46 PDT, Justin Fan
no flags
Patch for landing (13.98 KB, patch)
2019-08-19 16:53 PDT, Justin Fan
no flags
Patch for landing (14.17 KB, patch)
2019-08-19 16:55 PDT, Justin Fan
no flags
Patch (1.19 KB, patch)
2019-08-20 12:05 PDT, Justin Fan
no flags
Simon Fraser (smfr)
Comment 1 2019-08-14 19:21:02 PDT
Simon Fraser (smfr)
Comment 2 2019-08-14 19:21:04 PDT
Simon Fraser (smfr)
Comment 3 2019-08-14 19:22:44 PDT
The patch needs to apply, and needs some tests.
Justin Fan
Comment 4 2019-08-15 16:31:24 PDT
Have patch that applies and fix does work but working on making a simple test case to expose the original issue.
Justin Fan
Comment 5 2019-08-19 16:37:46 PDT
Justin Fan
Comment 6 2019-08-19 16:46:49 PDT
Dean Jackson
Comment 7 2019-08-19 16:49:53 PDT
Comment on attachment 376719 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=376719&action=review > Source/WebCore/ChangeLog:12 > + Reproduction of and writing a test for original issue is non-trivial. > + Deferring test creation in favor of higher priority WebGPU efforts. > + Normal WebGPU behavior unaffected and covered by existing tests. Remove this. You'll just have to live with the shame and not give excuses :) > Source/WebCore/html/canvas/GPUBasedCanvasRenderingContext.cpp:53 > + if (renderBox && renderBox->hasAcceleratedCompositing()) We might even want to ASSERT(renderBox->hasAcceleratedCompositing()) > Source/WebCore/rendering/RenderLayerBacking.cpp:2515 > #if ENABLE(WEBGL) || ENABLE(ACCELERATED_2D_CANVAS) Add || ENABLE(WEBGPU)
Justin Fan
Comment 8 2019-08-19 16:53:32 PDT
(In reply to Dean Jackson from comment #7) > Comment on attachment 376719 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=376719&action=review > > > Source/WebCore/ChangeLog:12 > > + Reproduction of and writing a test for original issue is non-trivial. > > + Deferring test creation in favor of higher priority WebGPU efforts. > > + Normal WebGPU behavior unaffected and covered by existing tests. > > Remove this. You'll just have to live with the shame and not give excuses :) > > > Source/WebCore/rendering/RenderLayerBacking.cpp:2515 > > #if ENABLE(WEBGL) || ENABLE(ACCELERATED_2D_CANVAS) > > Add || ENABLE(WEBGPU) Addressed! tyvm
Justin Fan
Comment 9 2019-08-19 16:53:49 PDT
Created attachment 376720 [details] Patch for landing
Justin Fan
Comment 10 2019-08-19 16:55:21 PDT
Created attachment 376721 [details] Patch for landing
WebKit Commit Bot
Comment 11 2019-08-19 17:38:02 PDT
Comment on attachment 376721 [details] Patch for landing Clearing flags on attachment: 376721 Committed r248879: <https://trac.webkit.org/changeset/248879>
WebKit Commit Bot
Comment 12 2019-08-19 17:38:04 PDT
All reviewed patches have been landed. Closing bug.
Darin Adler
Comment 13 2019-08-19 18:15:32 PDT
Comment on attachment 376721 [details] Patch for landing View in context: https://bugs.webkit.org/attachment.cgi?id=376721&action=review > Source/WebCore/html/canvas/GPUBasedCanvasRenderingContext.cpp:39 > +GPUBasedCanvasRenderingContext::GPUBasedCanvasRenderingContext(CanvasBase& canvas) > + : CanvasRenderingContext(canvas) > + , ActiveDOMObject(canvas.scriptExecutionContext()) > +{ > +} What is the rationale behind making this no longer inlined? > Source/WebCore/html/canvas/GPUBasedCanvasRenderingContext.h:56 > + GPUBasedCanvasRenderingContext(CanvasBase&); This should be marked explicit (not a new thing).
Justin Fan
Comment 14 2019-08-20 11:54:48 PDT
Comment on attachment 376721 [details] Patch for landing View in context: https://bugs.webkit.org/attachment.cgi?id=376721&action=review >> Source/WebCore/html/canvas/GPUBasedCanvasRenderingContext.cpp:39 >> +} > > What is the rationale behind making this no longer inlined? I wasn't the one who first made this change, but the way I understand it, unless there's a measurable run-time performance benefit, putting implementation of class methods in .cpp is safer for better compile behavior. Before this patch there was no cpp file for the header. >> Source/WebCore/html/canvas/GPUBasedCanvasRenderingContext.h:56 >> + GPUBasedCanvasRenderingContext(CanvasBase&); > > This should be marked explicit (not a new thing). Addressing!
Justin Fan
Comment 15 2019-08-20 12:05:23 PDT
Reopening to attach new patch.
Justin Fan
Comment 16 2019-08-20 12:05:24 PDT
Justin Fan
Comment 17 2019-08-20 13:40:38 PDT
Comment on attachment 376788 [details] Patch Clearing flags on attachment: 376788 Committed r248915: <https://trac.webkit.org/changeset/248915>
Justin Fan
Comment 18 2019-08-20 13:40:41 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.