Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5867583a3b19e500f6332c9922faa6e1a9caa08e
      
https://github.com/WebKit/WebKit/commit/5867583a3b19e500f6332c9922faa6e1a9caa08e
  Author: Kimmo Kinnunen <[email protected]>
  Date:   2025-10-27 (Mon, 27 Oct 2025)

  Changed paths:
    M Source/WebCore/Headers.cmake
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/html/canvas/ANGLEInstancedArrays.cpp
    M Source/WebCore/html/canvas/EXTBlendMinMax.cpp
    M Source/WebCore/html/canvas/EXTClipControl.cpp
    M Source/WebCore/html/canvas/EXTColorBufferFloat.cpp
    M Source/WebCore/html/canvas/EXTColorBufferHalfFloat.cpp
    M Source/WebCore/html/canvas/EXTConservativeDepth.cpp
    M Source/WebCore/html/canvas/EXTDepthClamp.cpp
    M Source/WebCore/html/canvas/EXTDisjointTimerQuery.cpp
    M Source/WebCore/html/canvas/EXTDisjointTimerQueryWebGL2.cpp
    M Source/WebCore/html/canvas/EXTFloatBlend.cpp
    M Source/WebCore/html/canvas/EXTFragDepth.cpp
    M Source/WebCore/html/canvas/EXTPolygonOffsetClamp.cpp
    M Source/WebCore/html/canvas/EXTRenderSnorm.cpp
    M Source/WebCore/html/canvas/EXTShaderTextureLOD.cpp
    M Source/WebCore/html/canvas/EXTTextureCompressionBPTC.cpp
    M Source/WebCore/html/canvas/EXTTextureCompressionRGTC.cpp
    M Source/WebCore/html/canvas/EXTTextureFilterAnisotropic.cpp
    M Source/WebCore/html/canvas/EXTTextureMirrorClampToEdge.cpp
    M Source/WebCore/html/canvas/EXTTextureNorm16.cpp
    M Source/WebCore/html/canvas/EXTsRGB.cpp
    M Source/WebCore/html/canvas/KHRParallelShaderCompile.cpp
    M Source/WebCore/html/canvas/NVShaderNoperspectiveInterpolation.cpp
    M Source/WebCore/html/canvas/OESDrawBuffersIndexed.cpp
    M Source/WebCore/html/canvas/OESElementIndexUint.cpp
    M Source/WebCore/html/canvas/OESFBORenderMipmap.cpp
    M Source/WebCore/html/canvas/OESSampleVariables.cpp
    M Source/WebCore/html/canvas/OESShaderMultisampleInterpolation.cpp
    M Source/WebCore/html/canvas/OESStandardDerivatives.cpp
    M Source/WebCore/html/canvas/OESTextureFloat.cpp
    M Source/WebCore/html/canvas/OESTextureFloatLinear.cpp
    M Source/WebCore/html/canvas/OESTextureHalfFloat.cpp
    M Source/WebCore/html/canvas/OESTextureHalfFloatLinear.cpp
    M Source/WebCore/html/canvas/OESVertexArrayObject.cpp
    M Source/WebCore/html/canvas/WebGLBlendFuncExtended.cpp
    M Source/WebCore/html/canvas/WebGLClipCullDistance.cpp
    M Source/WebCore/html/canvas/WebGLColorBufferFloat.cpp
    M Source/WebCore/html/canvas/WebGLCompressedTextureASTC.cpp
    M Source/WebCore/html/canvas/WebGLCompressedTextureETC.cpp
    M Source/WebCore/html/canvas/WebGLCompressedTextureETC1.cpp
    M Source/WebCore/html/canvas/WebGLCompressedTexturePVRTC.cpp
    M Source/WebCore/html/canvas/WebGLCompressedTextureS3TC.cpp
    M Source/WebCore/html/canvas/WebGLCompressedTextureS3TCsRGB.cpp
    M Source/WebCore/html/canvas/WebGLDebugShaders.cpp
    M Source/WebCore/html/canvas/WebGLDepthTexture.cpp
    M Source/WebCore/html/canvas/WebGLDrawBuffers.cpp
    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/WebGLPolygonMode.cpp
    M Source/WebCore/html/canvas/WebGLProvokingVertex.cpp
    M Source/WebCore/html/canvas/WebGLRenderSharedExponent.cpp
    M Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
    M Source/WebCore/html/canvas/WebGLStencilTexturing.cpp
    A Source/WebCore/platform/graphics/GCGLExtension.h
    M Source/WebCore/platform/graphics/GraphicsContextGL.cpp
    M Source/WebCore/platform/graphics/GraphicsContextGL.h
    M Source/WebCore/platform/graphics/GraphicsTypesGL.h
    M 
