2017-09-29 06:25:02 +01:00
|
|
|
# Copyright © 2017 Dylan Baker
|
2018-01-11 00:07:11 +00:00
|
|
|
# Copyright © 2017-2018 Intel Corporation
|
2017-09-29 06:25:02 +01:00
|
|
|
|
|
|
|
# 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.
|
|
|
|
|
2017-09-30 17:03:51 +01:00
|
|
|
inc_gallium_drivers = include_directories('drivers')
|
2017-09-30 04:03:20 +01:00
|
|
|
inc_gallium_winsys = include_directories('winsys')
|
2018-04-18 21:27:13 +01:00
|
|
|
inc_gallium_winsys_sw = include_directories('winsys/sw')
|
2017-09-29 06:25:02 +01:00
|
|
|
|
|
|
|
subdir('auxiliary')
|
2017-09-30 04:03:20 +01:00
|
|
|
subdir('auxiliary/pipe-loader')
|
2017-09-30 21:48:34 +01:00
|
|
|
subdir('winsys/sw/null')
|
2018-02-12 18:46:06 +00:00
|
|
|
if with_dri
|
|
|
|
subdir('winsys/sw/dri')
|
|
|
|
else
|
|
|
|
libswdri = []
|
|
|
|
endif
|
|
|
|
if with_gallium_drisw_kms
|
|
|
|
subdir('winsys/sw/kms-dri')
|
|
|
|
else
|
|
|
|
libswkmsdri = []
|
|
|
|
endif
|
2018-04-18 21:27:13 +01:00
|
|
|
if with_platform_windows
|
|
|
|
subdir('winsys/sw/gdi')
|
|
|
|
else
|
|
|
|
libwsgdi = null_dep
|
|
|
|
endif
|
2017-09-30 21:48:34 +01:00
|
|
|
subdir('winsys/sw/wrapper')
|
2018-02-16 22:56:31 +00:00
|
|
|
if with_platform_haiku
|
|
|
|
subdir('winsys/sw/hgl')
|
|
|
|
endif
|
2017-11-10 17:17:08 +00:00
|
|
|
if with_gallium_softpipe
|
|
|
|
subdir('drivers/softpipe')
|
2021-02-24 18:42:49 +00:00
|
|
|
if draw_with_llvm
|
2017-11-10 17:17:08 +00:00
|
|
|
subdir('drivers/llvmpipe')
|
|
|
|
endif
|
2017-11-15 18:43:20 +00:00
|
|
|
else
|
|
|
|
driver_swrast = declare_dependency()
|
2017-11-10 17:17:08 +00:00
|
|
|
endif
|
2021-04-20 20:36:41 +01:00
|
|
|
if with_gallium_asahi
|
|
|
|
subdir('drivers/asahi')
|
|
|
|
else
|
|
|
|
driver_asahi = declare_dependency()
|
|
|
|
endif
|
2017-10-26 02:55:38 +01:00
|
|
|
if with_gallium_r300 or with_gallium_radeonsi or with_gallium_r600
|
2017-10-26 01:59:11 +01:00
|
|
|
subdir('winsys/radeon/drm')
|
|
|
|
endif
|
|
|
|
if with_gallium_r300
|
|
|
|
subdir('drivers/r300')
|
2017-11-15 18:43:20 +00:00
|
|
|
else
|
|
|
|
driver_r300 = declare_dependency()
|
2017-10-26 01:59:11 +01:00
|
|
|
endif
|
2017-10-26 02:55:38 +01:00
|
|
|
if with_gallium_r600
|
|
|
|
subdir('drivers/r600')
|
2017-11-15 18:43:20 +00:00
|
|
|
else
|
|
|
|
driver_r600 = declare_dependency()
|
2017-10-26 02:55:38 +01:00
|
|
|
endif
|
2017-11-10 17:17:08 +00:00
|
|
|
if with_gallium_radeonsi
|
2017-11-15 18:41:42 +00:00
|
|
|
subdir('winsys/amdgpu/drm')
|
2017-11-10 17:17:08 +00:00
|
|
|
subdir('drivers/radeonsi')
|
2017-11-15 18:43:20 +00:00
|
|
|
else
|
|
|
|
driver_radeonsi = declare_dependency()
|
2017-11-10 17:17:08 +00:00
|
|
|
endif
|
|
|
|
if with_gallium_nouveau
|
|
|
|
subdir('winsys/nouveau/drm')
|
2017-11-15 18:41:42 +00:00
|
|
|
subdir('drivers/nouveau')
|
2017-11-15 18:43:20 +00:00
|
|
|
else
|
|
|
|
driver_nouveau = declare_dependency()
|
2017-11-10 17:17:08 +00:00
|
|
|
endif
|
|
|
|
if with_gallium_freedreno
|
|
|
|
subdir('winsys/freedreno/drm')
|
2017-11-15 18:41:42 +00:00
|
|
|
subdir('drivers/freedreno')
|
2017-11-15 18:43:20 +00:00
|
|
|
else
|
|
|
|
driver_freedreno = declare_dependency()
|
2017-11-10 17:17:08 +00:00
|
|
|
endif
|
2017-10-12 21:53:12 +01:00
|
|
|
if with_gallium_vc4
|
|
|
|
subdir('winsys/vc4/drm')
|
2017-11-15 18:41:42 +00:00
|
|
|
subdir('drivers/vc4')
|
2017-11-15 18:43:20 +00:00
|
|
|
else
|
|
|
|
driver_vc4 = declare_dependency()
|
2017-10-12 21:53:12 +01:00
|
|
|
endif
|
2019-01-29 05:46:07 +00:00
|
|
|
if with_gallium_panfrost
|
|
|
|
subdir('winsys/panfrost/drm')
|
|
|
|
subdir('drivers/panfrost')
|
|
|
|
else
|
|
|
|
driver_panfrost = declare_dependency()
|
|
|
|
endif
|
2019-01-23 22:08:08 +00:00
|
|
|
if with_gallium_etnaviv
|
|
|
|
subdir('winsys/etnaviv/drm')
|
|
|
|
subdir('drivers/etnaviv')
|
|
|
|
else
|
|
|
|
driver_etnaviv = declare_dependency()
|
|
|
|
endif
|
2018-10-23 20:33:09 +01:00
|
|
|
if with_gallium_kmsro
|
|
|
|
subdir('winsys/kmsro/drm')
|
2017-12-04 15:06:03 +00:00
|
|
|
else
|
2018-10-23 20:33:09 +01:00
|
|
|
driver_kmsro = declare_dependency()
|
2017-12-04 15:06:03 +00:00
|
|
|
endif
|
2017-08-25 23:34:22 +01:00
|
|
|
if with_gallium_v3d
|
2018-05-01 20:24:48 +01:00
|
|
|
subdir('winsys/v3d/drm')
|
|
|
|
subdir('drivers/v3d')
|
2017-11-15 18:43:20 +00:00
|
|
|
else
|
2017-08-25 23:34:22 +01:00
|
|
|
driver_v3d = declare_dependency()
|
2017-10-13 02:40:16 +01:00
|
|
|
endif
|
2014-05-27 23:36:48 +01:00
|
|
|
if with_gallium_tegra
|
|
|
|
subdir('winsys/tegra/drm')
|
|
|
|
subdir('drivers/tegra')
|
|
|
|
else
|
|
|
|
driver_tegra = declare_dependency()
|
|
|
|
endif
|
2021-06-01 04:14:51 +01:00
|
|
|
if with_gallium_crocus
|
|
|
|
subdir('winsys/crocus/drm')
|
|
|
|
subdir('drivers/crocus')
|
|
|
|
else
|
|
|
|
driver_crocus = declare_dependency()
|
|
|
|
endif
|
2017-11-24 07:15:14 +00:00
|
|
|
if with_gallium_iris
|
|
|
|
subdir('winsys/iris/drm')
|
|
|
|
subdir('drivers/iris')
|
|
|
|
else
|
|
|
|
driver_iris = declare_dependency()
|
|
|
|
endif
|
2017-10-26 00:54:53 +01:00
|
|
|
if with_gallium_i915
|
|
|
|
subdir('winsys/i915/drm')
|
|
|
|
subdir('drivers/i915')
|
2017-11-15 18:43:20 +00:00
|
|
|
else
|
|
|
|
driver_i915 = declare_dependency()
|
2017-11-02 20:36:44 +00:00
|
|
|
endif
|
2017-10-26 22:19:19 +01:00
|
|
|
if with_gallium_svga
|
2020-11-26 16:45:54 +00:00
|
|
|
if not with_platform_windows
|
|
|
|
subdir('winsys/svga/drm')
|
|
|
|
endif
|
2017-11-15 18:41:42 +00:00
|
|
|
subdir('drivers/svga')
|
2017-11-15 18:43:20 +00:00
|
|
|
else
|
|
|
|
driver_svga = declare_dependency()
|
2017-10-26 22:19:19 +01:00
|
|
|
endif
|
2017-10-26 23:45:40 +01:00
|
|
|
if with_gallium_virgl
|
2019-06-12 08:29:32 +01:00
|
|
|
subdir('winsys/virgl/common')
|
2017-10-26 23:45:40 +01:00
|
|
|
subdir('winsys/virgl/drm')
|
|
|
|
subdir('winsys/virgl/vtest')
|
2017-11-15 18:41:42 +00:00
|
|
|
subdir('drivers/virgl')
|
2017-11-15 18:43:20 +00:00
|
|
|
else
|
|
|
|
driver_virgl = declare_dependency()
|
2017-10-26 23:45:40 +01:00
|
|
|
endif
|
2019-03-12 19:49:26 +00:00
|
|
|
if with_gallium_lima
|
|
|
|
subdir('winsys/lima/drm')
|
|
|
|
subdir('drivers/lima')
|
|
|
|
else
|
|
|
|
driver_lima = declare_dependency()
|
|
|
|
endif
|
2018-08-31 15:50:20 +01:00
|
|
|
if with_gallium_zink
|
|
|
|
subdir('drivers/zink')
|
|
|
|
else
|
|
|
|
driver_zink = declare_dependency()
|
|
|
|
endif
|
2019-05-26 09:43:12 +01:00
|
|
|
if with_gallium_d3d12
|
|
|
|
subdir('drivers/d3d12')
|
|
|
|
else
|
|
|
|
driver_d3d12 = declare_dependency()
|
|
|
|
endif
|
2017-12-08 23:26:00 +00:00
|
|
|
if with_gallium_opencl
|
|
|
|
# TODO: this isn't really clover specific, but ATM clover is the only
|
|
|
|
# consumer
|
|
|
|
subdir('targets/pipe-loader')
|
|
|
|
|
2019-12-03 23:01:31 +00:00
|
|
|
subdir('frontends/clover')
|
2017-12-08 23:26:00 +00:00
|
|
|
subdir('targets/opencl')
|
|
|
|
endif
|
2017-11-15 01:04:27 +00:00
|
|
|
if with_dri
|
2019-12-03 23:01:31 +00:00
|
|
|
subdir('frontends/dri')
|
2017-09-30 22:04:28 +01:00
|
|
|
subdir('targets/dri')
|
2017-09-30 17:03:51 +01:00
|
|
|
endif
|
2019-07-03 19:10:32 +01:00
|
|
|
if with_osmesa
|
2019-12-03 23:01:31 +00:00
|
|
|
subdir('frontends/osmesa')
|
2017-10-24 23:52:57 +01:00
|
|
|
subdir('targets/osmesa')
|
|
|
|
endif
|
2021-04-15 18:07:40 +01:00
|
|
|
if with_glx == 'xlib'
|
2017-11-28 22:30:27 +00:00
|
|
|
subdir('winsys/sw/xlib')
|
2019-12-03 23:01:31 +00:00
|
|
|
subdir('frontends/glx/xlib')
|
2017-11-02 20:36:44 +00:00
|
|
|
subdir('targets/libgl-xlib')
|
|
|
|
endif
|
2017-10-30 21:04:21 +00:00
|
|
|
if with_gallium_vdpau
|
2019-12-03 23:01:31 +00:00
|
|
|
subdir('frontends/vdpau')
|
2017-10-30 21:04:21 +00:00
|
|
|
subdir('targets/vdpau')
|
|
|
|
endif
|
2017-10-30 21:32:30 +00:00
|
|
|
if with_gallium_xvmc
|
2019-12-03 23:01:31 +00:00
|
|
|
subdir('frontends/xvmc')
|
2017-10-30 21:32:30 +00:00
|
|
|
subdir('targets/xvmc')
|
|
|
|
endif
|
2018-03-06 18:11:38 +00:00
|
|
|
if with_gallium_omx != 'disabled'
|
2019-12-03 23:01:31 +00:00
|
|
|
subdir('frontends/omx')
|
2018-01-19 23:42:06 +00:00
|
|
|
subdir('targets/omx')
|
2017-10-30 22:23:06 +00:00
|
|
|
endif
|
2017-10-30 22:49:37 +00:00
|
|
|
if with_gallium_va
|
2019-12-03 23:01:31 +00:00
|
|
|
subdir('frontends/va')
|
2017-10-30 22:49:37 +00:00
|
|
|
subdir('targets/va')
|
|
|
|
endif
|
2017-10-31 00:40:30 +00:00
|
|
|
if with_gallium_xa
|
2019-12-03 23:01:31 +00:00
|
|
|
subdir('frontends/xa')
|
2017-10-31 00:40:30 +00:00
|
|
|
subdir('targets/xa')
|
|
|
|
endif
|
2018-02-16 22:56:31 +00:00
|
|
|
if with_platform_haiku
|
2019-12-03 23:01:31 +00:00
|
|
|
subdir('frontends/hgl')
|
2018-02-16 22:56:31 +00:00
|
|
|
subdir('targets/haiku-softpipe')
|
|
|
|
endif
|
2017-11-14 01:58:51 +00:00
|
|
|
if with_gallium_st_nine
|
2019-12-03 23:01:31 +00:00
|
|
|
subdir('frontends/nine')
|
2017-11-14 01:58:51 +00:00
|
|
|
subdir('targets/d3dadapter9')
|
|
|
|
endif
|
2021-05-05 11:57:43 +01:00
|
|
|
if with_gallium_st_d3d10umd
|
|
|
|
subdir('frontends/d3d10umd')
|
|
|
|
subdir('targets/d3d10sw')
|
|
|
|
endif
|
2018-04-18 21:28:04 +01:00
|
|
|
if with_platform_windows
|
2019-12-03 23:01:31 +00:00
|
|
|
subdir('frontends/wgl')
|
2020-02-21 21:02:35 +00:00
|
|
|
if with_gallium_d3d12
|
2020-04-24 21:09:07 +01:00
|
|
|
subdir('winsys/d3d12/wgl')
|
2020-02-21 21:02:35 +00:00
|
|
|
subdir('targets/libgl-d3d12')
|
2020-04-24 21:09:07 +01:00
|
|
|
else
|
|
|
|
winsys_d3d12_wgl = declare_dependency()
|
2020-02-21 21:02:35 +00:00
|
|
|
endif
|
2021-09-01 15:07:57 +01:00
|
|
|
subdir('targets/wgl')
|
2020-04-24 21:09:07 +01:00
|
|
|
subdir('targets/libgl-gdi')
|
2018-04-18 21:28:04 +01:00
|
|
|
endif
|
2018-01-11 00:07:11 +00:00
|
|
|
if with_tests
|
2018-04-05 22:39:13 +01:00
|
|
|
subdir('targets/graw-null')
|
2018-04-18 21:29:04 +01:00
|
|
|
if with_platform_windows
|
|
|
|
subdir('targets/graw-gdi')
|
|
|
|
elif with_glx == 'gallium-xlib'
|
2018-04-05 22:39:13 +01:00
|
|
|
subdir('targets/graw-xlib')
|
|
|
|
endif
|
2018-01-11 00:07:11 +00:00
|
|
|
subdir('tests')
|
|
|
|
endif
|
2020-06-19 07:40:27 +01:00
|
|
|
if with_swrast_vk
|
2020-09-29 20:29:04 +01:00
|
|
|
subdir('frontends/lavapipe')
|
|
|
|
subdir('targets/lavapipe')
|
2020-06-19 07:40:27 +01:00
|
|
|
endif
|