Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 18019ceed4fbceaa9fcc23b2f36758831b23a155 https://github.com/WebKit/WebKit/commit/18019ceed4fbceaa9fcc23b2f36758831b23a155 Author: Kimmo Kinnunen <kkinnu...@apple.com> Date: 2024-02-11 (Sun, 11 Feb 2024)
Changed paths: M Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm Log Message: ----------- Canvas captureStream produces stuttering with WebGL https://bugs.webkit.org/show_bug.cgi?id=268613 rdar://122619662 Reviewed by Youenn Fablet. GraphicsContextGLCocoa::surfaceBufferToVideoFrame() will access the display buffer IOSurface. The display buffer drawing must be scheduled to Metal before this happens. EGL_ReleaseTexImage() in bindNextDrawingBuffer used to ensure this, due to ReleaseTexImage being specified as inducing a flush. ANGLE changed flush semantics so that it does not wait until the commands are scheduled. Thus long running WebGL could be left unscheduled at the display buffer read for MSE capture track. Fix by ensuring the display buffer commands are scheduled during prepare, as is the intention. * Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm: (WebCore::GraphicsContextGLCocoa::prepareForDisplayWithFinishedSignal): Canonical link: https://commits.webkit.org/274454@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes