meson: most of gallium

Submitted by Dylan Baker on Nov. 28, 2017, 11:30 p.m.

Details

Reviewer None
Submitted Nov. 28, 2017, 11:30 p.m.
Last Updated Nov. 29, 2017, 7:16 p.m.
Revision 1

Cover Letter(s)

Revision 1
      This series is the gallium media state trackers, the "nine" Direct3D state
tracker, and an architectural change in the way gallium drivers are linked into
the final targets.

This architectural change results in a good deal of code savings, as well as
ensuring that generated targets are generated before the targets that depend on
them are built. It makes use of meson's `declare_dependency` construct to pass
bundled arguments, and the result is somewhat similar to the way that autotools
uses the Automake.inc files.

The returning state trackers are the same as the v5 of the remaining
drivers + media series, but now making use of the internal dependencies, and are
joined by the D3D "nine" state tracker.

Dylan Baker (14):
  meson: Combine gallium target subdirs
  meson: sort gallium drivers after winsys
  meson: define driver dependencies
  meson: use the driver dependencies for the gallium dri target
  meson: Use driver dependencies for libgl-xlib target
  meson: use driver_deps for gallium osmesa
  meson: extend install_megadrivers script to handle symmlinking
  meson: drop gallium-media argument
  meson: build gallium vdpau state tracker
  meson: build gallium xvmc state tracker
  meson: build gallium omx state tracker
  meson: build gallium va state tracker
  meson: build gallium xa state tracker
  meson: build gallium nine state_tracker

 bin/install_megadrivers.py                         |   8 +
 include/meson.build                                |   8 +
 meson.build                                        | 231 +++++++++++++++++++--
 meson_options.txt                                  |  69 +++++-
 src/gallium/drivers/etnaviv/meson.build            |   5 +
 src/gallium/drivers/freedreno/meson.build          |   5 +
 src/gallium/drivers/i915/meson.build               |   5 +
 src/gallium/drivers/llvmpipe/meson.build           |   8 +
 src/gallium/drivers/nouveau/meson.build            |   5 +
 src/gallium/drivers/r300/meson.build               |   5 +
 src/gallium/drivers/r600/meson.build               |   5 +
 src/gallium/drivers/radeonsi/meson.build           |   9 +
 src/gallium/drivers/softpipe/meson.build           |   5 +
 src/gallium/drivers/svga/meson.build               |   5 +
 src/gallium/drivers/vc4/meson.build                |   5 +
 src/gallium/drivers/vc5/meson.build                |   5 +
 src/gallium/drivers/virgl/meson.build              |   5 +
 src/gallium/meson.build                            |  94 +++++++--
 .../imx/drm => state_trackers/nine}/meson.build    |  51 ++++-
 .../omx_bellagio}/meson.build                      |  16 +-
 .../imx/drm => state_trackers/va}/meson.build      |  23 +-
 .../imx/drm => state_trackers/vdpau}/meson.build   |  16 +-
 .../virgl => state_trackers/xa}/meson.build        |  36 ++--
 .../i915 => state_trackers/xvmc}/meson.build       |  79 +++----
 src/gallium/targets/d3dadapter9/meson.build        |  72 +++++++
 src/gallium/targets/dri/meson.build                | 126 +++--------
 src/gallium/targets/libgl-xlib/meson.build         |  13 +-
 .../imx/drm => targets/omx-bellagio}/meson.build   |  35 +++-
 src/gallium/targets/osmesa/meson.build             |  13 +-
 src/gallium/targets/{libgl-xlib => va}/meson.build |  70 ++++---
 src/gallium/targets/vdpau/meson.build              |  71 +++++++
 src/gallium/targets/{osmesa => xa}/meson.build     |  59 +++---
 .../targets/{libgl-xlib => xvmc}/meson.build       |  67 +++---
 src/gallium/winsys/imx/drm/meson.build             |   5 +
 src/gallium/winsys/pl111/drm/meson.build           |   5 +
 35 files changed, 886 insertions(+), 353 deletions(-)
 copy src/gallium/{winsys/imx/drm => state_trackers/nine}/meson.build (55%)
 copy src/gallium/{winsys/imx/drm => state_trackers/omx_bellagio}/meson.build (78%)
 copy src/gallium/{winsys/imx/drm => state_trackers/va}/meson.build (65%)
 copy src/gallium/{winsys/imx/drm => state_trackers/vdpau}/meson.build (71%)
 copy src/gallium/{drivers/virgl => state_trackers/xa}/meson.build (65%)
 copy src/gallium/{drivers/i915 => state_trackers/xvmc}/meson.build (52%)
 create mode 100644 src/gallium/targets/d3dadapter9/meson.build
 copy src/gallium/{winsys/imx/drm => targets/omx-bellagio}/meson.build (54%)
 copy src/gallium/targets/{libgl-xlib => va}/meson.build (52%)
 create mode 100644 src/gallium/targets/vdpau/meson.build
 copy src/gallium/targets/{osmesa => xa}/meson.build (52%)
 copy src/gallium/targets/{libgl-xlib => xvmc}/meson.build (51%)
    

Revisions