summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuel Gil Peyrot <linkmauve@linkmauve.fr>2020-07-31 16:39:10 +0200
committerTony Wasserka <tony.wasserka@gmx.de>2021-10-01 10:40:18 +0200
commitc238faf74605842d7e8d40064da28bb9dd83d933 (patch)
tree71b38c02b474c60e20abccaf54573f2ba6331935
parentb70e551a5131c6231e75f5ad24cb480694b07b67 (diff)
downloadmesa-c238faf74605842d7e8d40064da28bb9dd83d933.tar.gz
radv: Allow building when LLVM isn’t enabled
Now that ACO is considered feature-complete, it can be nice to avoid the huge LLVM dependency when one only wants a Vulkan driver. This patch allows radv to be built without LLVM. The two features which get disabled are RADV_DEBUG=llvm and shader disassembly. The latter is an issue for debugging, so I added a warning that this configuration is unsupported. Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11319>
-rw-r--r--meson.build6
-rw-r--r--src/amd/meson.build6
-rw-r--r--src/meson.build7
3 files changed, 15 insertions, 4 deletions
diff --git a/meson.build b/meson.build
index 22d49a5a400..13b63f8ff09 100644
--- a/meson.build
+++ b/meson.build
@@ -1711,8 +1711,10 @@ if with_llvm
language : ['c', 'cpp'],
)
endif
-elif with_amd_vk or with_gallium_radeonsi or with_gallium_swr or with_swrast_vk
- error('The following drivers require LLVM: Radv, RadeonSI, SWR, Lavapipe. One of these is enabled, but LLVM is disabled.')
+elif with_amd_vk and with_aco_tests
+ error('ACO tests require LLVM, but LLVM is disabled.')
+elif with_gallium_radeonsi or with_gallium_swr or with_swrast_vk
+ error('The following drivers require LLVM: RadeonSI, SWR, Lavapipe. One of these is enabled, but LLVM is disabled.')
elif with_gallium_opencl
error('The OpenCL "Clover" state tracker requires LLVM, but LLVM is disabled.')
elif with_clc
diff --git a/src/amd/meson.build b/src/amd/meson.build
index 4a27c8c3e4a..463c78544ab 100644
--- a/src/amd/meson.build
+++ b/src/amd/meson.build
@@ -22,7 +22,11 @@ inc_amd = include_directories('.')
subdir('addrlib')
subdir('common')
-subdir('llvm')
+if with_llvm
+ subdir('llvm')
+else
+ libamd_common_llvm = []
+endif
if with_amd_vk
subdir('compiler')
subdir('vulkan')
diff --git a/src/meson.build b/src/meson.build
index d99522cfd2c..5a4d329db0c 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -24,11 +24,16 @@ inc_src = include_directories('.')
inc_gallium = include_directories('gallium/include')
inc_gallium_aux = include_directories('gallium/auxiliary')
inc_amd_common = include_directories('amd/common')
-inc_amd_common_llvm = include_directories('amd/llvm')
inc_tool = include_directories('tool')
pps_datasources = []
pps_includes = []
+if with_llvm
+ inc_amd_common_llvm = include_directories('amd/llvm')
+else
+ inc_amd_common_llvm = []
+endif
+
libglsl_util = static_library(
'glsl_util',
files(