[Mesa-dev] [RFC 00/10] Let us welcome EGLDevice

Emil Velikov emil.l.velikov at gmail.com
Fri Aug 3 12:44:16 UTC 2018


Hi all,

This series implements the following extensions:
 - EGL_EXT_device_base
 - EGL_MESA_device_software
 - EGL_EXT_device_drm
 - EGL_platform_device

As you know the APIs are used to enumerate, select and use EGLDevices.
The second extension (proposed by Ajax) defines a 'software' device,
alongside the existing DRM ones.

While there are many usecases for this work, my primary interest is
allowing device selection, wrt testing. To achieve the goal, we would
need to finalise EGL_EXT_explicit_device (also proposed by Ajax).

Piglit patches will be sent out shortly.

Any feedback is greatly appreciated.

Thanks
Emil

Emil Velikov (9):
  egl: add simple EGL_EXT_device_base implementation
  egl: add EGL_MESA_device_software support
  egl: add EGL_EXT_device_drm support
  meson: egl: group dri2 bits separately from haiku
  egl/surfaceless: inline surfaceless_alloc_image()
  egl/surfaceless: honour the format passed to getBuffers
  egl/surfaceless: remove no longer used dri2_egl_surface::visual
  egl: add optional plat_opt to _eglFindDisplay()
  egl: add EGL_platform_device support

Jonny Lamb (1):
  egl: add initial boilerplate for EGL_EXT_device_base

 src/egl/Makefile.am                         |   3 +
 src/egl/Makefile.sources                    |   2 +
 src/egl/drivers/dri2/egl_dri2.c             |   3 +
 src/egl/drivers/dri2/egl_dri2.h             |  13 +-
 src/egl/drivers/dri2/platform_android.c     |   9 +
 src/egl/drivers/dri2/platform_device.c      | 380 ++++++++++++++++++++
 src/egl/drivers/dri2/platform_drm.c         |   9 +
 src/egl/drivers/dri2/platform_surfaceless.c |  37 +-
 src/egl/drivers/dri2/platform_wayland.c     |  18 +
 src/egl/drivers/dri2/platform_x11.c         |  27 ++
 src/egl/drivers/haiku/egl_haiku.cpp         |   8 +
 src/egl/main/eglapi.c                       |  79 +++-
 src/egl/main/egldevice.c                    | 306 ++++++++++++++++
 src/egl/main/egldevice.h                    |  83 +++++
 src/egl/main/egldisplay.c                   | 119 +++++-
 src/egl/main/egldisplay.h                   |  14 +-
 src/egl/main/eglentrypoint.h                |   4 +
 src/egl/main/eglglobals.c                   |  10 +-
 src/egl/main/eglglobals.h                   |   2 +
 src/egl/main/egltypedefs.h                  |   2 +
 src/egl/meson.build                         |  68 ++--
 21 files changed, 1120 insertions(+), 76 deletions(-)
 create mode 100644 src/egl/drivers/dri2/platform_device.c
 create mode 100644 src/egl/main/egldevice.c
 create mode 100644 src/egl/main/egldevice.h

-- 
2.18.0



More information about the mesa-dev mailing list