[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