Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3082c39de3162966c1cc7904d79edbef3007c072
      
https://github.com/WebKit/WebKit/commit/3082c39de3162966c1cc7904d79edbef3007c072
  Author: Kimmo Kinnunen <[email protected]>
  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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to