[Differential] [Request, 65 lines] D2231: [plugins/qpa] Support SharingPlatformContext on the existing eglSurface and eglconfig

graesslin (Martin Gräßlin) noreply at phabricator.kde.org
Wed Jul 20 05:53:18 UTC 2016


graesslin created this revision.
graesslin added reviewers: KWin, Plasma on Wayland.
Restricted Application added subscribers: kwin, plasma-devel.
Restricted Application added projects: Plasma on Wayland, KWin.

REVISION SUMMARY
  So far SharingPlatformContext was only used if the OpenGL context
  supports EGL_KHR_surfaceless_context. If not supported, KWin tried to
  create a context through the Wayland API. Unfortunately on hwcomposer
  platform this results in a crash as libhybris only supports the init
  of EGLDisplay for one native platform.
  
  This change tries to also use the SharingPlatformContext if there is
  an OpenGL context in general. It reuses the native EGLSurface created
  for the compositing scene and makes its own OpenGL context current on
  that surface, too. As KWin creates an FBO, it never renders to it, so
  it shouldn't matter at all.
  
  In order to prevent EGL_BAD_MATCH errors when making Qt's OpenGL context
  current also the EGLConfig from the scene is used to create the context.

TEST PLAN
  Tested on Nexus5 with qtvirtualkeyboard in KWin

REPOSITORY
  rKWIN KWin

BRANCH
  sharingplatform-hwcomposer

REVISION DETAIL
  https://phabricator.kde.org/D2231

AFFECTED FILES
  abstract_egl_backend.h
  platform.cpp
  platform.h
  plugins/qpa/abstractplatformcontext.cpp
  plugins/qpa/abstractplatformcontext.h
  plugins/qpa/integration.cpp
  plugins/qpa/sharingplatformcontext.cpp
  plugins/qpa/sharingplatformcontext.h

EMAIL PREFERENCES
  https://phabricator.kde.org/settings/panel/emailpreferences/

To: graesslin, #kwin, #plasma_on_wayland
Cc: plasma-devel, kwin, hardening, jensreuterberg, abetts, sebas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20160720/0397ffa7/attachment.html>


More information about the Plasma-devel mailing list