[webkit-changes] [WebKit/WebKit] 05bd97: WebXROpaqueFramebuffer queries state from GPUP

Kimmo Kinnunen noreply at github.com
Fri Nov 17 06:05:05 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 05bd97a27164d3373bd61101c2f995d292bc36f0
      https://github.com/WebKit/WebKit/commit/05bd97a27164d3373bd61101c2f995d292bc36f0
  Author: Kimmo Kinnunen <kkinnunen at apple.com>
  Date:   2023-11-17 (Fri, 17 Nov 2023)

  Changed paths:
    M Source/WebCore/CMakeLists.txt
    M Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/html/canvas/WebGL2RenderingContext.cpp
    M Source/WebCore/html/canvas/WebGL2RenderingContext.h
    M Source/WebCore/html/canvas/WebGLDrawInstancedBaseVertexBaseInstance.cpp
    M Source/WebCore/html/canvas/WebGLMultiDraw.cpp
    M Source/WebCore/html/canvas/WebGLMultiDrawInstancedBaseVertexBaseInstance.cpp
    M Source/WebCore/html/canvas/WebGLRenderingContext.cpp
    M Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
    M Source/WebCore/html/canvas/WebGLRenderingContextBase.h
    A Source/WebCore/html/canvas/WebGLUtilities.cpp
    A Source/WebCore/html/canvas/WebGLUtilities.h

  Log Message:
  -----------
  WebXROpaqueFramebuffer queries state from GPUP
https://bugs.webkit.org/show_bug.cgi?id=264248
rdar://117992444

Reviewed by Dan Glastonbury.

The context state is available in WebGLRenderingContextBase, and thus
it should not be queried from the underlying OpenGL context.

Add Scoped*Restore classes to encapsulate restoring the state from
the WebGL context. These will also be used when default framebuffer
implementation is moved from the underlying context to the webgl context
level.

Move all the scoped helpers to WebGLUtilities.h so they're available
to all the WebGL implementation files.

This is work towards supporting premultipliedAlpha=false compositing.

* Source/WebCore/CMakeLists.txt:
* Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp:
(WebCore::WebXROpaqueFramebuffer::startFrame):
(WebCore::WebXROpaqueFramebuffer::endFrame):
(WebCore::WebXROpaqueFramebuffer::setupFramebuffer):
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::drawRangeElements):
* Source/WebCore/html/canvas/WebGL2RenderingContext.h:
* Source/WebCore/html/canvas/WebGLDrawInstancedBaseVertexBaseInstance.cpp:
(WebCore::WebGLDrawInstancedBaseVertexBaseInstance::drawArraysInstancedBaseInstanceWEBGL):
(WebCore::WebGLDrawInstancedBaseVertexBaseInstance::drawElementsInstancedBaseVertexBaseInstanceWEBGL):
* Source/WebCore/html/canvas/WebGLMultiDraw.cpp:
(WebCore::WebGLMultiDraw::multiDrawArraysWEBGL):
(WebCore::WebGLMultiDraw::multiDrawArraysInstancedWEBGL):
(WebCore::WebGLMultiDraw::multiDrawElementsWEBGL):
(WebCore::WebGLMultiDraw::multiDrawElementsInstancedWEBGL):
* Source/WebCore/html/canvas/WebGLMultiDrawInstancedBaseVertexBaseInstance.cpp:
(WebCore::WebGLMultiDrawInstancedBaseVertexBaseInstance::multiDrawArraysInstancedBaseInstanceWEBGL):
(WebCore::WebGLMultiDrawInstancedBaseVertexBaseInstance::multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL):
* Source/WebCore/html/canvas/WebGLRenderingContext.cpp:
* Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::drawArrays):
(WebCore::WebGLRenderingContextBase::drawElements):
(WebCore::WebGLRenderingContextBase::drawArraysInstanced):
(WebCore::WebGLRenderingContextBase::drawElementsInstanced):
(WebCore::ScopedTightUnpackParameters::ScopedTightUnpackParameters): Deleted.
(WebCore::ScopedTightUnpackParameters::~ScopedTightUnpackParameters): Deleted.
(WebCore::ScopedTightUnpackParameters::set): Deleted.
(WebCore::ScopedDisableRasterizerDiscard::ScopedDisableRasterizerDiscard): Deleted.
(WebCore::ScopedDisableRasterizerDiscard::~ScopedDisableRasterizerDiscard): Deleted.
(WebCore::ScopedEnableBackbuffer::ScopedEnableBackbuffer): Deleted.
(WebCore::ScopedEnableBackbuffer::~ScopedEnableBackbuffer): Deleted.
(WebCore::ScopedDisableScissorTest::ScopedDisableScissorTest): Deleted.
(WebCore::ScopedDisableScissorTest::~ScopedDisableScissorTest): Deleted.
(WebCore::InspectorScopedShaderProgramHighlight::InspectorScopedShaderProgramHighlight): Deleted.
(WebCore::InspectorScopedShaderProgramHighlight::~InspectorScopedShaderProgramHighlight): Deleted.
(WebCore::InspectorScopedShaderProgramHighlight::showHighlight): Deleted.
(WebCore::InspectorScopedShaderProgramHighlight::hideHighlight): Deleted.
* Source/WebCore/html/canvas/WebGLRenderingContextBase.h:

Canonical link: https://commits.webkit.org/270886@main




More information about the webkit-changes mailing list