@@ -262,6 +262,7 @@ External library support:
262262 --enable-librsvg enable SVG rasterization via librsvg [no]
263263 --enable-librubberband enable rubberband needed for rubberband filter [no]
264264 --enable-librtmp enable RTMP[E] support via librtmp [no]
265+ --enable-libshaderc enable GLSL->SPIRV compilation via libshaderc [no]
265266 --enable-libshine enable fixed-point MP3 encoding via libshine [no]
266267 --enable-libsmbclient enable Samba protocol via libsmbclient [no]
267268 --enable-libsnappy enable Snappy compression, needed for hap encoding [no]
@@ -1834,6 +1835,7 @@ EXTERNAL_LIBRARY_LIST="
18341835 librist
18351836 librsvg
18361837 librtmp
1838+ libshaderc
18371839 libshine
18381840 libsmbclient
18391841 libsnappy
@@ -3565,15 +3567,15 @@ ass_filter_deps="libass"
35653567atempo_filter_deps=" avcodec"
35663568atempo_filter_select=" rdft"
35673569avgblur_opencl_filter_deps=" opencl"
3568- avgblur_vulkan_filter_deps=" vulkan libglslang "
3570+ avgblur_vulkan_filter_deps=" vulkan spirv_compiler "
35693571azmq_filter_deps=" libzmq"
35703572blackframe_filter_deps=" gpl"
35713573bm3d_filter_deps=" avcodec"
35723574bm3d_filter_select=" dct"
35733575boxblur_filter_deps=" gpl"
35743576boxblur_opencl_filter_deps=" opencl gpl"
35753577bs2b_filter_deps=" libbs2b"
3576- chromaber_vulkan_filter_deps=" vulkan libglslang "
3578+ chromaber_vulkan_filter_deps=" vulkan spirv_compiler "
35773579colorkey_opencl_filter_deps=" opencl"
35783580colormatrix_filter_deps=" gpl"
35793581convolution_opencl_filter_deps=" opencl"
@@ -3613,7 +3615,7 @@ frei0r_deps_any="libdl LoadLibrary"
36133615frei0r_filter_deps=" frei0r"
36143616frei0r_src_filter_deps=" frei0r"
36153617fspp_filter_deps=" gpl"
3616- gblur_vulkan_filter_deps=" vulkan libglslang "
3618+ gblur_vulkan_filter_deps=" vulkan spirv_compiler "
36173619histeq_filter_deps=" gpl"
36183620hqdn3d_filter_deps=" gpl"
36193621interlace_filter_deps=" gpl"
@@ -3638,7 +3640,7 @@ openclsrc_filter_deps="opencl"
36383640overlay_opencl_filter_deps=" opencl"
36393641overlay_qsv_filter_deps=" libmfx"
36403642overlay_qsv_filter_select=" qsvvpp"
3641- overlay_vulkan_filter_deps=" vulkan libglslang "
3643+ overlay_vulkan_filter_deps=" vulkan spirv_compiler "
36423644owdenoise_filter_deps=" gpl"
36433645pad_opencl_filter_deps=" opencl"
36443646pan_filter_deps=" swresample"
@@ -3701,7 +3703,7 @@ zmq_filter_deps="libzmq"
37013703zoompan_filter_deps=" swscale"
37023704zscale_filter_deps=" libzimg const_nan"
37033705scale_vaapi_filter_deps=" vaapi"
3704- scale_vulkan_filter_deps=" vulkan libglslang "
3706+ scale_vulkan_filter_deps=" vulkan spirv_compiler "
37053707vpp_qsv_filter_deps=" libmfx"
37063708vpp_qsv_filter_select=" qsvvpp"
37073709xfade_opencl_filter_deps=" opencl"
@@ -6327,6 +6329,10 @@ if ! disabled ffnvcodec; then
63276329 check_pkg_config ffnvcodec " ffnvcodec >= 8.1.24.11 ffnvcodec < 8.2" " $ffnv_hdr_list " " "
63286330fi
63296331
6332+ if enabled_all libglslang libshaderc; then
6333+ die " ERROR: libshaderc and libglslang are mutually exclusive, if in doubt, disable libglslang"
6334+ fi
6335+
63306336check_cpp_condition winrt windows.h " !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)"
63316337
63326338if ! disabled w32threads && ! enabled pthreads; then
@@ -6443,10 +6449,10 @@ enabled fontconfig && enable libfontconfig
64436449enabled libfontconfig && require_pkg_config libfontconfig fontconfig " fontconfig/fontconfig.h" FcInit
64446450enabled libfreetype && require_pkg_config libfreetype freetype2 " ft2build.h FT_FREETYPE_H" FT_Init_FreeType
64456451enabled libfribidi && require_pkg_config libfribidi fribidi fribidi.h fribidi_version_info
6446- enabled libglslang && { check_lib libglslang glslang/Include/glslang_c_interface.h glslang_initialize_process \
6452+ enabled libglslang && { check_lib spirv_compiler glslang/Include/glslang_c_interface.h glslang_initialize_process \
64476453 -lglslang -lMachineIndependent -lOSDependent -lHLSL -lOGLCompiler -lGenericCodeGen \
64486454 -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread -lstdc++ -lm ||
6449- require libglslang glslang/Include/glslang_c_interface.h glslang_initialize_process \
6455+ require spirv_compiler glslang/Include/glslang_c_interface.h glslang_initialize_process \
64506456 -lglslang -lOSDependent -lHLSL -lOGLCompiler \
64516457 -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread -lstdc++ -lm; }
64526458enabled libgme && { check_pkg_config libgme libgme gme/gme.h gme_new_emu ||
@@ -6504,6 +6510,7 @@ enabled librist && require_pkg_config librist "librist >= 0.2" librist
65046510enabled librsvg && require_pkg_config librsvg librsvg-2.0 librsvg-2.0/librsvg/rsvg.h rsvg_handle_render_cairo
65056511enabled librtmp && require_pkg_config librtmp librtmp librtmp/rtmp.h RTMP_Socket
65066512enabled librubberband && require_pkg_config librubberband " rubberband >= 1.8.1" rubberband/rubberband-c.h rubberband_new -lstdc++ && append librubberband_extralibs " -lstdc++"
6513+ enabled libshaderc && require_pkg_config spirv_compiler " shaderc >= 2019.1" shaderc/shaderc.h shaderc_compiler_initialize
65076514enabled libshine && require_pkg_config libshine shine shine/layer3.h shine_encode_buffer
65086515enabled libsmbclient && { check_pkg_config libsmbclient smbclient libsmbclient.h smbc_init ||
65096516 require libsmbclient libsmbclient.h smbc_init -lsmbclient; }
0 commit comments