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