Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f4b3b4be605183a7cf4e3d79cdada5bb73668d2b https://github.com/WebKit/WebKit/commit/f4b3b4be605183a7cf4e3d79cdada5bb73668d2b Author: Kimmo Kinnunen <kkinnu...@apple.com> Date: 2023-11-06 (Mon, 06 Nov 2023)
Changed paths: M Source/WebCore/CMakeLists.txt 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 A Source/WebCore/html/canvas/WebGLDefaultFramebuffer.cpp A Source/WebCore/html/canvas/WebGLDefaultFramebuffer.h M Source/WebCore/html/canvas/WebGLRenderingContext.cpp M Source/WebCore/html/canvas/WebGLRenderingContext.h M Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp M Source/WebCore/html/canvas/WebGLRenderingContextBase.h M Source/WebCore/platform/graphics/GraphicsContextGL.cpp M Source/WebCore/platform/graphics/GraphicsContextGL.h M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp M Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm M Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.cpp M Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h M Source/WebKit/WebProcess/GPU/graphics/cocoa/RemoteGraphicsContextGLProxyCocoa.mm M Source/WebKit/WebProcess/GPU/graphics/gbm/RemoteGraphicsContextGLProxyGBM.cpp M Source/WebKit/WebProcess/GPU/graphics/wc/RemoteGraphicsContextGLProxyWC.cpp M Tools/TestWebKitAPI/Tests/WebCore/cocoa/TestGraphicsContextGLCocoa.mm Log Message: ----------- WebGL default framebuffer state management should be part of WebGLRenderingContext https://bugs.webkit.org/show_bug.cgi?id=263963 rdar://117788476 Reviewed by Dan Glastonbury. Move the default framebuffer dirty buffer accounting from GraphicsContextGL to WebGLDefaultFramebuffer class. This is the beginning of moving all the default framebuffer state and objects to the WebGL layer. Currently the implementation is in lower level at GraphicsContextGL level. This is work towards implementing premultipliedAlpha=false compositing. * Source/WebCore/CMakeLists.txt: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h: * Source/WebCore/html/canvas/WebGL2RenderingContext.cpp: (WebCore::WebGL2RenderingContext::initializeDefaultObjects): (WebCore::WebGL2RenderingContext::updateBuffersToAutoClear): (WebCore::WebGL2RenderingContext::initializeVertexArrayObjects): Deleted. * Source/WebCore/html/canvas/WebGL2RenderingContext.h: * Source/WebCore/html/canvas/WebGLDefaultFramebuffer.cpp: Added. (WebCore::WebGLDefaultFramebuffer::create): (WebCore::WebGLDefaultFramebuffer::WebGLDefaultFramebuffer): (WebCore::WebGLDefaultFramebuffer::reshape): (WebCore::WebGLDefaultFramebuffer::markBuffersClear): (WebCore::WebGLDefaultFramebuffer::markAllUnpreservedBuffersDirty): * Source/WebCore/html/canvas/WebGLDefaultFramebuffer.h: Copied from Source/WebCore/html/canvas/WebGLRenderingContext.h. (WebCore::WebGLDefaultFramebuffer::object const): (WebCore::WebGLDefaultFramebuffer::hasStencil const): (WebCore::WebGLDefaultFramebuffer::hasDepth const): (WebCore::WebGLDefaultFramebuffer::dirtyBuffers const): * Source/WebCore/html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::initializeDefaultObjects): (WebCore::WebGLRenderingContext::initializeVertexArrayObjects): Deleted. * Source/WebCore/html/canvas/WebGLRenderingContext.h: * Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp: (WebCore::ScopedDisableRasterizerDiscard::ScopedDisableRasterizerDiscard): (WebCore::ScopedDisableRasterizerDiscard::~ScopedDisableRasterizerDiscard): (WebCore::ScopedEnableBackbuffer::ScopedEnableBackbuffer): (WebCore::ScopedEnableBackbuffer::~ScopedEnableBackbuffer): (WebCore::WebGLRenderingContextBase::initializeNewContext): (WebCore::WebGLRenderingContextBase::initializeContextState): (WebCore::WebGLRenderingContextBase::initializeDefaultObjects): (WebCore::WebGLRenderingContextBase::markContextChangedAndNotifyCanvasObserver): (WebCore::WebGLRenderingContextBase::clearIfComposited): (WebCore::WebGLRenderingContextBase::reshape): (WebCore::WebGLRenderingContextBase::setFramebuffer): (WebCore::WebGLRenderingContextBase::prepareForDisplay): (WebCore::WebGLRenderingContextBase::restoreStateAfterClear): Deleted. * Source/WebCore/html/canvas/WebGLRenderingContextBase.h: * Source/WebCore/platform/graphics/GraphicsContextGL.cpp: (WebCore::GraphicsContextGL::markContextChanged): Deleted. (WebCore::GraphicsContextGL::setBuffersToAutoClear): Deleted. (WebCore::GraphicsContextGL::getBuffersToAutoClear const): Deleted. (WebCore::GraphicsContextGL::markLayerComposited): Deleted. * Source/WebCore/platform/graphics/GraphicsContextGL.h: * Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp: (WebCore::GraphicsContextGLANGLE::reshape): * Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm: (WebCore::GraphicsContextGLCocoa::prepareForDisplayWithFinishedSignal): * Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.cpp: (WebCore::GraphicsContextGLGBM::prepareForDisplay): * Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp: (WebCore::GraphicsContextGLTextureMapperANGLE::prepareForDisplay): * Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp: (WebKit::RemoteGraphicsContextGL::markContextChanged): Deleted. * Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h: * Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in: * Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp: (WebKit::RemoteGraphicsContextGLProxy::markContextChanged): Deleted. * Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h: * Source/WebKit/WebProcess/GPU/graphics/cocoa/RemoteGraphicsContextGLProxyCocoa.mm: * Source/WebKit/WebProcess/GPU/graphics/gbm/RemoteGraphicsContextGLProxyGBM.cpp: (WebKit::RemoteGraphicsContextGLProxyGBM::prepareForDisplay): * Source/WebKit/WebProcess/GPU/graphics/wc/RemoteGraphicsContextGLProxyWC.cpp: * Tools/TestWebKitAPI/Tests/WebCore/cocoa/TestGraphicsContextGLCocoa.mm: (TestWebKitAPI::changeContextContents): (TestWebKitAPI::TEST_P): Canonical link: https://commits.webkit.org/270263@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes