From: Dylan Baker Date: Sat, 30 Sep 2017 20:48:34 +0000 (-0700) Subject: meson: build gallium winsys for dri, null, and wrapper X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=66c94b9313a697ce8f2b222f4ba353035e4b8726;p=mesa.git meson: build gallium winsys for dri, null, and wrapper Signed-off-by: Dylan Baker Reviewed-by: Eric Anholt --- diff --git a/meson.build b/meson.build index ebaf2d957fd..e2f49415295 100644 --- a/meson.build +++ b/meson.build @@ -523,10 +523,14 @@ else dep_clock = cc.find_library('rt') endif +with_gallium_drisw_kms = false dep_libdrm = dependency('libdrm', version : '>= 2.4.75', required : with_dri2 or with_dri3) if dep_libdrm.found() pre_args += '-DHAVE_LIBDRM' + if with_dri_platform == 'drm' and with_dri + with_gallium_drisw_kms = true + endif endif # TODO: some of these may be conditional diff --git a/src/gallium/auxiliary/pipe-loader/meson.build b/src/gallium/auxiliary/pipe-loader/meson.build index c84fc9ddce8..9b12432aea0 100644 --- a/src/gallium/auxiliary/pipe-loader/meson.build +++ b/src/gallium/auxiliary/pipe-loader/meson.build @@ -26,9 +26,14 @@ files_pipe_loader = files( 'driinfo_gallium.h', ) +libpipe_loader_defines = [] + if dep_libdrm.found() files_pipe_loader += files('pipe_loader_drm.c') endif +if with_gallium_drisw_kms + libpipe_loader_defines += '-DHAVE_PIPE_LOADER_KMS' +endif libpipe_loader_static = static_library( 'pipe_loader_static', @@ -38,7 +43,8 @@ libpipe_loader_static = static_library( inc_gallium_winsys, ], c_args : [ - c_vis_args, '-DHAVE_PIPE_LOADER_DRI', '-DGALLIUM_STATIC_TARGETS=1' + c_vis_args, '-DHAVE_PIPE_LOADER_DRI', '-DGALLIUM_STATIC_TARGETS=1', + libpipe_loader_defines, ], link_with : [libloader, libxmlconfig], dependencies : [dep_libdrm], @@ -53,8 +59,8 @@ libpipe_loader_dynamic = static_library( inc_gallium_winsys, ], c_args : [ - c_vis_args, '-DHAVE_PIPE_LOADER_DRI', '-DPIPE_SEARCH_DIR="@0@"'.format( - join_paths(get_option('libdir'), 'gallium-pipe') + c_vis_args, libpipe_loader_defines, '-DHAVE_PIPE_LOADER_DRI', + '-DPIPE_SEARCH_DIR="@0@"'.format(join_paths(get_option('libdir'), 'gallium-pipe') ) ], link_with : [libloader, libxmlconfig], diff --git a/src/gallium/meson.build b/src/gallium/meson.build index 0a808d3cfda..d500cf5493c 100644 --- a/src/gallium/meson.build +++ b/src/gallium/meson.build @@ -30,6 +30,10 @@ subdir('drivers/trace') subdir('drivers/rbug') subdir('drivers/radeon') subdir('drivers/radeonsi') +subdir('winsys/sw/null') +subdir('winsys/sw/dri') +subdir('winsys/sw/kms-dri') +subdir('winsys/sw/wrapper') subdir('winsys/radeon/drm') subdir('winsys/amdgpu/drm') subdir('state_trackers/dri') @@ -47,11 +51,7 @@ subdir('state_trackers/dri') # TODO: SWR # TODO: vc4 # TODO: virgl -# TODO: winsys/sw/null # TODO: winsys/sw/xlib -# TODO: winsys/sw/dri -# TODO: winsys/sw/kms-dri -# TODO: winsys/sw/wrapper # TODO: clover if with_dri #subdir('targets/dri') diff --git a/src/gallium/winsys/sw/dri/meson.build b/src/gallium/winsys/sw/dri/meson.build new file mode 100644 index 00000000000..6ada8d1bc7d --- /dev/null +++ b/src/gallium/winsys/sw/dri/meson.build @@ -0,0 +1,27 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +libswdri = static_library( + 'swdri', + files('dri_sw_winsys.c', 'dri_sw_winsys.h'), + c_args : c_vis_args, + include_directories : [inc_gallium, inc_include, inc_src, inc_gallium_aux], + build_by_default : false, +) diff --git a/src/gallium/winsys/sw/kms-dri/meson.build b/src/gallium/winsys/sw/kms-dri/meson.build new file mode 100644 index 00000000000..a26644d4f7d --- /dev/null +++ b/src/gallium/winsys/sw/kms-dri/meson.build @@ -0,0 +1,29 @@ +# 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. + + +libswkmsdri = static_library( + 'swkmsdri', + files('kms_dri_sw_winsys.c', 'kms_dri_sw_winsys.h'), + c_args : c_vis_args, + include_directories : [inc_gallium, inc_include, inc_src, inc_gallium_aux], + dependencies : dep_libdrm, + build_by_default : false, +) diff --git a/src/gallium/winsys/sw/null/meson.build b/src/gallium/winsys/sw/null/meson.build new file mode 100644 index 00000000000..08b0ff7e828 --- /dev/null +++ b/src/gallium/winsys/sw/null/meson.build @@ -0,0 +1,27 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +libws_null = static_library( + 'ws_null', + files('null_sw_winsys.c', 'null_sw_winsys.h'), + c_args : c_vis_args, + include_directories : [inc_gallium, inc_src, inc_gallium_aux, inc_include], + build_by_default : false, +) diff --git a/src/gallium/winsys/sw/wrapper/meson.build b/src/gallium/winsys/sw/wrapper/meson.build new file mode 100644 index 00000000000..4672261f216 --- /dev/null +++ b/src/gallium/winsys/sw/wrapper/meson.build @@ -0,0 +1,27 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +libwsw = static_library( + 'wsw', + files('wrapper_sw_winsys.c', 'wrapper_sw_winsys.h'), + c_args : c_vis_args, + include_directories : [inc_gallium, inc_include, inc_src, inc_gallium_aux], + build_by_default : false, +)