[webkit-changes] [WebKit/WebKit] 3082c3: WebGL passes readPixels skip properties to the und...
Kimmo Kinnunen
noreply at github.com
Mon Jun 5 02:12:31 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3082c39de3162966c1cc7904d79edbef3007c072
https://github.com/WebKit/WebKit/commit/3082c39de3162966c1cc7904d79edbef3007c072
Author: Kimmo Kinnunen <kkinnunen at apple.com>
Date: 2023-06-05 (Mon, 05 Jun 2023)
Changed paths:
M Source/WebCore/html/canvas/WebGL2RenderingContext.cpp
M Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
M Source/WebCore/html/canvas/WebGLRenderingContextBase.h
M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
Log Message:
-----------
WebGL passes readPixels skip properties to the underlying context
https://bugs.webkit.org/show_bug.cgi?id=257595
rdar://110102706
Reviewed by Dan Glastonbury.
Avoid sending GL_PACK_SKIP_PIXELS, GL_PACK_SKIP_ROWS pixelStorei
values to the underlying context. In GPUP implementation that avoids
transfering too much data, these would never be used.
Instead, account the skip in the data pointer and pixel buffer object
offset. The skip parameters are purely client-side properties.
Needs additional validation for the sizes, as now the exact data sizes
must be calculated. These would be needed anyway for the future GPUP
implementation.
* Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::pixelStorei):
(WebCore::WebGL2RenderingContext::readPixels):
* Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::readPixels):
(WebCore::WebGLRenderingContextBase::validateReadPixelsDimensions):
* Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
* Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::readPixelsForPaintResults):
Canonical link: https://commits.webkit.org/264862@main
More information about the webkit-changes
mailing list