[webkit-changes] [WebKit/WebKit] d257ea: WebGL has a lot of #if USE(ANGLE) blocks, making i...

Kimmo Kinnunen noreply at github.com
Wed Sep 28 01:12:20 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d257ea20c5996ada3c009a6a2f4a639f92c0e2ca
      https://github.com/WebKit/WebKit/commit/d257ea20c5996ada3c009a6a2f4a639f92c0e2ca
  Author: Kimmo Kinnunen <kkinnunen at apple.com>
  Date:   2022-09-28 (Wed, 28 Sep 2022)

  Changed paths:
    M LayoutTests/platform/glib/TestExpectations
    M Source/ThirdParty/ANGLE/CMakeLists.txt
    M Source/ThirdParty/ANGLE/PlatformGTK.cmake
    M Source/ThirdParty/ANGLE/PlatformWPE.cmake
    M Source/ThirdParty/ANGLE/include/CMakeLists.txt
    M Source/WTF/wtf/Platform.h
    M Source/WebCore/CMakeLists.txt
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp
    M Source/WebCore/Modules/webxr/WebXRWebGLLayer.cpp
    M Source/WebCore/PlatformMac.cmake
    M Source/WebCore/SourcesGTK.txt
    M Source/WebCore/SourcesWPE.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/html/canvas/ANGLEInstancedArrays.cpp
    M Source/WebCore/html/canvas/WebGL2RenderingContext.cpp
    M Source/WebCore/html/canvas/WebGLBuffer.cpp
    M Source/WebCore/html/canvas/WebGLBuffer.h
    M Source/WebCore/html/canvas/WebGLCompressedTextureS3TC.cpp
    M Source/WebCore/html/canvas/WebGLDrawBuffers.cpp
    M Source/WebCore/html/canvas/WebGLFramebuffer.cpp
    M Source/WebCore/html/canvas/WebGLFramebuffer.h
    M Source/WebCore/html/canvas/WebGLProgram.cpp
    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/html/canvas/WebGLShader.h
    M Source/WebCore/html/canvas/WebGLTexture.cpp
    M Source/WebCore/html/canvas/WebGLTexture.h
    M Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.cpp
    M Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.h
    M Source/WebCore/platform/TextureMapper.cmake
    R Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp
    R Source/WebCore/platform/graphics/ANGLEWebKitBridge.h
    M Source/WebCore/platform/graphics/GraphicsContextGL.cpp
    M Source/WebCore/platform/graphics/angle/ANGLEHeaders.h
    M Source/WebCore/platform/graphics/angle/ANGLEUtilities.cpp
    M Source/WebCore/platform/graphics/angle/ANGLEUtilities.h
    M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
    M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h
    M Source/WebCore/platform/graphics/cairo/GraphicsContextGLCairo.cpp
    M Source/WebCore/platform/graphics/cg/GraphicsContextGLCG.cpp
    M Source/WebCore/platform/graphics/cocoa/ANGLEUtilitiesCocoa.cpp
    M Source/WebCore/platform/graphics/cocoa/ANGLEUtilitiesCocoa.h
    M Source/WebCore/platform/graphics/gbm/GraphicsContextGLANGLELinux.cpp
    M Source/WebCore/platform/graphics/gbm/GraphicsContextGLFallback.cpp
    M Source/WebCore/platform/graphics/gbm/GraphicsContextGLFallback.h
    M Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.cpp
    M Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.h
    M Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBMTextureMapper.cpp
    M Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBMTextureMapper.h
    M Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp
    M Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.h
    R Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGCGLLayer.cpp
    R Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGCGLLayer.h
    R Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGL.cpp
    R Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGL.h
    R Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGLCommon.cpp
    R Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGLCommon.h
    R Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGLES.cpp
    R Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGLES.h
    R Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.cpp
    R Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.h
    R Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp
    R Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGLES.cpp
    M Source/WebCore/platform/graphics/texmap/BitmapTextureGL.h
    R Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp
    R Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapper.h
    M Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp
    M Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.h
    M Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp
    M Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp
    M Source/cmake/OptionsGTK.cmake
    M Source/cmake/OptionsMac.cmake
    M Source/cmake/OptionsWPE.cmake
    M Source/cmake/OptionsWinCairo.cmake

  Log Message:
  -----------
  WebGL has a lot of #if USE(ANGLE) blocks, making it hard to maintain
