Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c8332b7ff7b2832e3fb5d206b79378cc200aa400
      
https://github.com/WebKit/WebKit/commit/c8332b7ff7b2832e3fb5d206b79378cc200aa400
  Author: Kimmo Kinnunen <[email protected]>
  Date:   2025-08-12 (Tue, 12 Aug 2025)

  Changed paths:
    M Source/WebCore/platform/graphics/GraphicsContextGL.h
    M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
    M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h
    M Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.h
    M Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h
    M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in
    A 
Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.cpp
    M 
Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h
    M Source/WebKit/Platform/IPC/Connection.h
    M Source/WebKit/Platform/IPC/StreamServerConnection.h
    M Source/WebKit/Shared/API/Cocoa/RemoteObjectRegistry.mm
    M Source/WebKit/Sources.txt
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h
    M 
Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp
    M Tools/Scripts/generate-gpup-webgl

  Log Message:
  -----------
  WebGL: Use MESSAGE_CHECK in RemoteGraphicsContextGL
https://bugs.webkit.org/show_bug.cgi?id=297213
rdar://158032389

Reviewed by Dan Glastonbury.

Support more standard MESSAGE_CHECK to run domain-specific validation
in WebGL GPUP implementation.

Move the generated implementations from the
RemoteGraphicsContextGLFunctionsGenerated.h to the new file
RemoteGraphicsContextGLFunctionsGenerated.cpp to be able to use the
macro.

Needs auxiliary changes:
- Support EnableBy in .message.in, was edited manually
- Support not using size_t in .message.in, was edited manually
- Add GraphicsContextGL::deleteExternalSync() inside WebXR ifdefs
  as expected. Remove the use from GraphicsContextGLCocoa.mm to do so.

