with_gallium_virgl = gallium_drivers.contains('virgl')
with_gallium_swr = gallium_drivers.contains('swr')
with_gallium_lima = gallium_drivers.contains('lima')
+with_gallium_zink = gallium_drivers.contains('zink')
-if cc.get_id() == 'intel'
- if meson.version().version_compare('< 0.49.0')
- error('Meson does not have sufficient support of ICC before 0.49.0 to compile mesa')
- elif with_gallium_swr and meson.version().version_compare('== 0.49.0')
- warning('Meson as of 0.49.0 is sufficient for compiling mesa with ICC, but there are some caveats with SWR. 0.49.1 should resolve all of these')
- endif
+if cc.get_id().startswith('intel') and meson.version().version_compare('< 0.49.1')
+ error('Meson does not have sufficient support of ICC before 0.49.1 to compile mesa')
endif
with_gallium = gallium_drivers.length() != 0 and gallium_drivers != ['']
vdpau_drivers_path = join_paths(get_option('libdir'), 'vdpau')
endif
+if with_gallium_zink
+ dep_vulkan = dependency('vulkan')
+endif
+
_xvmc = get_option('gallium-xvmc')
if not system_has_kms_drm
if _xvmc == 'true'
endif
# TODO: this is very incomplete
-if ['linux', 'cygwin', 'gnu', 'gnu/kfreebsd'].contains(host_machine.system())
+if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd'].contains(host_machine.system())
pre_args += '-D_GNU_SOURCE'
elif host_machine.system() == 'sunos'
pre_args += '-D__EXTENSIONS__'
'-Werror=implicit-function-declaration',
'-Werror=missing-prototypes',
'-Werror=return-type',
+ '-Werror=empty-body',
'-Werror=incompatible-pointer-types',
'-Wno-missing-field-initializers',
'-Wno-format-truncation',
_trial = [
'-Werror=return-type',
+ '-Werror=empty-body',
'-Wno-non-virtual-dtor',
'-Wno-missing-field-initializers',
'-Wno-format-truncation',
dep_libdrm_nouveau = null_dep
dep_libdrm_intel = null_dep
-_drm_amdgpu_ver = '2.4.99'
+_drm_amdgpu_ver = '2.4.100'
_drm_radeon_ver = '2.4.71'
_drm_nouveau_ver = '2.4.66'
_drm_intel_ver = '2.4.75'
endif
_shared_llvm = get_option('shared-llvm')
-
_llvm = get_option('llvm')
+
+# The cmake method will never find libllvm.so|dylib; this is fine for windows
+# because llvm doesn't support libllvm.dll
+_llvm_method = 'config-tool'
+if (meson.version().version_compare('>= 0.51.0') and
+ host_machine.system() == 'windows')
+ _llvm_method = 'cmake'
+endif
+
dep_llvm = null_dep
with_llvm = false
if _llvm != 'false'
with_gallium_opencl or _llvm == 'true'
),
static : not _shared_llvm,
- method : 'config-tool',
+ method : _llvm_method,
fallback : ['llvm', 'dep_llvm'],
)
with_llvm = dep_llvm.found()