https://bugs.webkit.org/show_bug.cgi?id=229405
rdar://problem/82517622

Reviewed by Žan Doberšek.

Remove non-ANGLE WebGL implementations. This makes ANGLE the only WebGL backend
available. WebGL specific alterations to OpenGL semantics is implemented
correctly only in ANGLE. The OpenGL and OpenGL ES backends were not
being updated to match the WebGL specification or passing the tests.

Remove USE_ANGLE from WebKit level. Use USE_ANGLE for the ports
that want to control whether OpenGL is ANGLE or OpenGL is the platform
OpenGL.

ENABLE(WEBGL) && USE(ANGLE) is now ENABLE(WEBGL).

* Source/ThirdParty/ANGLE/CMakeLists.txt:
* Source/ThirdParty/ANGLE/PlatformGTK.cmake:
* Source/ThirdParty/ANGLE/PlatformWPE.cmake:
* Source/ThirdParty/ANGLE/include/CMakeLists.txt:
* Source/WTF/wtf/Platform.h:
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp:
(WebCore::WebXROpaqueFramebuffer::startFrame):
(WebCore::WebXROpaqueFramebuffer::endFrame):
(WebCore::WebXROpaqueFramebuffer::setupFramebuffer):
* Source/WebCore/Modules/webxr/WebXRWebGLLayer.cpp:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/html/canvas/ANGLEInstancedArrays.cpp:
(WebCore::ANGLEInstancedArrays::supported):
* Source/WebCore/html/canvas/WebGLCompressedTextureS3TC.cpp:
(WebCore::WebGLCompressedTextureS3TC::supported):
* Source/WebCore/html/canvas/WebGLDrawBuffers.cpp:
(WebCore::WebGLDrawBuffers::supported):
* Source/WebCore/html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer):
(WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
(WebCore::getClearBitsByAttachmentType): Deleted.
(WebCore::getClearBitsByFormat): Deleted.
(WebCore::isAttachmentComplete): Deleted.
(WebCore::WebGLFramebuffer::getColorBufferWidth const): Deleted.
(WebCore::WebGLFramebuffer::getColorBufferHeight const): Deleted.
(WebCore::WebGLFramebuffer::getColorBufferFormat const): Deleted.
(WebCore::WebGLFramebuffer::checkStatus const): Deleted.
(WebCore::WebGLFramebuffer::onAccess): Deleted.
(WebCore::WebGLFramebuffer::initializeAttachments): Deleted.
* Source/WebCore/html/canvas/WebGLFramebuffer.h:
* Source/WebCore/html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::cacheActiveAttribLocations):
* Source/WebCore/html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::initializeVertexArrayObjects):
* Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::initializeNewContext):
(WebCore::WebGLRenderingContextBase::setupFlags):
(WebCore::WebGLRenderingContextBase::~WebGLRenderingContextBase):
(WebCore::WebGLRenderingContextBase::reshape):
(WebCore::WebGLRenderingContextBase::bindTexture):
(WebCore::WebGLRenderingContextBase::checkFramebufferStatus):
(WebCore::WebGLRenderingContextBase::clear):
(WebCore::WebGLRenderingContextBase::compileShader):
(WebCore::WebGLRenderingContextBase::compressedTexImage2D):
(WebCore::WebGLRenderingContextBase::compressedTexSubImage2D):
(WebCore::WebGLRenderingContextBase::copyTexSubImage2D):
(WebCore::WebGLRenderingContextBase::deleteTexture):
(WebCore::WebGLRenderingContextBase::disable):
(WebCore::WebGLRenderingContextBase::disableVertexAttribArray):
(WebCore::WebGLRenderingContextBase::validateVertexAttributes):
(WebCore::WebGLRenderingContextBase::drawArrays):
(WebCore::WebGLRenderingContextBase::drawElements):
(WebCore::WebGLRenderingContextBase::enable):
(WebCore::WebGLRenderingContextBase::enableVertexAttribArray):
(WebCore::WebGLRenderingContextBase::finish):
(WebCore::WebGLRenderingContextBase::flush):
(WebCore::WebGLRenderingContextBase::framebufferRenderbuffer):
(WebCore::WebGLRenderingContextBase::framebufferTexture2D):
(WebCore::WebGLRenderingContextBase::generateMipmap):
(WebCore::WebGLRenderingContextBase::getProgramParameter):
(WebCore::WebGLRenderingContextBase::getUniform):
(WebCore::WebGLRenderingContextBase::getUniformLocation):
(WebCore::WebGLRenderingContextBase::getVertexAttrib):
(WebCore::WebGLRenderingContextBase::linkProgramWithoutInvalidatingAttribLocations):
(WebCore::WebGLRenderingContextBase::readPixels):
(WebCore::WebGLRenderingContextBase::renderbufferStorage):
(WebCore::WebGLRenderingContextBase::shaderSource):
(WebCore::WebGLRenderingContextBase::texImageSourceHelper):
(WebCore::WebGLRenderingContextBase::texImageArrayBufferViewHelper):
(WebCore::WebGLRenderingContextBase::texImageImpl):
(WebCore::WebGLRenderingContextBase::texImage2DBase):
(WebCore::WebGLRenderingContextBase::texSubImage2DBase):
(WebCore::WebGLRenderingContextBase::validateTexFunc):
(WebCore::WebGLRenderingContextBase::validateTexFuncParameters):
(WebCore::WebGLRenderingContextBase::validateTexFuncFormatAndType):
(WebCore::WebGLRenderingContextBase::validateForbiddenInternalFormats):
(WebCore::WebGLRenderingContextBase::copyTexImage2D):
(WebCore::WebGLRenderingContextBase::texParameter):
(WebCore::WebGLRenderingContextBase::uniform1i):
(WebCore::WebGLRenderingContextBase::uniform1iv):
(WebCore::WebGLRenderingContextBase::validateTextureBinding):
(WebCore::WebGLRenderingContextBase::validateTexture2DBinding):
(WebCore::WebGLRenderingContextBase::vertexAttribfImpl):
(WebCore::WebGLRenderingContextBase::vertexAttribfvImpl):
(WebCore::WebGLRenderingContextBase::setFramebuffer):
(WebCore::WebGLRenderingContextBase::restoreCurrentTexture2D):
(WebCore::WebGLRenderingContextBase::drawArraysInstanced):
(WebCore::WebGLRenderingContextBase::drawElementsInstanced):
(WebCore::clip2D): Deleted.
(WebCore::getChannelBitsByFormat): Deleted.
(WebCore::possibleFormatAndTypeForInternalFormat): Deleted.
(WebCore::WebGLRenderingContextBase::validateNPOTTextureLevel): Deleted.
(WebCore::WebGLRenderingContextBase::validateDrawArrays): Deleted.
(WebCore::WebGLRenderingContextBase::validateDrawElements): Deleted.
(WebCore::internalFormatTheme): Deleted.
(WebCore::numberOfComponentsForFormat): Deleted.
(WebCore::numberOfComponentsForInternalFormat): Deleted.
(WebCore::isRGBFormat): Deleted.
(WebCore::WebGLRenderingContextBase::checkTextureCompleteness): Deleted.
(WebCore::WebGLRenderingContextBase::createFallbackBlackTextures1x1): Deleted.
(WebCore::WebGLRenderingContextBase::isTexInternalFormatColorBufferCombinationValid): Deleted.
(WebCore::WebGLRenderingContextBase::getBoundReadFramebufferColorFormat): Deleted.
(WebCore::WebGLRenderingContextBase::getBoundReadFramebufferWidth): Deleted.
(WebCore::WebGLRenderingContextBase::getBoundReadFramebufferHeight): Deleted.
(WebCore::calculateBytesForASTC): Deleted.
(WebCore::WebGLRenderingContextBase::validateCompressedTexFuncData): Deleted.
(WebCore::WebGLRenderingContextBase::validateCompressedTexDimensions): Deleted.
(WebCore::WebGLRenderingContextBase::validateCompressedTexSubDimensions): Deleted.
(WebCore::WebGLRenderingContextBase::initVertexAttrib0): Deleted.
(WebCore::WebGLRenderingContextBase::validateSimulatedVertexAttrib0): Deleted.
(WebCore::WebGLRenderingContextBase::simulateVertexAttrib0): Deleted.
(WebCore::WebGLRenderingContextBase::restoreStatesAfterVertexAttrib0Simulation): Deleted.
(WebCore::WebGLRenderingContextBase::applyStencilTest): Deleted.
* Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
* Source/WebCore/html/canvas/WebGLShader.h:
* Source/WebCore/html/canvas/WebGLTexture.cpp:
(WebCore::WebGLTexture::WebGLTexture):
(WebCore::WebGLTexture::setTarget):
(WebCore::WebGLTexture::setParameteri): Deleted.
(WebCore::WebGLTexture::setParameterf): Deleted.
(WebCore::WebGLTexture::setLevelInfo): Deleted.
(WebCore::WebGLTexture::generateMipmapLevelInfo): Deleted.
(WebCore::WebGLTexture::getInternalFormat const): Deleted.
(WebCore::WebGLTexture::getType const): Deleted.
(WebCore::WebGLTexture::getWidth const): Deleted.
(WebCore::WebGLTexture::getHeight const): Deleted.
(WebCore::WebGLTexture::isValid const): Deleted.
(WebCore::WebGLTexture::markInvalid): Deleted.
(WebCore::WebGLTexture::isNPOT): Deleted.
(WebCore::WebGLTexture::isNPOT const): Deleted.
(WebCore::WebGLTexture::needToUseBlackTexture const): Deleted.
(WebCore::WebGLTexture::canGenerateMipmaps): Deleted.
(WebCore::WebGLTexture::isCompressed const): Deleted.
(WebCore::WebGLTexture::setCompressed): Deleted.
(WebCore::WebGLTexture::mapTargetToIndex const): Deleted.
(WebCore::internalFormatIsFloatType): Deleted.
(WebCore::internalFormatIsHalfFloatType): Deleted.
(WebCore::WebGLTexture::update): Deleted.
(WebCore::WebGLTexture::getLevelInfo const): Deleted.
* Source/WebCore/html/canvas/WebGLTexture.h:
* Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.cpp:
(WebCore::WebGLVertexArrayObjectBase::WebGLVertexArrayObjectBase):
(WebCore::WebGLVertexArrayObjectBase::unbindBuffer):
(WebCore::WebGLVertexArrayObjectBase::updateVertexAttrib0): Deleted.
* Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.h:
* Source/WebCore/platform/TextureMapper.cmake:
* Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp: Removed.
* Source/WebCore/platform/graphics/ANGLEWebKitBridge.h: Removed.
* Source/WebCore/platform/graphics/GraphicsContextGL.cpp:
* Source/WebCore/platform/graphics/angle/ANGLEHeaders.h:
* Source/WebCore/platform/graphics/angle/ANGLEUtilities.cpp:
* Source/WebCore/platform/graphics/angle/ANGLEUtilities.h:
* Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:
* Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h:
* Source/WebCore/platform/graphics/cg/GraphicsContextGLCG.cpp:
* Source/WebCore/platform/graphics/cocoa/ANGLEUtilitiesCocoa.cpp:
* Source/WebCore/platform/graphics/cocoa/ANGLEUtilitiesCocoa.h:
* Source/WebCore/platform/graphics/gbm/GraphicsContextGLANGLELinux.cpp:
* Source/WebCore/platform/graphics/gbm/GraphicsContextGLFallback.cpp:
* Source/WebCore/platform/graphics/gbm/GraphicsContextGLFallback.h:
* Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.cpp:
* Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.h:
* Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBMTextureMapper.cpp:
* Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBMTextureMapper.h:
* Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp:
* Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.h:
* Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGCGLLayer.cpp: Removed.
* Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGCGLLayer.h: Removed.
* Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGL.cpp: Removed.
* Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGL.h: Removed.
* Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGLCommon.cpp: Removed.
* Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGLCommon.h: Removed.
* Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGLES.cpp: Removed.
* Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGLES.h: Removed.
* Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.cpp: Removed.
* Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.h: Removed.
* Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp: Removed.
* Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGLES.cpp: Removed.
* Source/WebCore/platform/graphics/texmap/BitmapTextureGL.h:
* Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp: Removed.
* Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapper.h: Removed.
* Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp:
* Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.h:
* Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp:
(WebCore::TextureMapperPlatformLayerBuffer::paintToTextureMapper):
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/OptionsWinCairo.cmake:

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




More information about the webkit-changes mailing list