* Source/WebCore/platform/graphics/GraphicsContextGL.h:
* Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:
* Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h:
* Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.h:
* Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLCocoa::createExternalSync):
(WebCore::GraphicsContextGLCocoa::createMetalSharedEventEGLSync):
(WebCore::GraphicsContextGLCocoa::insertFinishedSignalOrInvoke):
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::messageCheck): Deleted.
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h:
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h:
(activeTexture): Deleted.
(attachShader): Deleted.
(bindAttribLocation): Deleted.
(bindBuffer): Deleted.
(bindFramebuffer): Deleted.
(bindRenderbuffer): Deleted.
(bindTexture): Deleted.
(blendColor): Deleted.
(blendEquation): Deleted.
(blendEquationSeparate): Deleted.
(blendFunc): Deleted.
(blendFuncSeparate): Deleted.
(checkFramebufferStatus): Deleted.
(clear): Deleted.
(clearColor): Deleted.
(clearDepth): Deleted.
(clearStencil): Deleted.
(colorMask): Deleted.
(compileShader): Deleted.
(copyTexImage2D): Deleted.
(copyTexSubImage2D): Deleted.
(createBuffer): Deleted.
(createFramebuffer): Deleted.
(createProgram): Deleted.
(createRenderbuffer): Deleted.
(createShader): Deleted.
(createTexture): Deleted.
(cullFace): Deleted.
(deleteBuffer): Deleted.
(deleteFramebuffer): Deleted.
(deleteProgram): Deleted.
(deleteRenderbuffer): Deleted.
(deleteShader): Deleted.
(deleteTexture): Deleted.
(depthFunc): Deleted.
(depthMask): Deleted.
(depthRange): Deleted.
(detachShader): Deleted.
(disable): Deleted.
(disableVertexAttribArray): Deleted.
(drawArrays): Deleted.
(drawElements): Deleted.
(enable): Deleted.
(enableVertexAttribArray): Deleted.
(finish): Deleted.
(flush): Deleted.
(framebufferRenderbuffer): Deleted.
(framebufferTexture2D): Deleted.
(frontFace): Deleted.
(generateMipmap): Deleted.
(getActiveAttrib): Deleted.
(getActiveUniform): Deleted.
(getAttribLocation): Deleted.
(getBufferParameteri): Deleted.
(getString): Deleted.
(getFloatv): Deleted.
(getIntegerv): Deleted.
(getIntegeri_v): Deleted.
(getInteger64): Deleted.
(getInteger64i): Deleted.
(getProgrami): Deleted.
(getBooleanv): Deleted.
(getFramebufferAttachmentParameteri): Deleted.
(getProgramInfoLog): Deleted.
(getRenderbufferParameteri): Deleted.
(getShaderi): Deleted.
(getShaderInfoLog): Deleted.
(getShaderPrecisionFormat): Deleted.
(getShaderSource): Deleted.
(getTexParameterf): Deleted.
(getTexParameteri): Deleted.
(getUniformfv): Deleted.
(getUniformiv): Deleted.
(getUniformuiv): Deleted.
(getUniformLocation): Deleted.
(getVertexAttribOffset): Deleted.
(hint): Deleted.
(isBuffer): Deleted.
(isEnabled): Deleted.
(isFramebuffer): Deleted.
(isProgram): Deleted.
(isRenderbuffer): Deleted.
(isShader): Deleted.
(isTexture): Deleted.
(lineWidth): Deleted.
(linkProgram): Deleted.
(pixelStorei): Deleted.
(polygonOffset): Deleted.
(renderbufferStorage): Deleted.
(sampleCoverage): Deleted.
(scissor): Deleted.
(shaderSource): Deleted.
(stencilFunc): Deleted.
(stencilFuncSeparate): Deleted.
(stencilMask): Deleted.
(stencilMaskSeparate): Deleted.
(stencilOp): Deleted.
(stencilOpSeparate): Deleted.
(texParameterf): Deleted.
(texParameteri): Deleted.
(uniform1f): Deleted.
(uniform1fv): Deleted.
(uniform1i): Deleted.
(uniform1iv): Deleted.
(uniform2f): Deleted.
(uniform2fv): Deleted.
(uniform2i): Deleted.
(uniform2iv): Deleted.
(uniform3f): Deleted.
(uniform3fv): Deleted.
(uniform3i): Deleted.
(uniform3iv): Deleted.
(uniform4f): Deleted.
(uniform4fv): Deleted.
(uniform4i): Deleted.
(uniform4iv): Deleted.
(uniformMatrix2fv): Deleted.
(uniformMatrix3fv): Deleted.
(uniformMatrix4fv): Deleted.
(useProgram): Deleted.
(validateProgram): Deleted.
(vertexAttrib1f): Deleted.
(vertexAttrib1fv): Deleted.
(vertexAttrib2f): Deleted.
(vertexAttrib2fv): Deleted.
(vertexAttrib3f): Deleted.
(vertexAttrib3fv): Deleted.
(vertexAttrib4f): Deleted.
(vertexAttrib4fv): Deleted.
(vertexAttribPointer): Deleted.
(viewport): Deleted.
(bufferData0): Deleted.
(bufferData1): Deleted.
(bufferSubData): Deleted.
(readPixelsBufferObject): Deleted.
(texImage2D0): Deleted.
(texImage2D1): Deleted.
(texSubImage2D0): Deleted.
(texSubImage2D1): Deleted.
(compressedTexImage2D0): Deleted.
(compressedTexImage2D1): Deleted.
(compressedTexSubImage2D0): Deleted.
(compressedTexSubImage2D1): Deleted.
(drawArraysInstanced): Deleted.
(drawElementsInstanced): Deleted.
(vertexAttribDivisor): Deleted.
(createVertexArray): Deleted.
(deleteVertexArray): Deleted.
(isVertexArray): Deleted.
(bindVertexArray): Deleted.
(copyBufferSubData): Deleted.
(blitFramebuffer): Deleted.
(framebufferTextureLayer): Deleted.
(readBuffer): Deleted.
(renderbufferStorageMultisample): Deleted.
(texStorage2D): Deleted.
(texStorage3D): Deleted.
(texImage3D0): Deleted.
(texImage3D1): Deleted.
(texSubImage3D0): Deleted.
(texSubImage3D1): Deleted.
(copyTexSubImage3D): Deleted.
(compressedTexImage3D0): Deleted.
(compressedTexImage3D1): Deleted.
(compressedTexSubImage3D0): Deleted.
(compressedTexSubImage3D1): Deleted.
(getFragDataLocation): Deleted.
(uniform1ui): Deleted.
(uniform2ui): Deleted.
(uniform3ui): Deleted.
(uniform4ui): Deleted.
(uniform1uiv): Deleted.
(uniform2uiv): Deleted.
(uniform3uiv): Deleted.
(uniform4uiv): Deleted.
(uniformMatrix2x3fv): Deleted.
(uniformMatrix3x2fv): Deleted.
(uniformMatrix2x4fv): Deleted.
(uniformMatrix4x2fv): Deleted.
(uniformMatrix3x4fv): Deleted.
(uniformMatrix4x3fv): Deleted.
(vertexAttribI4i): Deleted.
(vertexAttribI4iv): Deleted.
(vertexAttribI4ui): Deleted.
(vertexAttribI4uiv): Deleted.
(vertexAttribIPointer): Deleted.
(drawRangeElements): Deleted.
(clearBufferiv): Deleted.
(clearBufferuiv): Deleted.
(clearBufferfv): Deleted.
(clearBufferfi): Deleted.
(createQuery): Deleted.
(deleteQuery): Deleted.
(isQuery): Deleted.
(beginQuery): Deleted.
(endQuery): Deleted.
(getQuery): Deleted.
(getQueryObjectui): Deleted.
(createSampler): Deleted.
(deleteSampler): Deleted.
(isSampler): Deleted.
(bindSampler): Deleted.
(samplerParameteri): Deleted.
(samplerParameterf): Deleted.
(getSamplerParameterf): Deleted.
(getSamplerParameteri): Deleted.
(fenceSync): Deleted.
(isSync): Deleted.
(deleteSync): Deleted.
(clientWaitSync): Deleted.
(waitSync): Deleted.
(getSynci): Deleted.
(createTransformFeedback): Deleted.
(deleteTransformFeedback): Deleted.
(isTransformFeedback): Deleted.
(bindTransformFeedback): Deleted.
(beginTransformFeedback): Deleted.
(endTransformFeedback): Deleted.
(transformFeedbackVaryings): Deleted.
(getTransformFeedbackVarying): Deleted.
(pauseTransformFeedback): Deleted.
(resumeTransformFeedback): Deleted.
(bindBufferBase): Deleted.
(bindBufferRange): Deleted.
(getUniformIndices): Deleted.
(getActiveUniforms): Deleted.
(getUniformBlockIndex): Deleted.
(getActiveUniformBlockName): Deleted.
(uniformBlockBinding): Deleted.
(getActiveUniformBlockiv): Deleted.
(getTranslatedShaderSourceANGLE): Deleted.
(createQueryEXT): Deleted.
(deleteQueryEXT): Deleted.
(isQueryEXT): Deleted.
(beginQueryEXT): Deleted.
(endQueryEXT): Deleted.
(queryCounterEXT): Deleted.
(getQueryiEXT): Deleted.
(getQueryObjectiEXT): Deleted.
(getQueryObjectui64EXT): Deleted.
(getInteger64EXT): Deleted.
(enableiOES): Deleted.
(disableiOES): Deleted.
(blendEquationiOES): Deleted.
(blendEquationSeparateiOES): Deleted.
(blendFunciOES): Deleted.
(blendFuncSeparateiOES): Deleted.
(colorMaskiOES): Deleted.
(drawArraysInstancedBaseInstanceANGLE): Deleted.
(drawElementsInstancedBaseVertexBaseInstanceANGLE): Deleted.
(clipControlEXT): Deleted.
(provokingVertexANGLE): Deleted.
(polygonModeANGLE): Deleted.
(polygonOffsetClampEXT): Deleted.
(renderbufferStorageMultisampleANGLE): Deleted.
(getInternalformativ): Deleted.
(setDrawingBufferColorSpace): Deleted.
(createExternalImage): Deleted.
(deleteExternalImage): Deleted.
(bindExternalImage): Deleted.
(createExternalSync): Deleted.
(deleteExternalSync): Deleted.
(enableRequiredWebXRExtensions): Deleted.
(addFoveation): Deleted.
(enableFoveation): Deleted.
(disableFoveation): Deleted.
(framebufferResolveRenderbuffer): Deleted.
* Source/WebKit/Platform/IPC/Connection.h:
(IPC::Connection::isIncomingMessagesThrottlingEnabled const):
(IPC::markCurrentlyDispatchedMessageAsInvalid):
* Source/WebKit/Platform/IPC/StreamServerConnection.h:
(IPC::markCurrentlyDispatchedMessageAsInvalid):
* Source/WebKit/Shared/API/Cocoa/RemoteObjectRegistry.mm:
(WebKit::RemoteObjectRegistry::callReplyBlock):
* Source/WebKit/Sources.txt:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
* 
Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp:
(WebKit::RemoteGraphicsContextGLProxy::createExternalSync):
* Tools/Scripts/generate-gpup-webgl:
(cpp_func):
(cpp_func.__init__):
(webkit_ipc_msg):
(webkit_ipc_msg.__init__):
(webkit_ipc_msg.__str__):
(webkit_ipc_cpp_impl):
(webkit_ipc_cpp_impl.__init__):
(webkit_ipc_cpp_impl.process_in_arg):
(webkit_ipc_cpp_impl.process_out_arg):
(webkit_ipc_cpp_impl.process_return_value):
(webkit_ipc_cpp_impl.get_declaration):
(webkit_ipc_cpp_impl.get_definition):
(ns):
(context_cpp_webkit_ipc_generator.close_cond):
(context_cpp_webkit_ipc_generator):
(context_cpp_webkit_ipc_generator.get_declarations):
(context_cpp_webkit_ipc_generator.get_definitions):
(context_cpp_webkit_ipc_generator.generate):
(create_cpp_arg_list):
(create_cpp_func):
(main):
(webkit_ipc_cpp_impl.__str__): Deleted.
(webkit_ipc_cpp_impl.ns): Deleted.
(context_cpp_webkit_ipc_generator.get_functions): Deleted.

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to