Videos do not work as sources for WebGL TexImage calls in SW fallback case in GPU Process void MediaPlayerPrivateRemote::paintCurrentFrameInContext(GraphicsContext&, const FloatRect&) { notImplemented(); }
Options to fix: 1) Implement readback in MediaPlayerPrivateRemote::paintCurrentFrameInContext 2) Move the ImageBuffer -> Texture logic from WebGLRenderingContextBase to GraphicsContextGL 2 is better long term
<rdar://problem/74706834>
For option 2: The work is to convert void WebGLRenderingContextBase::texImageImpl(TexImageFunctionID functionID, GCGLenum target, GCGLint level, GCGLenum internalformat, GCGLint xoffset, GCGLint yoffset, GCGLint zoffset, GCGLenum format, GCGLenum type, Image* image, GraphicsContextGL::DOMSource domSource, bool flipY, bool premultiplyAlpha, bool ignoreNativeImageAlphaPremultiplication, const IntRect& sourceImageRect, GCGLsizei depth, GCGLint unpackImageHeight) to run on GPU process side resources. Essentially converting Image* image to GPU process side resource. However, that function _also_ needs to stay mostly working with Web process side resources, since some of the cases are such that probably no reasonable GPU process side resource exist.
This was likely fixed by r273568, which will pull images across the process boundary when painting/texturing occurs there.
*** This bug has been marked as a duplicate of bug 222461 ***