summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDylan Baker <[email protected]>2017-10-16 17:51:47 -0700
committerDylan Baker <[email protected]>2017-10-26 11:30:56 -0700
commiteb3bb03b34da02f2e368e84833a037afa7379476 (patch)
tree9eb8864966c2e0edb0404a4ab7530df93125831e
parenteecd2860ffc89bf1c699dcb41e00205f8fa7e08a (diff)
meson: build nouveau vieux driver
Build tested only. v2: - fix spelling error (veaux -> vieux) Signed-off-by: Dylan Baker <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
-rw-r--r--meson.build4
-rw-r--r--meson_options.txt2
-rw-r--r--src/mesa/drivers/dri/meson.build3
-rw-r--r--src/mesa/drivers/dri/nouveau/meson.build92
4 files changed, 99 insertions, 2 deletions
diff --git a/meson.build b/meson.build
index b6293760faf..1da1bb06798 100644
--- a/meson.build
+++ b/meson.build
@@ -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
diff --git a/meson_options.txt b/meson_options.txt
index 6208cb54187..3a6ad1014ac 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -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(
diff --git a/src/mesa/drivers/dri/meson.build b/src/mesa/drivers/dri/meson.build
index 5385dcc016f..ee1a1d95a64 100644
--- a/src/mesa/drivers/dri/meson.build
+++ b/src/mesa/drivers/dri/meson.build
@@ -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
index 00000000000..9ad6779d85e
--- /dev/null
+++ b/src/mesa/drivers/dri/nouveau/meson.build
@@ -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'