[webkit-changes] [WebKit/WebKit] 0d1736: [ANGLE] Combine eglGetPlatformDisplayEXT, EGL_PLAT...

Žan Doberšek noreply at github.com
Sun Jan 15 10:19:28 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0d1736acdd5b498cb5b6b10d603943a4a998f227
      https://github.com/WebKit/WebKit/commit/0d1736acdd5b498cb5b6b10d603943a4a998f227
  Author: Žan Doberšek <zdobersek at igalia.com>
  Date:   2023-01-15 (Sun, 15 Jan 2023)

  Changed paths:
    M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/DisplayEGL.cpp
    M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.cpp
    M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.h
    M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGLDL.cpp
    M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGLDL.h
    M Source/WebCore/platform/graphics/gbm/GraphicsContextGLFallback.cpp
    M Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.cpp

  Log Message:
  -----------
  [ANGLE] Combine eglGetPlatformDisplayEXT, EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE to target the desired EGL platform
https://bugs.webkit.org/show_bug.cgi?id=250073

Reviewed by Carlos Garcia Campos.

This change applies upstream ANGLE revision 01c641d5 into the third-party source
checkout. The revision enhances DisplayEGL functionality so that the platform
type, when specified via EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE, is
used in combination with EGL_EXT_platform_base to retrieve a display object for
the desired EGL platform.

On Linux ports using ANGLE, this avoids getting stuck with the EGL platform that
is set as default by the underlying EGL runtime through build-time configuration
or environment processing.

In GraphicsContextGLFallback and GraphicsContextGLGBM, the EGL_SURFACE_TYPE
value in the config is explicitly stated to be EGL_PBUFFER_BIT. This works
around ANGLE which defaults the EGL_SURFACE_TYPE config attribute to
EGL_WINDOW_BIT, which can get rejected by implementations of the surfaceless
EGL platform.

* Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/DisplayEGL.cpp:
(rx::DisplayEGL::initialize):
* Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.cpp:
(rx::FunctionsEGL::initialize):
(rx::FunctionsEGL::getPlatformDisplay):
* Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.h:
* Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGLDL.cpp:
(rx::FunctionsEGLDL::initialize):
* Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGLDL.h:
* Source/WebCore/platform/graphics/gbm/GraphicsContextGLFallback.cpp:
(WebCore::GraphicsContextGLFallback::platformInitializeContext):
* Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.cpp:
(WebCore::GraphicsContextGLGBM::platformInitializeContext):

Canonical link: https://commits.webkit.org/258932@main




More information about the webkit-changes mailing list