diff options
| author | Lucas Fryzek <lucas.fryzek@fryzekconcepts.com> | 2025-11-24 19:39:30 -0500 |
|---|---|---|
| committer | Lucas Fryzek <lucas.fryzek@fryzekconcepts.com> | 2025-11-24 19:39:30 -0500 |
| commit | b5f3587df4048d2ba807721ff2faea8c8a43a93f (patch) | |
| tree | 6913f730a41822b98fecd5e82b7cae46164fd9c0 /src/frygon/vulkan/meson.build | |
| parent | 41c700fdbf1d79dfb571105ee93bfa46da6c8428 (diff) | |
WIPfrygon
Diffstat (limited to 'src/frygon/vulkan/meson.build')
| -rw-r--r-- | src/frygon/vulkan/meson.build | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/src/frygon/vulkan/meson.build b/src/frygon/vulkan/meson.build new file mode 100644 index 00000000000..44564edd2fc --- /dev/null +++ b/src/frygon/vulkan/meson.build @@ -0,0 +1,106 @@ +# 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) + + |