[webkit-reviews] review granted: [Bug 221748] GPU process WebGL context toDataURL does not work for non-premultiplied contexts : [Attachment 419971] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Feb 12 08:59:47 PST 2021
Myles C. Maxfield <mmaxfield at apple.com> has granted Kimmo Kinnunen
<kkinnunen at apple.com>'s request for review:
Bug 221748: GPU process WebGL context toDataURL does not work for
non-premultiplied contexts
https://bugs.webkit.org/show_bug.cgi?id=221748
Attachment 419971: Patch
https://bugs.webkit.org/attachment.cgi?id=419971&action=review
--- Comment #2 from Myles C. Maxfield <mmaxfield at apple.com> ---
Comment on attachment 419971
--> https://bugs.webkit.org/attachment.cgi?id=419971
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=419971&action=review
> Source/WebKit/ChangeLog:15
> + This does not make any failing test pass, as the tests test also
premultiplied
> + case, which needs other currently unimplemented code.
:(
>
Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h:1
178
> + returnValue = m_context->paintRenderingResultsToImageData();
I see this is the handler for paintRenderingResultsToImageData(), and I see the
web process saying sendSync(PaintRenderingResultsToImageData) below, but it
looks like the web process always says sendSync(GetImageData), and I don't see
this patch adding a handler for getImageData() in the GPU process. Am I missing
something? Is it autogenerated?
> Source/WebKit/Platform/IPC/ImageDataReference.h:-33
> -class ImageDataReference {
:)
>
Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGene
rated.cpp:2445
> +RefPtr<WebCore::ImageData>
RemoteGraphicsContextGLProxy::paintRenderingResultsToImageData()
Why is this checked into a file called *Generated.cpp? I'd expect generated
files not to be checked in.
>
Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGene
rated.cpp:2449
> + auto sendResult =
sendSync(Messages::RemoteGraphicsContextGL::PaintRenderingResultsToImageData(),
Messages::RemoteGraphicsContextGL::PaintRenderingResultsToImageData::Reply(retu
rnValue));
What's the difference between paintRenderingResultsToImageData() and
getImageData()? Why do we need both?
> Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:150
> + sendSync(Messages::RemoteRenderingBackend::GetImageData(outputFormat,
srcRect, renderingResourceIdentifier),
Messages::RemoteRenderingBackend::GetImageData::Reply(imageData),
m_renderingBackendIdentifier, 1_s);
so sad we need a synchronous message here. I think it's unavoidable though.
> Tools/Scripts/generate-gpup-webgl:252
> -
> +
:)
More information about the webkit-reviews
mailing list