Source/WebCore/platform/graphics/android/GraphicsContextGLTextureMapperAndroid.cpp
    M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
    M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h
    M Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm
    M Source/WebCore/platform/graphics/gbm/GraphicsContextGLTextureMapperGBM.cpp
    M 
Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp
    M Source/WebKit/CMakeLists.txt
    M Source/WebKit/DerivedSources-input.xcfilelist
    M Source/WebKit/DerivedSources.make
    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/GPUProcess/graphics/RemoteGraphicsContextGLInitializationState.h
    M 
Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLInitializationState.serialization.in
    M Source/WebKit/Scripts/webkit/messages.py
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    A Source/WebKit/Shared/WebGL.serialization.in
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h
    M Tools/Scripts/generate-gpup-webgl

  Log Message:
  -----------
  WebGL: Pass a specific list of ANGLE extensions to GPUP
https://bugs.webkit.org/show_bug.cgi?id=301186
rdar://163109627

Reviewed by Dan Glastonbury.

WCP should not pass an arbitrary string for the requested extension.
Instead, pass only the specific strings that are used in the
WebGL implementations. This way extensions that are not intended
for WebGL are not requestable by WCP.

* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/html/canvas/ANGLEInstancedArrays.cpp:
(WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
(WebCore::ANGLEInstancedArrays::supported):
* Source/WebCore/html/canvas/EXTBlendMinMax.cpp:
(WebCore::EXTBlendMinMax::EXTBlendMinMax):
(WebCore::EXTBlendMinMax::supported):
* Source/WebCore/html/canvas/EXTClipControl.cpp:
(WebCore::EXTClipControl::EXTClipControl):
(WebCore::EXTClipControl::supported):
* Source/WebCore/html/canvas/EXTColorBufferFloat.cpp:
(WebCore::EXTColorBufferFloat::EXTColorBufferFloat):
(WebCore::EXTColorBufferFloat::supported):
* Source/WebCore/html/canvas/EXTColorBufferHalfFloat.cpp:
(WebCore::EXTColorBufferHalfFloat::EXTColorBufferHalfFloat):
(WebCore::EXTColorBufferHalfFloat::supported):
* Source/WebCore/html/canvas/EXTConservativeDepth.cpp:
(WebCore::EXTConservativeDepth::EXTConservativeDepth):
(WebCore::EXTConservativeDepth::supported):
* Source/WebCore/html/canvas/EXTDepthClamp.cpp:
(WebCore::EXTDepthClamp::EXTDepthClamp):
(WebCore::EXTDepthClamp::supported):
* Source/WebCore/html/canvas/EXTDisjointTimerQuery.cpp:
(WebCore::EXTDisjointTimerQuery::EXTDisjointTimerQuery):
(WebCore::EXTDisjointTimerQuery::supported):
* Source/WebCore/html/canvas/EXTDisjointTimerQueryWebGL2.cpp:
(WebCore::EXTDisjointTimerQueryWebGL2::EXTDisjointTimerQueryWebGL2):
(WebCore::EXTDisjointTimerQueryWebGL2::supported):
* Source/WebCore/html/canvas/EXTFloatBlend.cpp:
(WebCore::EXTFloatBlend::EXTFloatBlend):
(WebCore::EXTFloatBlend::supported):
* Source/WebCore/html/canvas/EXTFragDepth.cpp:
(WebCore::EXTFragDepth::EXTFragDepth):
(WebCore::EXTFragDepth::supported):
* Source/WebCore/html/canvas/EXTPolygonOffsetClamp.cpp:
(WebCore::EXTPolygonOffsetClamp::EXTPolygonOffsetClamp):
(WebCore::EXTPolygonOffsetClamp::supported):
* Source/WebCore/html/canvas/EXTRenderSnorm.cpp:
(WebCore::EXTRenderSnorm::EXTRenderSnorm):
(WebCore::EXTRenderSnorm::supported):
* Source/WebCore/html/canvas/EXTShaderTextureLOD.cpp:
(WebCore::EXTShaderTextureLOD::EXTShaderTextureLOD):
(WebCore::EXTShaderTextureLOD::supported):
* Source/WebCore/html/canvas/EXTTextureCompressionBPTC.cpp:
(WebCore::EXTTextureCompressionBPTC::EXTTextureCompressionBPTC):
(WebCore::EXTTextureCompressionBPTC::supported):
* Source/WebCore/html/canvas/EXTTextureCompressionRGTC.cpp:
(WebCore::EXTTextureCompressionRGTC::EXTTextureCompressionRGTC):
(WebCore::EXTTextureCompressionRGTC::supported):
* Source/WebCore/html/canvas/EXTTextureFilterAnisotropic.cpp:
(WebCore::EXTTextureFilterAnisotropic::EXTTextureFilterAnisotropic):
(WebCore::EXTTextureFilterAnisotropic::supported):
* Source/WebCore/html/canvas/EXTTextureMirrorClampToEdge.cpp:
(WebCore::EXTTextureMirrorClampToEdge::EXTTextureMirrorClampToEdge):
(WebCore::EXTTextureMirrorClampToEdge::supported):
* Source/WebCore/html/canvas/EXTTextureNorm16.cpp:
(WebCore::EXTTextureNorm16::EXTTextureNorm16):
(WebCore::EXTTextureNorm16::supported):
* Source/WebCore/html/canvas/EXTsRGB.cpp:
(WebCore::EXTsRGB::EXTsRGB):
(WebCore::EXTsRGB::supported):
* Source/WebCore/html/canvas/KHRParallelShaderCompile.cpp:
(WebCore::KHRParallelShaderCompile::KHRParallelShaderCompile):
(WebCore::KHRParallelShaderCompile::supported):
* Source/WebCore/html/canvas/NVShaderNoperspectiveInterpolation.cpp:
(WebCore::NVShaderNoperspectiveInterpolation::NVShaderNoperspectiveInterpolation):
(WebCore::NVShaderNoperspectiveInterpolation::supported):
* Source/WebCore/html/canvas/OESDrawBuffersIndexed.cpp:
(WebCore::OESDrawBuffersIndexed::OESDrawBuffersIndexed):
(WebCore::OESDrawBuffersIndexed::supported):
* Source/WebCore/html/canvas/OESElementIndexUint.cpp:
(WebCore::OESElementIndexUint::OESElementIndexUint):
(WebCore::OESElementIndexUint::supported):
* Source/WebCore/html/canvas/OESFBORenderMipmap.cpp:
(WebCore::OESFBORenderMipmap::OESFBORenderMipmap):
(WebCore::OESFBORenderMipmap::supported):
* Source/WebCore/html/canvas/OESSampleVariables.cpp:
(WebCore::OESSampleVariables::OESSampleVariables):
(WebCore::OESSampleVariables::supported):
* Source/WebCore/html/canvas/OESShaderMultisampleInterpolation.cpp:
(WebCore::OESShaderMultisampleInterpolation::OESShaderMultisampleInterpolation):
(WebCore::OESShaderMultisampleInterpolation::supported):
* Source/WebCore/html/canvas/OESStandardDerivatives.cpp:
(WebCore::OESStandardDerivatives::OESStandardDerivatives):
(WebCore::OESStandardDerivatives::supported):
* Source/WebCore/html/canvas/OESTextureFloat.cpp:
(WebCore::OESTextureFloat::OESTextureFloat):
(WebCore::OESTextureFloat::supported):
* Source/WebCore/html/canvas/OESTextureFloatLinear.cpp:
(WebCore::OESTextureFloatLinear::OESTextureFloatLinear):
(WebCore::OESTextureFloatLinear::supported):
* Source/WebCore/html/canvas/OESTextureHalfFloat.cpp:
(WebCore::OESTextureHalfFloat::OESTextureHalfFloat):
(WebCore::OESTextureHalfFloat::supported):
* Source/WebCore/html/canvas/OESTextureHalfFloatLinear.cpp:
(WebCore::OESTextureHalfFloatLinear::OESTextureHalfFloatLinear):
(WebCore::OESTextureHalfFloatLinear::supported):
* Source/WebCore/html/canvas/OESVertexArrayObject.cpp:
(WebCore::OESVertexArrayObject::OESVertexArrayObject):
(WebCore::OESVertexArrayObject::supported):
* Source/WebCore/html/canvas/WebGLBlendFuncExtended.cpp:
(WebCore::WebGLBlendFuncExtended::WebGLBlendFuncExtended):
(WebCore::WebGLBlendFuncExtended::supported):
* Source/WebCore/html/canvas/WebGLClipCullDistance.cpp:
(WebCore::WebGLClipCullDistance::WebGLClipCullDistance):
(WebCore::WebGLClipCullDistance::supported):
* Source/WebCore/html/canvas/WebGLColorBufferFloat.cpp:
(WebCore::WebGLColorBufferFloat::WebGLColorBufferFloat):
(WebCore::WebGLColorBufferFloat::supported):
* Source/WebCore/html/canvas/WebGLCompressedTextureASTC.cpp:
(WebCore::WebGLCompressedTextureASTC::WebGLCompressedTextureASTC):
(WebCore::WebGLCompressedTextureASTC::supported):
* Source/WebCore/html/canvas/WebGLCompressedTextureETC.cpp:
(WebCore::WebGLCompressedTextureETC::WebGLCompressedTextureETC):
(WebCore::WebGLCompressedTextureETC::supported):
* Source/WebCore/html/canvas/WebGLCompressedTextureETC1.cpp:
(WebCore::WebGLCompressedTextureETC1::WebGLCompressedTextureETC1):
(WebCore::WebGLCompressedTextureETC1::supported):
* Source/WebCore/html/canvas/WebGLCompressedTexturePVRTC.cpp:
(WebCore::WebGLCompressedTexturePVRTC::WebGLCompressedTexturePVRTC):
(WebCore::WebGLCompressedTexturePVRTC::supported):
* Source/WebCore/html/canvas/WebGLCompressedTextureS3TC.cpp:
(WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
(WebCore::WebGLCompressedTextureS3TC::supported):
* Source/WebCore/html/canvas/WebGLCompressedTextureS3TCsRGB.cpp:
(WebCore::WebGLCompressedTextureS3TCsRGB::WebGLCompressedTextureS3TCsRGB):
(WebCore::WebGLCompressedTextureS3TCsRGB::supported):
* Source/WebCore/html/canvas/WebGLDebugShaders.cpp:
(WebCore::WebGLDebugShaders::WebGLDebugShaders):
(WebCore::WebGLDebugShaders::supported):
* Source/WebCore/html/canvas/WebGLDepthTexture.cpp:
(WebCore::WebGLDepthTexture::WebGLDepthTexture):
(WebCore::WebGLDepthTexture::supported):
* Source/WebCore/html/canvas/WebGLDrawBuffers.cpp:
(WebCore::WebGLDrawBuffers::WebGLDrawBuffers):
(WebCore::WebGLDrawBuffers::supported):
* Source/WebCore/html/canvas/WebGLDrawInstancedBaseVertexBaseInstance.cpp:
(WebCore::WebGLDrawInstancedBaseVertexBaseInstance::WebGLDrawInstancedBaseVertexBaseInstance):
(WebCore::WebGLDrawInstancedBaseVertexBaseInstance::supported):
* Source/WebCore/html/canvas/WebGLMultiDraw.cpp:
(WebCore::WebGLMultiDraw::WebGLMultiDraw):
(WebCore::WebGLMultiDraw::supported):
* Source/WebCore/html/canvas/WebGLMultiDrawInstancedBaseVertexBaseInstance.cpp:
(WebCore::WebGLMultiDrawInstancedBaseVertexBaseInstance::WebGLMultiDrawInstancedBaseVertexBaseInstance):
(WebCore::WebGLMultiDrawInstancedBaseVertexBaseInstance::supported):
* Source/WebCore/html/canvas/WebGLPolygonMode.cpp:
(WebCore::WebGLPolygonMode::WebGLPolygonMode):
(WebCore::WebGLPolygonMode::supported):
* Source/WebCore/html/canvas/WebGLProvokingVertex.cpp:
(WebCore::WebGLProvokingVertex::WebGLProvokingVertex):
(WebCore::WebGLProvokingVertex::supported):
* Source/WebCore/html/canvas/WebGLRenderSharedExponent.cpp:
(WebCore::WebGLRenderSharedExponent::WebGLRenderSharedExponent):
(WebCore::WebGLRenderSharedExponent::supported):
* Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::initializeContextState):
(WebCore::WebGLRenderingContextBase::enableSupportedExtension): Deleted.
* Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
* Source/WebCore/html/canvas/WebGLStencilTexturing.cpp:
(WebCore::WebGLStencilTexturing::WebGLStencilTexturing):
(WebCore::WebGLStencilTexturing::supported):
* Source/WebCore/platform/graphics/GraphicsContextGL.cpp:
(WebCore::GraphicsContextGL::supportsExtension):
(WebCore::GraphicsContextGL::isExtensionEnabled):
* Source/WebCore/platform/graphics/GraphicsContextGL.h:
* Source/WebCore/platform/graphics/GraphicsTypesGL.h:
* 
Source/WebCore/platform/graphics/android/GraphicsContextGLTextureMapperAndroid.cpp:
(WebCore::GraphicsContextGLTextureMapperAndroid::platformInitializeExtensions):
(WebCore::GraphicsContextGLTextureMapperAndroid::enableRequiredWebXRExtensions):
* Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::requestableExtensionName):
(WebCore::requestableExtensionEnum):
(WebCore::extensionEnum):
(WebCore::GraphicsContextGLANGLE::initialize):
(WebCore::GraphicsContextGLANGLE::validateAttributes):
(WebCore::GraphicsContextGLANGLE::blitFramebuffer):
(WebCore::GraphicsContextGLANGLE::ensureExtensionEnabled):
(WebCore::GraphicsContextGLANGLE::supportsExtensionImpl const):
(WebCore::GraphicsContextGLANGLE::isExtensionEnabledImpl const):
(WebCore::GraphicsContextGLANGLE::extensions const):
(WebCore::GraphicsContextGLANGLE::requestableExtensions const):
(WebCore::GraphicsContextGLANGLE::enabledRequestableExtensions const):
(WebCore::GraphicsContextGLANGLE::adjustWebGL1TextureInternalFormat):
(WebCore::GraphicsContextGLANGLE::enableExtension):
(WebCore::GraphicsContextGLANGLE::validateDepthStencil): Deleted.
(WebCore::GraphicsContextGLANGLE::supportsExtension): Deleted.
(WebCore::GraphicsContextGLANGLE::isExtensionEnabled): Deleted.
(WebCore::GraphicsContextGLANGLE::requestExtension): Deleted.
* Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h:
* Source/WebKit/CMakeLists.txt:
* Source/WebKit/DerivedSources-input.xcfilelist:
* Source/WebKit/DerivedSources.make:
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::workQueueInitialize):
(WebKit::RemoteGraphicsContextGL::ensureExtensionEnabled):
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h:
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
* 
Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLInitializationState.h:
* 
Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLInitializationState.serialization.in:
* Source/WebKit/Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
(headers_for_type):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::supportsExtension):
(WebKit::RemoteGraphicsContextGLProxy::ensureExtensionEnabled):
(WebKit::RemoteGraphicsContextGLProxy::isExtensionEnabled):
(WebKit::RemoteGraphicsContextGLProxy::initialize):
* Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
* Tools/Scripts/generate-gpup-webgl:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to