Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cherry-pick 18019ce. rdar://122471664
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 Identifier: 272448.559@safari-7618-branch
- Loading branch information