meson: build gallium winsys for dri, null, and wrapper

Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
This commit is contained in:
Dylan Baker
2017-09-30 13:48:34 -07:00
parent 66f97f6640
commit 66c94b9313
7 changed files with 127 additions and 7 deletions

View File

@@ -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

View File

@@ -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],

View File

@@ -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')

View File

@@ -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,
)

View File

@@ -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,
)

View File

@@ -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,
)

View File

@@ -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,
)