• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright © 2017 Dylan Baker
2# Copyright © 2017-2018 Intel Corporation
3# SPDX-License-Identifier: MIT
4
5sym_config = configuration_data()
6
7foreach d : [[with_gallium_r300 or with_gallium_radeonsi or with_gallium_r600, 'radeon_drm_winsys_create'],
8             [with_gallium_radeonsi, 'amdgpu_winsys_create'],
9             [with_gallium_nouveau, 'nouveau_drm_screen_create'],
10             [with_gallium_freedreno, 'fd_drm_screen_create_renderonly'],
11             [amd_with_llvm and with_gallium_radeonsi, 'ac_init_shared_llvm_once'],
12             [with_gallium_vdpau, 'vdp_imp_device_create_x11']]
13  if d[0]
14    sym_config.set(d[1], d[1] + ';')
15  else
16    sym_config.set(d[1], '')
17  endif
18endforeach
19
20if with_gallium_va
21  sym_config.set('va_driver_init', '__vaDriverInit_*_*;')
22else
23  sym_config.set('va_driver_init', '')
24endif
25
26inc_gallium_drivers = include_directories('drivers')
27inc_gallium_winsys = include_directories('winsys')
28inc_gallium_winsys_sw = include_directories('winsys/sw')
29
30subdir('auxiliary')
31subdir('auxiliary/pipe-loader')
32subdir('winsys/sw/null')
33if with_dri
34  subdir('winsys/sw/dri')
35else
36  libswdri = []
37endif
38if with_gallium_drisw_kms
39  subdir('winsys/sw/kms-dri')
40else
41  libswkmsdri = []
42endif
43if with_platform_windows
44  subdir('winsys/sw/gdi')
45else
46  libwsgdi = null_dep
47endif
48subdir('winsys/sw/wrapper')
49if with_platform_haiku
50  subdir('winsys/sw/hgl')
51endif
52if with_gallium_softpipe
53  subdir('drivers/softpipe')
54else
55  driver_softpipe = declare_dependency()
56endif
57if with_any_llvmpipe
58  subdir('drivers/llvmpipe')
59else
60  driver_llvmpipe = declare_dependency()
61endif
62if with_any_llvmpipe and with_gallium_softpipe
63  driver_swrast = declare_dependency(
64    dependencies : [ driver_softpipe, driver_llvmpipe ],
65  )
66elif with_any_llvmpipe
67  driver_swrast = driver_llvmpipe
68elif with_gallium_softpipe
69  driver_swrast = driver_softpipe
70else
71  driver_swrast = declare_dependency()
72endif
73
74if with_gallium_asahi
75  subdir('winsys/asahi/drm')
76  subdir('drivers/asahi')
77else
78  driver_asahi = declare_dependency()
79endif
80if with_gallium_r300 or with_gallium_radeonsi or with_gallium_r600
81  subdir('winsys/radeon/drm')
82endif
83if with_gallium_r300
84  subdir('drivers/r300')
85else
86  driver_r300 = declare_dependency()
87endif
88if with_gallium_r600
89  subdir('drivers/r600')
90else
91  driver_r600 = declare_dependency()
92endif
93if with_gallium_radeonsi
94  subdir('winsys/amdgpu/drm')
95  subdir('drivers/radeonsi')
96else
97  driver_radeonsi = declare_dependency()
98endif
99if with_gallium_nouveau
100  subdir('winsys/nouveau/drm')
101  subdir('drivers/nouveau')
102else
103  driver_nouveau = declare_dependency()
104endif
105if with_gallium_freedreno
106  subdir('winsys/freedreno/drm')
107  subdir('drivers/freedreno')
108else
109  driver_freedreno = declare_dependency()
110endif
111if with_gallium_vc4
112  subdir('winsys/vc4/drm')
113  subdir('drivers/vc4')
114else
115  driver_vc4 = declare_dependency()
116endif
117if with_gallium_panfrost
118  subdir('winsys/panfrost/drm')
119  subdir('drivers/panfrost')
120else
121  driver_panfrost = declare_dependency()
122endif
123if with_gallium_etnaviv
124  subdir('winsys/etnaviv/drm')
125  subdir('drivers/etnaviv')
126else
127  driver_etnaviv = declare_dependency()
128endif
129if with_gallium_kmsro
130  subdir('winsys/kmsro/drm')
131else
132  driver_kmsro = declare_dependency()
133endif
134if with_gallium_v3d
135  subdir('winsys/v3d/drm')
136  subdir('drivers/v3d')
137else
138  driver_v3d = declare_dependency()
139endif
140if with_gallium_tegra
141  subdir('winsys/tegra/drm')
142  subdir('drivers/tegra')
143else
144  driver_tegra = declare_dependency()
145endif
146if with_gallium_crocus
147  subdir('winsys/crocus/drm')
148  subdir('drivers/crocus')
149else
150  driver_crocus = declare_dependency()
151endif
152if with_gallium_iris
153  subdir('winsys/iris/drm')
154  subdir('drivers/iris')
155else
156  driver_iris = declare_dependency()
157endif
158if with_gallium_i915
159  subdir('winsys/i915/drm')
160  subdir('drivers/i915')
161else
162  driver_i915 = declare_dependency()
163endif
164if with_gallium_svga
165  if not with_platform_windows
166     subdir('winsys/svga/drm')
167  endif
168  subdir('drivers/svga')
169else
170  driver_svga = declare_dependency()
171endif
172if with_gallium_virgl
173  subdir('winsys/virgl/common')
174  if not with_platform_windows
175    subdir('winsys/virgl/drm')
176    subdir('winsys/virgl/vtest')
177  endif
178  subdir('drivers/virgl')
179else
180  driver_virgl = declare_dependency()
181endif
182if with_gallium_lima
183  subdir('winsys/lima/drm')
184  subdir('drivers/lima')
185else
186  driver_lima = declare_dependency()
187endif
188if with_gallium_zink
189  subdir('drivers/zink')
190else
191  driver_zink = declare_dependency()
192endif
193if with_gallium_d3d12
194  subdir('drivers/d3d12')
195else
196  driver_d3d12 = declare_dependency()
197endif
198if with_gallium_clover or with_tests
199  # At the moment, clover and gallium/tests are the only two consumers
200  # for pipe-loader
201  subdir('targets/pipe-loader')
202endif
203if with_gallium_clover
204  subdir('frontends/clover')
205  subdir('targets/opencl')
206endif
207if with_gallium_rusticl
208  subdir('frontends/rusticl')
209  subdir('targets/rusticl')
210endif
211if with_glx == 'xlib'
212  subdir('winsys/sw/xlib')
213  subdir('frontends/glx/xlib')
214  subdir('targets/libgl-xlib')
215endif
216if with_gallium_va
217  subdir('frontends/va')
218  if not with_dri
219    subdir('targets/va')
220  endif
221endif
222if with_gallium_vdpau
223  subdir('frontends/vdpau')
224  if not with_dri
225    subdir('targets/vdpau')
226  endif
227endif
228if with_dri
229  subdir('frontends/dri')
230  subdir('targets/dri')
231endif
232if with_osmesa
233  subdir('frontends/osmesa')
234  subdir('targets/osmesa')
235endif
236if with_gallium_xa
237  subdir('frontends/xa')
238  subdir('targets/xa')
239endif
240if with_platform_haiku
241  subdir('frontends/hgl')
242endif
243if with_gallium_st_nine
244  subdir('frontends/nine')
245  subdir('targets/d3dadapter9')
246endif
247if with_gallium_st_d3d10umd
248  subdir('frontends/d3d10umd')
249  subdir('targets/d3d10umd')
250endif
251if with_platform_windows
252  if with_opengl
253    subdir('frontends/wgl')
254    if with_gallium_d3d12
255      subdir('winsys/d3d12/wgl')
256    else
257      winsys_d3d12_wgl = declare_dependency()
258    endif
259    subdir('targets/wgl')
260    subdir('targets/libgl-gdi')
261  endif
262endif
263if with_tests
264  subdir('tests')
265endif
266if with_swrast_vk
267  subdir('frontends/lavapipe')
268  subdir('targets/lavapipe')
269endif
270
271if with_teflon
272  subdir('frontends/teflon')
273  subdir('targets/teflon')
274endif
275