meson: build nouveau vieux driver
authorDylan Baker <dylan@pnwbakers.com>
Tue, 17 Oct 2017 00:51:47 +0000 (17:51 -0700)
committerDylan Baker <dylan@pnwbakers.com>
Thu, 26 Oct 2017 18:30:56 +0000 (11:30 -0700)
Build tested only.

v2: - fix spelling error (veaux -> vieux)

Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
meson.build
meson_options.txt
src/mesa/drivers/dri/meson.build
src/mesa/drivers/dri/nouveau/meson.build [new file with mode: 0644]

index b6293760fafc5d9a0ff8d3c2ba4d4740498e69ec..1da1bb06798dbfa40b74d60ddded0d735452811e 100644 (file)
@@ -89,6 +89,7 @@ with_dri_i915 = false
 with_dri_i965 = false
 with_dri_r100 = false
 with_dri_r200 = false
+with_dri_nouveau = false
 with_dri_swrast = false
 _drivers = get_option('dri-drivers')
 if _drivers != ''
@@ -97,6 +98,7 @@ if _drivers != ''
   with_dri_i965 = _split.contains('i965')
   with_dri_r100 = _split.contains('r100')
   with_dri_r200 = _split.contains('r200')
+  with_dri_nouveau = _split.contains('nouveau')
   with_dri_swrast = _split.contains('swrast')
   with_dri = true
 endif
@@ -634,7 +636,7 @@ endif
 if with_gallium_radeonsi or with_dri_r100 or with_dri_r200
   dep_libdrm_radeon = dependency('libdrm_radeon', version : '>= 2.4.71')
 endif
-if with_gallium_nouveau
+if with_gallium_nouveau or with_dri_nouveau
   dep_libdrm_nouveau = dependency('libdrm_nouveau', version : '>= 2.4.66')
 endif
 if with_gallium_etnaviv
index 6208cb54187db12a07f2ced98d10adabd5e1e093..3a6ad1014ac508376f8316f05ad9b1c701672928 100644 (file)
@@ -34,7 +34,7 @@ option(
 option(
   'dri-drivers',
   type : 'string',
-  value : 'i915,i965,r100,r200',
+  value : 'i915,i965,r100,r200,nouveau',
   description : 'comma separated list of dri drivers to build.'
 )
 option(
index 5385dcc016f3d91d39ebe39b9e15ac82e06be707..ee1a1d95a64edd1d134aa5a8084bab36f5d76bd8 100644 (file)
@@ -37,6 +37,9 @@ endif
 if with_dri_r200
   subdir('r200')
 endif
+if with_dri_nouveau
+  subdir('nouveau')
+endif
 
 if dri_drivers != []
   libmesa_dri_drivers = shared_library(
diff --git a/src/mesa/drivers/dri/nouveau/meson.build b/src/mesa/drivers/dri/nouveau/meson.build
new file mode 100644 (file)
index 0000000..9ad6779
--- /dev/null
@@ -0,0 +1,92 @@
+# Copyright © 2017 Intel Corporation
+
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+files_nouveau_vieux = files(
+  'nouveau_array.c',
+  'nouveau_array.h',
+  'nouveau_bufferobj.c',
+  'nouveau_bufferobj.h',
+  'nouveau_context.c',
+  'nouveau_context.h',
+  'nouveau_driver.c',
+  'nouveau_driver.h',
+  'nouveau_fbo.c',
+  'nouveau_fbo.h',
+  'nouveau_gldefs.h',
+  'nouveau_local.h',
+  'nouveau_render.h',
+  'nouveau_scratch.c',
+  'nouveau_scratch.h',
+  'nouveau_screen.c',
+  'nouveau_screen.h',
+  'nouveau_span.c',
+  'nouveau_state.c',
+  'nouveau_state.h',
+  'nouveau_surface.c',
+  'nouveau_surface.h',
+  'nouveau_texture.c',
+  'nouveau_texture.h',
+  'nouveau_util.h',
+  'nv01_2d.xml.h',
+  'nv04_3d.xml.h',
+  'nv04_context.c',
+  'nv04_context.h',
+  'nv04_driver.h',
+  'nv04_render.c',
+  'nv04_state_fb.c',
+  'nv04_state_frag.c',
+  'nv04_state_raster.c',
+  'nv04_state_tex.c',
+  'nv04_surface.c',
+  'nv10_3d.xml.h',
+  'nv10_context.c',
+  'nv10_driver.h',
+  'nv10_render.c',
+  'nv10_state_fb.c',
+  'nv10_state_frag.c',
+  'nv10_state_polygon.c',
+  'nv10_state_raster.c',
+  'nv10_state_tex.c',
+  'nv10_state_tnl.c',
+  'nv20_3d.xml.h',
+  'nv20_context.c',
+  'nv20_driver.h',
+  'nv20_render.c',
+  'nv20_state_fb.c',
+  'nv20_state_frag.c',
+  'nv20_state_polygon.c',
+  'nv20_state_raster.c',
+  'nv20_state_tex.c',
+  'nv20_state_tnl.c',
+  'nv_m2mf.xml.h',
+  'nv_object.xml.h',
+)
+
+libnouveau_vieux = static_library(
+  'nouveau_vieux',
+  [files_nouveau_vieux, xmlpool_options_h],
+  include_directories : [inc_common, inc_dri_common, inc_util],
+  c_args : [c_vis_args],
+  cpp_args : [cpp_vis_args],
+  dependencies : [dep_libdrm, dep_libdrm_nouveau],
+)
+
+dri_drivers += libnouveau_vieux
+dri_link += 'nouveau_vieux_dri.so'