1if get_option('vulkan').disabled() 2 subdir_done() 3endif 4 5if not gstvulkan_dep.found() 6 if get_option('vulkan').enabled() 7 error('GStreamer Vulkan plugin required via options, but needed dependencies not found.') 8 else 9 subdir_done() 10 endif 11endif 12 13# Should already have checked for this 14assert(glslc.found(), 'Expected glslc to be available') 15 16subdir('shaders') 17 18vulkan_sources = [ 19 'gstvulkan.c', 20 'gstvulkanelement.c', 21 'vkcolorconvert.c', 22 'vkdownload.c', 23 'vkdeviceprovider.c', 24 'vkimageidentity.c', 25 'vksink.c', 26 'vkupload.c', 27 'vkviewconvert.c', 28] 29 30vulkan_plugin_enum_headers = [ 31 'vkviewconvert.h', 32] 33 34vulkan_plugin_enums = gnome.mkenums_simple('gstvulkan-plugins-enumtypes', 35 sources : vulkan_plugin_enum_headers, 36 body_prefix : '#ifdef HAVE_CONFIG_H\n#include "config.h"\n#endif', 37 header_prefix : '#include <gst/gst.h>') 38vulkan_plugin_enumtypes_c = vulkan_plugin_enums[0] 39vulkan_plugin_enumtypes_h = vulkan_plugin_enums[1] 40vulkan_plugin_gen_sources = [vulkan_plugin_enumtypes_h] 41 42gstvulkan_plugin = library('gstvulkan', 43 vulkan_sources, vulkan_compiled_shader_sources, vulkan_plugin_enumtypes_c, vulkan_plugin_enumtypes_h, 44 c_args : gst_plugins_bad_args, 45 objc_args : gst_plugins_bad_args, 46 link_args : noseh_link_args, 47 include_directories : [configinc], 48 dependencies : [gstvideo_dep, gstbase_dep, gstvulkan_dep, vulkan_dep], 49 install : true, 50 install_dir : plugins_install_dir, 51) 52pkgconfig.generate(gstvulkan_plugin, install_dir : plugins_pkgconfig_install_dir) 53plugins += [gstvulkan_plugin] 54