From 10136e77a31e6bf98cf0a4a356c199d907628a6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= Date: Mon, 27 Mar 2023 19:23:31 +0200 Subject: build: add an option to control gpu-next Also simplify meson logic --- meson.build | 20 ++++++++++---------- meson_options.txt | 1 + wscript | 2 +- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/meson.build b/meson.build index 1d63065221..ac8af51d59 100644 --- a/meson.build +++ b/meson.build @@ -911,20 +911,20 @@ endif libplacebo = dependency('libplacebo', version: '>=4.157.0', required: get_option('libplacebo')) features += {'libplacebo': libplacebo.found()} -features += {'libplacebo-next': false} if features['libplacebo'] dependencies += libplacebo sources += files('video/out/placebo/ra_pl.c', 'video/out/placebo/utils.c') - pl_api_ver = libplacebo.version().split('.')[1] - if pl_api_ver.version_compare('>=264') - features += {'libplacebo-next': true} - message('libplacebo v5.264.0+ found! Enabling vo_gpu_next.') - sources += files('video/out/vo_gpu_next.c', - 'video/out/gpu_next/context.c') - else - message('libplacebo v5.264.0+ not found! Disabling vo_gpu_next.') - endif +endif + +libplacebo_next = get_option('libplacebo-next').require( + features['libplacebo'] and libplacebo.version().version_compare('>=5.264.0'), + error_message: 'libplacebo v5.264.0+ was not found!', +) +features += {'libplacebo-next': libplacebo_next.allowed()} +if features['libplacebo-next'] + sources += files('video/out/vo_gpu_next.c', + 'video/out/gpu_next/context.c') endif sdl2_video = get_option('sdl2-video').require( diff --git a/meson_options.txt b/meson_options.txt index 6e9269ffb4..1324a090c1 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -75,6 +75,7 @@ option('gl-win32', type: 'feature', value: 'auto', description: 'OpenGL Win32 Ba option('gl-x11', type: 'feature', value: 'disabled', description: 'OpenGL X11/GLX (deprecated/legacy)') option('jpeg', type: 'feature', value: 'auto', description: 'JPEG support') option('libplacebo', type: 'feature', value: 'auto', description: 'libplacebo support') +option('libplacebo-next', type: 'feature', value: 'auto', description: 'gpu-next video output') option('rpi', type: 'feature', value: 'disabled', description: 'Raspberry Pi support') option('sdl2-video', type: 'feature', value: 'auto', description: 'SDL2 video output') option('shaderc', type: 'feature', value: 'auto', description: 'libshaderc SPIR-V compiler') diff --git a/wscript b/wscript index 99f900f236..e55c60d5a5 100644 --- a/wscript +++ b/wscript @@ -779,7 +779,7 @@ video_output_features = [ 'desc': 'libplacebo support', 'func': check_pkg_config('libplacebo >= 4.157.0'), }, { - 'name': 'libplacebo-next', + 'name': '--libplacebo-next', 'desc': 'libplacebo v5.264.0+, needed for vo_gpu_next', 'deps': 'libplacebo', 'func': check_preprocessor('libplacebo/config.h', 'PL_API_VER >= 264', -- cgit v1.2.3