[Webkit-unassigned] [Bug 261653] [GTK] 2.42.0 supports WebGL/2 with compositing disabled?

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Oct 4 02:09:41 PDT 2023


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

--- Comment #11 from Carlos Garcia Campos <cgarcia at igalia.com> ---
(In reply to Jim Mason from comment #10)
> (In reply to Jim Mason from comment #9)
> > This leaves the one remaining issue with
> > EGL_CONTEXT_VIRTUALIZATION_GROUP_ANGLE.  I will investigate in ANGLE
> > further.
> 
> I have found ANGLE does not like the context created by GLContext. When it
> attempts to use this as a shared context in a subsequent call to
> eglCreateContext(), it fails with 0x3006 EGL_BAD_CONTEXT.

Oh, that's expected, the egl display is expected to be the same.

> The problem is that there are two different EGLDisplays:  m_eglDisplay,
> obtained by PlatformDisplay::initializeEGLDisplay(), and m_angleEGLDisplay
> which is obtained by PlatformDisplay::angleEGLDisplay().  It seems for most
> people, these reference the same display, but in my case, they are
> different.  eglCreateContext in ANGLE refuses to use the shared context
> created by GLContext, as it is on a different display.  If I modify the code
> so that GLContext uses m_angleEGLDisplay instead of m_eglDisplay, it clears
> the issue.

They should be the same. How and where are you initializing m_anglePlatform and m_angleNativeDisplay?

> Note the code in PlatformDisplay::initializeEGLDisplay() is using
> eglGetDisplay(EGL_DEFAULT_DISPLAY) to obtain the display, whilst the code in
> PlatformDisplay::angleEGLDisplay() uses a variant of eglGetPlatformDisplay,
> EGL_GetPlatformDisplayEXT.

But this is the fallback code, the display should be initialized in PlatformDisplayX11::initializeEGLDisplay() and only if that fails it ends up calling eglGetDisplay(EGL_DEFAULT_DISPLAY).

> It seems to me the two different ways of obtaining the display ought to be
> reconciled into one for all egl usage, so that the display is guaranteed to
> be consistent throughout the code.

According to the spec EGL should return the same display for the same combination of platform and native display. That's why we set the angle platform and display when initializing the EGL display in PlatformDisplay (excepty in the X11 case that I forgot). If PlatformDisplayX11::initializeEGLDisplay() is failing, it might still fail, though.

-- 
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/20231004/ef27187b/attachment.htm>


More information about the webkit-unassigned mailing list