| Summary: | GPUP WebGL: WTF::RefCountedBase::applyRefDerefThreadingCheck() fails due to RemoteGraphicsContextGL::paintPixelBufferToImageBuffer | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Kimmo Kinnunen <kkinnunen> | ||||
| Component: | WebGL | Assignee: | Kimmo Kinnunen <kkinnunen> | ||||
| Status: | RESOLVED FIXED | ||||||
| Severity: | Normal | CC: | dino, jonlee, kbr, kkinnunen, koivisto, webkit-bug-importer | ||||
| Priority: | P2 | Keywords: | InRadar | ||||
| Version: | Other | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=236382 | ||||||
| Bug Depends on: | |||||||
| Bug Blocks: | 217211 | ||||||
| Attachments: |
|
||||||
|
Description
Kimmo Kinnunen
2022-02-11 06:42:55 PST
Created attachment 452003 [details]
Patch
Comment on attachment 452003 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=452003&action=review > Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp:261 > + // FIXME: This should not be needed. Maybe ArrayBufferView should be ThreadSafeRefCounted as it is used in accross multiple threads. > + // The call below is synchronous and we transfer the ownership of the `pixelBuffer`. > + if (pixelBuffer) > + pixelBuffer->data().disableThreadingChecks(); > m_renderingBackend->dispatch([&, contextAttributes = m_context->contextAttributes()]() mutable { The ownership transfer here is not super obvious in the code. Committed r289802 (247267@main): <https://commits.webkit.org/247267@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 452003 [details]. |