if get_option('vulkan').disabled() subdir_done() endif if not gstvulkan_dep.found() if get_option('vulkan').enabled() error('GStreamer Vulkan plugin required via options, but needed dependencies not found.') else subdir_done() endif endif # Should already have checked for this assert(glslc.found(), 'Expected glslc to be available') subdir('shaders') vulkan_sources = files( 'gstvulkan.c', 'gstvulkanelement.c', 'vkcolorconvert.c', 'vkdownload.c', 'vkdeviceprovider.c', 'vkimageidentity.c', 'vkshaderspv.c', 'vksink.c', 'vkupload.c', 'vkviewconvert.c', 'vkoverlaycompositor.c', ) vulkan_plugin_enum_headers = files( 'vkviewconvert.h', ) extra_deps = [] extra_args = [] if vulkan_conf.get('GST_VULKAN_HAVE_VIDEO_EXTENSIONS') == 1 vulkan_sources += files('vkh264dec.c', 'vkh265dec.c') extra_deps += gstcodecs_dep extra_args += ['-DGST_USE_UNSTABLE_API'] endif vulkan_plugin_enums = gnome.mkenums_simple('gstvulkan-plugins-enumtypes', sources : vulkan_plugin_enum_headers, body_prefix : '#ifdef HAVE_CONFIG_H\n#include "config.h"\n#endif', header_prefix : '#include ') gstvulkan_plugin = library('gstvulkan', vulkan_sources, vulkan_compiled_shader_sources, vulkan_plugin_enums, c_args : gst_plugins_bad_args + extra_args, objc_args : gst_plugins_bad_args, link_args : noseh_link_args, include_directories : [configinc], dependencies : [gstvideo_dep, gstbase_dep, gstvulkan_dep, vulkan_dep, gio_dep] + extra_deps, install : true, install_dir : plugins_install_dir, ) plugins += [gstvulkan_plugin]