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