From eb3bb03b34da02f2e368e84833a037afa7379476 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Mon, 16 Oct 2017 17:51:47 -0700 Subject: [PATCH] meson: build nouveau vieux driver Build tested only. v2: - fix spelling error (veaux -> vieux) Signed-off-by: Dylan Baker Reviewed-by: Eric Anholt --- meson.build | 4 +- meson_options.txt | 2 +- src/mesa/drivers/dri/meson.build | 3 + src/mesa/drivers/dri/nouveau/meson.build | 92 ++++++++++++++++++++++++ 4 files changed, 99 insertions(+), 2 deletions(-) create mode 100644 src/mesa/drivers/dri/nouveau/meson.build 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' -- 2.30.2