[Mesa-dev] [PATCH 6/6] meson: build classic swrast

Dylan Baker dylan at pnwbakers.com
Wed Oct 4 00:26:49 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              |  5 +++
 src/mesa/drivers/dri/{ => swrast}/meson.build | 45 +++++----------------------
 4 files changed, 16 insertions(+), 38 deletions(-)
 copy src/mesa/drivers/dri/{ => swrast}/meson.build (52%)

diff --git a/meson.build b/meson.build
index 185d70509c5..603bdfbdb7f 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 2306be319cc..5fdb41e6071 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -21,7 +21,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 f7403ec09fc..153aa15efb6 100644
--- a/src/mesa/drivers/dri/meson.build
+++ b/src/mesa/drivers/dri/meson.build
@@ -19,11 +19,16 @@
 # SOFTWARE.
 
 subdir('common')
+subdir('swrast')
 subdir('i965')
 
 if with_dri
   dri_drivers = []
   dri_link = []
+  if with_dri_swrast
+    dri_drivers += libswrast_dri
+    dri_link += 'swrast_dri.so'
+  endif
   if with_dri_i965
     dri_drivers += libi965
     dri_link += 'i965_dri.so'
diff --git a/src/mesa/drivers/dri/meson.build b/src/mesa/drivers/dri/swrast/meson.build
similarity index 52%
copy from src/mesa/drivers/dri/meson.build
copy to src/mesa/drivers/dri/swrast/meson.build
index f7403ec09fc..1235dedbe3c 100644
--- a/src/mesa/drivers/dri/meson.build
+++ b/src/mesa/drivers/dri/swrast/meson.build
@@ -18,40 +18,11 @@
 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 # SOFTWARE.
 
-subdir('common')
-subdir('i965')
-
-if with_dri
-  dri_drivers = []
-  dri_link = []
-  if with_dri_i965
-    dri_drivers += libi965
-    dri_link += 'i965_dri.so'
-  endif
-
-  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(),
-    with_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,
+  build_by_default : false,
+)
-- 
2.14.1



More information about the mesa-dev mailing list