diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2018-04-18 13:20:28 -0700 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2019-05-03 10:57:36 -0700 |
commit | f5eafc2dc6a68c9c2c2660dff528de1ecdedf4dc (patch) | |
tree | 8613f74cb6bfc3bb670017a4956b0c0194d6797a | |
parent | ddc15fba2be29eb667bd89625d468455b63e0bcf (diff) |
meson: Make shader-cache a trillean instead of boolean
So that it can be implicitly disabled on windows, where it doesn't
compile.
v2: - Use an auto-option rather than automagic.
- fix shader_cache check (== -> !=)
v4: - Use new with_shader_cache instead of get_option('shader-cache')
elsewhere in the meson build
Reviewed-by: Eric Anholt <eric@anholt.net>
-rw-r--r-- | meson.build | 18 | ||||
-rw-r--r-- | meson_options.txt | 5 |
2 files changed, 17 insertions, 6 deletions
diff --git a/meson.build b/meson.build index 75e90e1ff6a..87ce5f7872e 100644 --- a/meson.build +++ b/meson.build @@ -775,9 +775,19 @@ if get_option('buildtype') == 'debug' pre_args += '-DDEBUG' endif -if get_option('shader-cache') - pre_args += '-DENABLE_SHADER_CACHE' -elif with_amd_vk +with_shader_cache = false +_shader_cache = get_option('shader-cache') +if _shader_cache != 'false' + if host_machine.system() == 'windows' + if _shader_cache == 'true' + error('Shader Cache does not currently work on Windows') + endif + else + pre_args += '-DENABLE_SHADER_CACHE' + with_shader_cache = true + endif +endif +if with_amd_vk and not with_shader_cache error('Radv requires shader cache support') endif @@ -1108,7 +1118,7 @@ if cc.has_function('dl_iterate_phdr') pre_args += '-DHAVE_DL_ITERATE_PHDR' elif with_intel_vk error('Intel "Anvil" Vulkan driver requires the dl_iterate_phdr function') -elif with_dri_i965 and get_option('shader-cache') +elif with_dri_i965 and with_shader_cache error('Intel i965 GL driver requires dl_iterate_phdr when built with shader caching.') endif diff --git a/meson_options.txt b/meson_options.txt index 6cddf33a5c3..1f72faabee8 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -157,8 +157,9 @@ option( ) option( 'shader-cache', - type : 'boolean', - value : true, + type : 'combo', + value : 'auto', + choices : ['auto', 'true', 'false'], description : 'Build with on-disk shader cache support' ) option( |