[Mesa-dev] [PATCH v2 00/27] EGL agnostic platform selection for all

Emil Velikov emil.l.velikov at gmail.com
Thu May 4 16:29:45 UTC 2017


Hi all,

Here is another round to fully decouple the platform selection from EGL.

With the series in place --with-platform is honoured across the board. 
Thus one can build combos like the following:
 ./configure --disable-glx --disable-egl --with-platforms=x11 --with-vulkan-drivers=intel
 ./configure --disable-glx --enable-egl --with-platforms=x11

Furthermore the VL targets (OMX and VA in particular) can be build 
without any X11 dependencies. Be that compile or build-time.

As a nice side effect, we correctly track all the dependencies when 
using --enable-dri3 and Vulkan drivers explicitly error out if one is 
trying to use X11+DRI2.

The series have been churning for a while through various build combos and
should be safe in almost any permutation. Still any further testing will 
be appreciated.

The lot can be fetched from
https://github.com/evelikov/Mesa/ branch "platforms"

Thanks
Emil

Emil Velikov (27):
  configure: move platform handling further up
  configure: rename remaining HAVE_EGL_PLATFORM_* guards
  configure: update remaining --with-egl-platforms references
  configure: loosen --with-platforms heuristics
  configure: enable the surfaceless platform by default
  configure: set HAVE_foo_PLATFORM as applicable
  configure: error out when building GLX w/o the X11 platform
  configure: check once for DRI3 dependencies
  vulkan: automake: remove unused VULKAN_LIB_DEPS variable
  loader: build libloader_dri3_helper.la only with HAVE_PLATFORM_X11
  configure: error out when building X11 Vulkan without DRI3
  auxiliary/vl: use vl_*_screen_create stubs when building w/o platform
  st/va: move variable declaration to where its used
  st/va: fix misplaced closing bracket
  st/va: check if vl_*_screen_create has failed only once
  st/omx: remove unused drm_driver.h includes
  st/omx: remove unneeded X11 include
  st/omx: fix building against X11-less setups
  gallium/targets: link against XCB only as needed
  st/omx: add DRI3 support
  st/xvmc: add DRI3 support
  configure: error out if building VA w/o supported platform
  configure: error out if building OMX w/o supported platform
  configure: error out if building VDPAU w/o supported platform
  configure: error out if building XVMC w/o supported platform
  configure: trivial whitespace cleanup
  travis: remove workarounds for the Vulkan target

 .travis.yml                                  |   7 +-
 configure.ac                                 | 283 ++++++++++++++++-----------
 docs/egl.html                                |  12 +-
 docs/releasing.html                          |   2 +-
 src/amd/vulkan/Makefile.am                   |   3 +-
 src/egl/Makefile.am                          |  11 +-
 src/egl/main/egldisplay.c                    |   2 +-
 src/gallium/auxiliary/Makefile.am            |  20 +-
 src/gallium/auxiliary/Makefile.sources       |  10 +-
 src/gallium/auxiliary/vl/vl_winsys.h         |  21 +-
 src/gallium/state_trackers/omx/Makefile.am   |   1 +
 src/gallium/state_trackers/omx/entrypoint.c  |  10 +-
 src/gallium/state_trackers/omx/vid_dec.h     |   3 -
 src/gallium/state_trackers/omx/vid_enc.c     |   1 -
 src/gallium/state_trackers/va/Makefile.am    |   1 +
 src/gallium/state_trackers/va/context.c      |  14 +-
 src/gallium/state_trackers/vdpau/Makefile.am |   1 +
 src/gallium/state_trackers/vdpau/device.c    |   2 -
 src/gallium/state_trackers/xvmc/Makefile.am  |   3 +-
 src/gallium/state_trackers/xvmc/context.c    |   4 +-
 src/gallium/targets/omx/Makefile.am          |   7 +-
 src/gallium/targets/va/Makefile.am           |   7 +-
 src/gallium/targets/vdpau/Makefile.am        |   1 +
 src/gallium/targets/xvmc/Makefile.am         |   1 +
 src/gbm/Makefile.am                          |   1 -
 src/intel/Makefile.vulkan.am                 |   3 +-
 src/loader/Makefile.am                       |   2 +
 src/vulkan/Makefile.am                       |   7 -
 28 files changed, 252 insertions(+), 188 deletions(-)

-- 
2.12.2



More information about the mesa-dev mailing list