# Copyright © 2025 Lucas Francisco Fryzek # SPDX-License-Identifier: MIT fgvk_files = files( 'fgvk_instance.c', 'fgvk_physical_device.c', 'fgvk_device.c', 'fgvk_device_memory.c', 'fgvk_buffer.c', 'fgvk_format.c', 'fgvk_image.c', 'fgvk_image_view.c', 'fgvk_cmd_buffer.c', 'fgvk_cmd_clear.c', 'fgvk_cmd_draw.c', 'fgvk_cmd_copy.c', 'fgvk_cmd_pool.c', 'fgvk_shader.c', 'fgvk_queue.c', ) fgvk_entrypoints = custom_target( 'fgvk_entrypoints', input : [vk_entrypoints_gen, vk_api_xml], output : ['fgvk_entrypoints.h', 'fgvk_entrypoints.c'], command : [ prog_python, '@INPUT0@', '--xml', '@INPUT1@', '--proto', '--weak', '--out-h', '@OUTPUT0@', '--out-c', '@OUTPUT1@', '--prefix', 'fgvk', '--beta', with_vulkan_beta.to_string(), ], depend_files : vk_entrypoints_gen_depend_files, ) fgvk_deps = [ idep_fgcc, idep_nir, idep_fg_headers, idep_vulkan_runtime, idep_vulkan_util, idep_vulkan_wsi, idep_vulkan_wsi_headers, ] fgvk_flags = [] libfgvk = static_library( 'fgvk', [ fgvk_entrypoints, fgvk_files ], include_directories : [ inc_include, inc_src, ], dependencies: fgvk_deps, c_args : [no_override_init_args, fgvk_flags], gnu_symbol_visibility : 'hidden', ) libvulkan_frygon = shared_library( 'vulkan_frygon', link_whole : [libfgvk], link_args: [ld_args_build_id, ld_args_bsymbolic, ld_args_gc_sections], gnu_symbol_visibility : 'hidden', install : true, ) icd_file_name = libname_prefix + 'vulkan_frygon.' + libname_suffix frygon_icd = custom_target( 'frygon_icd', input : [vk_icd_gen, vk_api_xml], output : 'frygon_icd.@0@.json'.format(host_machine.cpu()), command : [ prog_python, '@INPUT0@', '--api-version', '1.0', '--xml', '@INPUT1@', '--sizeof-pointer', sizeof_pointer, '--lib-path', vulkan_icd_lib_path / icd_file_name, '--out', '@OUTPUT@', ], build_by_default : true, install_dir : with_vulkan_icd_dir, install_tag : 'runtime', install : true, ) _dev_icdname = 'frygon_devenv_icd.@0@.json'.format(host_machine.cpu()) custom_target( 'frygon_devenv_icd', input : [vk_icd_gen, vk_api_xml], output : _dev_icdname, command : [ prog_python, '@INPUT0@', '--api-version', '1.4', '--xml', '@INPUT1@', '--sizeof-pointer', sizeof_pointer, '--lib-path', meson.current_build_dir() / icd_file_name, '--out', '@OUTPUT@', ], build_by_default : true, ) devenv.append('VK_DRIVER_FILES', meson.current_build_dir() / _dev_icdname) # Deprecated: replaced by VK_DRIVER_FILES above devenv.append('VK_ICD_FILENAMES', meson.current_build_dir() / _dev_icdname)