[Mesa-dev] [PATCH v2 10/12] meson: build classic swrast

Dylan Baker dylan at pnwbakers.com
Thu Oct 5 17:12:28 UTC 2017


This adds support for building the classic swrast implementation. This
driver has been tested with glxinfo and glxgears.

Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
---
 meson.build                                   |  2 ++
 meson_options.txt                             |  2 +-
 src/mesa/drivers/dri/meson.build              |  3 ++
 src/mesa/drivers/dri/{ => swrast}/meson.build | 45 ++++++---------------------
 4 files changed, 16 insertions(+), 36 deletions(-)
 copy src/mesa/drivers/dri/{ => swrast}/meson.build (53%)

diff --git a/meson.build b/meson.build
index 79ee1a33459..bff40f697d3 100644
--- a/meson.build
+++ b/meson.build
@@ -73,10 +73,12 @@ endif
 
 with_dri = false
 with_dri_i965 = false
+with_dri_swrast = false
 _drivers = get_option('dri-drivers')
 if _drivers != ''
   _split = _drivers.split(',')
   with_dri_i965 = _split.contains('i965')
+  with_dri_swrast = _split.contains('swrast')
   with_dri = true
 endif
 
diff --git a/meson_options.txt b/meson_options.txt
index 6dde267de95..029626d69a4 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -22,7 +22,7 @@ option('platforms', type : 'string', value : 'x11,wayland',
        description : 'comma separated list of window systems to support. wayland, x11, surfaceless, drm, etc.')
 option('dri3', type : 'combo', value : 'auto', choices : ['auto', 'yes', 'no'],
        description : 'enable support for dri3')
-option('dri-drivers', type : 'string', value : 'i965',
+option('dri-drivers', type : 'string', value : 'swrast,i965',
        description : 'comma separated list of dri drivers to build.')
 option('dri-drivers-path', type : 'string', value : '',
        description : 'Location of dri drivers. Default: $libdir/dri.')
diff --git a/src/mesa/drivers/dri/meson.build b/src/mesa/drivers/dri/meson.build
index 9e0e9638aa4..cc2272eff6d 100644
--- a/src/mesa/drivers/dri/meson.build
+++ b/src/mesa/drivers/dri/meson.build
@@ -22,6 +22,9 @@ subdir('common')
 
 dri_drivers = []
 dri_link = []
+if with_dri_swrast
+  subdir('swrast')
+endif
 if with_dri_i965
   subdir('i965')
 endif
diff --git a/src/mesa/drivers/dri/meson.build b/src/mesa/drivers/dri/swrast/meson.build
similarity index 53%
copy from src/mesa/drivers/dri/meson.build
copy to src/mesa/drivers/dri/swrast/meson.build
index 9e0e9638aa4..5ceb1e33e3e 100644
--- a/src/mesa/drivers/dri/meson.build
+++ b/src/mesa/drivers/dri/swrast/meson.build
@@ -18,38 +18,13 @@
 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 # SOFTWARE.
 
-subdir('common')
-
-dri_drivers = []
-dri_link = []
-if with_dri_i965
-  subdir('i965')
-endif
-
-if with_dri
-  libmesa_dri_drivers = shared_library(
-    'mesa_dri_drivers',
-    dummy_cpp,  # see meson #2180
-    link_whole : dri_drivers,
-    link_with : [libmegadriver_stub, libdricommon, libxmlconfig, libglapi,
-                 libmesa_util, libnir, libmesa_classic],
-    dependencies : [dep_selinux, dep_libdrm, dep_expat, dep_m, dep_thread,
-                    dep_dl],
-    link_args : [ld_args_bsymbolic, ld_args_gc_sections],
-  )
-
-  pkg.generate(
-    name : 'dri',
-    filebase : 'dri',
-    description : 'Direct Rendering Infrastructure',
-    version : meson.project_version(),
-    requires_private : ['libdrm >= 2.4.75'],  # FIXME: don't hardcode this
-  )
-
-  meson.add_install_script(
-    join_paths(meson.source_root(), 'bin/install_megadrivers.py'),
-    libmesa_dri_drivers.full_path(),
-    dri_drivers_path,
-    dri_link,
-  )
-endif
+libswrast_dri = static_library(
+  'swrast_dri',
+  files('swrast.c', 'swrast_priv.h'),
+  c_args : [c_vis_args],
+  include_directories : [inc_common, inc_dri_common],
+  dependencies : dep_libdrm,
+)
+
+dri_drivers += libswrast_dri
+dri_link += 'swrast_dri.so'
-- 
2.14.1



More information about the mesa-dev mailing list