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>
This commit is contained in:
Emmanuel Gil Peyrot 2020-07-31 16:39:10 +02:00 committed by Tony Wasserka
parent b70e551a51
commit c238faf746
3 changed files with 15 additions and 4 deletions

View File

@ -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

View File

@ -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')

View File

@ -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(