with_gallium = false
with_gallium_radeonsi = false
+with_gallium_nouveau = false
with_gallium_softpipe = false
+with_gallium_vc4 = false
_drivers = get_option('gallium-drivers')
if _drivers != ''
_split = _drivers.split(',')
with_gallium_radeonsi = _split.contains('radeonsi')
+ with_gallium_nouveau = _split.contains('nouveau')
+ with_gallium_softpipe = _split.contains('swrast')
+ with_gallium_vc4 = _split.contains('vc4')
with_gallium = true
with_dri = true
endif
with_shared_glapi = false
endif
+if with_dri_swrast and with_gallium_softpipe
+ error('Only one swrast provider can be built')
+endif
+
dep_libdrm_intel = []
if with_dri_i915
dep_libdrm_intel = dependency('libdrm_intel', version : '>= 2.4.75')
pre_args += '-DHAVE_PTHREAD'
endif
dep_elf = dependency('libelf', required : false)
-if not dep_elf.found()
- dep_elf = cc.find_library('elf', required : with_amd_vk) # TODO: clover, r600, radeonsi
+if not dep_elf.found() and (with_amd_vk or with_gallium_radeonsi) # TODO: clover, r600
+ dep_elf = cc.find_library('elf')
endif
dep_expat = dependency('expat')
# this only exists on linux so either this is linux and it will be found, or
dep_libdrm_amdgpu = []
dep_libdrm_radeon = []
+dep_libdrm_nouveau = []
if with_amd_vk or with_gallium_radeonsi
dep_libdrm_amdgpu = dependency('libdrm_amdgpu', version : '>= 2.4.84')
endif
if with_gallium_radeonsi # older radeon too
dep_libdrm_radeon = dependency('libdrm_radeon', version : '>= 2.4.71')
endif
+if with_gallium_nouveau
+ dep_libdrm_nouveau = dependency('libdrm_nouveau', version : '>= 2.4.66')
+endif
llvm_modules = ['bitwriter', 'engine', 'mcdisassembler', 'mcjit']
if with_amd_vk
'-DMESA_LLVM_VERSION_PATCH=@0@'.format(_llvm_patch),
]
else
- if with_amd_vk or with_gallium_radeonsi
+ if with_gallium_softpipe
+ error('Cannot find LLVM to build LLVMPipe. If you wanted softpipe pass -Dllvm=false to meson')
+ elif with_amd_vk or with_gallium_radeonsi # etc
error('The following drivers requires LLVM: Radv, RadeonSI. One of these is enabled, but LLVM was not found.')
endif
endif