X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=meson.build;h=34e2a0325484576749e7a420645125af68c6fa4d;hb=963c044c551b44aeab04984ef86634bcb10bacd7;hp=57dd8b59cb433992035d4e43c7521af2f181d214;hpb=7a90886921eb1d5d73b40aadd6fd3f340041bd26;p=mesa.git diff --git a/meson.build b/meson.build index 57dd8b59cb4..34e2a032548 100644 --- a/meson.build +++ b/meson.build @@ -56,7 +56,7 @@ with_osmesa = get_option('osmesa') with_swr_arches = get_option('swr-arches') with_tools = get_option('tools') if with_tools.contains('all') - with_tools = ['freedreno', 'glsl', 'intel', 'nir', 'nouveau', 'xvmc'] + with_tools = ['etnaviv', 'freedreno', 'glsl', 'intel', 'nir', 'nouveau', 'xvmc'] endif dri_drivers_path = get_option('dri-drivers-path') @@ -381,9 +381,9 @@ endif if with_any_vk and (with_platform_x11 and not with_dri3) error('Vulkan drivers require dri3 for X11 support') endif -if with_dri or with_gallium - if with_glx == 'disabled' and not with_egl and not with_platform_haiku - error('building dri or gallium drivers require at least one window system') +if with_dri + if with_glx == 'disabled' and not with_egl and not with_gbm and with_osmesa != 'classic' + error('building dri drivers require at least one windowing system or classic osmesa') endif endif @@ -613,7 +613,7 @@ if with_gallium_st_nine error('The nine state tracker requires gallium softpipe/llvmpipe.') elif not (with_gallium_radeonsi or with_gallium_nouveau or with_gallium_r600 or with_gallium_r300 or with_gallium_svga or with_gallium_i915) - error('The nine state tracker requires at least on non-swrast gallium driver.') + error('The nine state tracker requires at least one non-swrast gallium driver.') endif if not with_dri3 error('Using nine with wine requires dri3') @@ -648,6 +648,7 @@ if get_option('power8') != 'false' endif _opencl = get_option('gallium-opencl') +clover_cpp_std = [] if _opencl != 'disabled' if not with_gallium error('OpenCL Clover implementation requires at least one gallium driver.') @@ -656,10 +657,18 @@ if _opencl != 'disabled' dep_clc = dependency('libclc') with_gallium_opencl = true with_opencl_icd = _opencl == 'icd' + + if host_machine.cpu_family().startswith('ppc') and cpp.compiles(''' + #if !defined(__VEC__) || !defined(__ALTIVEC__) + #error "AltiVec not enabled" + #endif''', + name : 'Altivec') + clover_cpp_std += ['cpp_std=gnu++11'] + endif else dep_clc = null_dep with_gallium_opencl = false - with_gallium_icd = false + with_opencl_icd = false endif gl_pkgconfig_c_flags = [] @@ -1100,7 +1109,7 @@ dep_libdrm_nouveau = null_dep dep_libdrm_etnaviv = null_dep dep_libdrm_intel = null_dep -_drm_amdgpu_ver = '2.4.95' +_drm_amdgpu_ver = '2.4.97' _drm_radeon_ver = '2.4.71' _drm_nouveau_ver = '2.4.66' _drm_etnaviv_ver = '2.4.89' @@ -1222,6 +1231,9 @@ if with_llvm # programs, so we need to build all C++ code in mesa without rtti as well to # ensure that linking works. if dep_llvm.get_configtool_variable('has-rtti') == 'NO' + if with_gallium_nouveau + error('The Nouveau driver requires rtti. You either need to turn off nouveau or use an LLVM built with LLVM_ENABLE_RTTI.') + endif cpp_args += '-fno-rtti' endif elif with_amd_vk or with_gallium_radeonsi or with_gallium_swr @@ -1349,7 +1361,7 @@ if with_platform_x11 dep_xfixes = dependency('xfixes') dep_xcb_glx = dependency('xcb-glx', version : '>= 1.8.1') endif - if (with_any_vk or with_glx == 'dri' or + if (with_any_vk or with_glx == 'dri' or with_egl or (with_gallium_vdpau or with_gallium_xvmc or with_gallium_va or with_gallium_omx != 'disabled')) dep_xcb = dependency('xcb') @@ -1395,7 +1407,7 @@ endif _sensors = get_option('lmsensors') if _sensors != 'false' - dep_lmsensors = cc.find_library('libsensors', required : _sensors == 'true') + dep_lmsensors = cc.find_library('sensors', required : _sensors == 'true') if dep_lmsensors.found() pre_args += '-DHAVE_LIBSENSORS=1' endif