[Webkit-unassigned] [Bug 250314] New: [WPE][WebGL][Canvas][Compositing] Threaded compositor may use a 3D canvas target FBO texture before the WebGL rendering has finished

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jan 9 03:41:40 PST 2023


https://bugs.webkit.org/show_bug.cgi?id=250314

            Bug ID: 250314
           Summary: [WPE][WebGL][Canvas][Compositing] Threaded compositor
                    may use a 3D canvas target FBO texture before the
                    WebGL rendering has finished
           Product: WebKit
           Version: Other
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: Critical
          Priority: P2
         Component: Compositing
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: llepage at igalia.com
                CC: simon.fraser at apple.com

Created attachment 464421

  --> https://bugs.webkit.org/attachment.cgi?id=464421&action=review

Example video

When rendering an heavy WebGL scene as fast as possible in a 3D canvas, the final composited image may show a black content or a partially rendered content in place of the canvas surface.

This has been observed with WPE and the threaded compositor on Linux PC with different models of NVidia cards, and on Android with different hardwares.

Logically it should happen on any configuration using the GraphicsContextGLOpenGL context to draw a 3D scene as the texture attached to the FBO target is passed to the threaded compositor without doing any synchronization first.

So, if the 3D scene rendering takes longer than the threaded compositor drawing cycle, the texture passed to the compositor doesn't contain the full scene.

Before passing the canvas FBO target texture to the threaded compositor, the client code should wait for all previous OpenGL calls to be executed by the rendering server in the current context.

The attached video shows the visual effect of this bug.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20230109/4c2c381e/attachment-0001.htm>


More information about the webkit-unassigned mailing list