X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=meson.build;h=011b1eca83215b2e7f69e986f20c178f5c6e8d3d;hb=9c6fa9421d57394600fbeade7a2ceb3e264bd108;hp=2b30ab014b698a9519f4ea75e8fa9e8b2cecb1e5;hpb=f67cd0bbd978a093c6802bef33099c5b83e496df;p=mesa.git diff --git a/meson.build b/meson.build index 2b30ab014b6..011b1eca832 100644 --- a/meson.build +++ b/meson.build @@ -51,6 +51,7 @@ pre_args = [ with_vulkan_icd_dir = get_option('vulkan-icd-dir') with_tests = get_option('build-tests') +with_aco_tests = get_option('build-aco-tests') with_glx_read_only_text = get_option('glx-read-only-text') with_glx_direct = get_option('glx-direct') with_osmesa = get_option('osmesa') @@ -275,6 +276,9 @@ endif if with_gallium_tegra and not with_gallium_nouveau error('tegra driver requires nouveau driver') endif +if with_aco_tests and not with_amd_vk + error('ACO tests require Radv') +endif if host_machine.system() == 'darwin' with_dri_platform = 'apple' @@ -539,6 +543,10 @@ if with_gallium_zink dep_vulkan = dependency('vulkan') endif +if with_vulkan_overlay_layer or with_aco_tests + prog_glslang = find_program('glslangValidator') +endif + _xvmc = get_option('gallium-xvmc') if _xvmc == 'true' _xvmc = 'enabled' @@ -1757,6 +1765,19 @@ else dep_lmsensors = null_dep endif +# If the compiler supports it, put function and data symbols in their +# own sections and GC the sections after linking. This lets drivers +# drop shared code unused by that specific driver (particularly +# relevant for Vulkan drivers). +if cc.has_link_argument('-Wl,--gc-sections') + add_project_arguments('-Wl,--gc-sections', language : ['c', 'cpp']) + foreach a: ['-ffunction-sections', '-fdata-sections'] + if cc.has_argument(a) + add_project_arguments(a, language : ['c', 'cpp']) + endif + endforeach +endif + foreach a : pre_args add_project_arguments(a, language : ['c', 'cpp']) endforeach