vallium: initial import of the vulkan frontend
[mesa.git] / src / gallium / frontends / vallium / meson.build
diff --git a/src/gallium/frontends/vallium/meson.build b/src/gallium/frontends/vallium/meson.build
new file mode 100644 (file)
index 0000000..f0afa89
--- /dev/null
@@ -0,0 +1,66 @@
+
+val_entrypoints = custom_target(
+  'val_entrypoints.[ch]',
+  input : ['val_entrypoints_gen.py', vk_api_xml],
+  output : ['val_entrypoints.h', 'val_entrypoints.c'],
+  command : [
+    prog_python, '@INPUT0@', '--xml', '@INPUT1@', '--outdir',
+    meson.current_build_dir()
+  ],
+  depend_files : files('val_extensions.py'),
+)
+
+val_extensions_c = custom_target(
+  'val_extensions.c',
+  input : ['val_extensions.py', vk_api_xml],
+  output : ['val_extensions.c', 'val_extensions.h'],
+  command : [
+    prog_python, '@INPUT0@', '--xml', '@INPUT1@', '--out-c', '@OUTPUT0@',
+    '--out-h', '@OUTPUT1@'
+  ],
+)
+
+libval_files = files(
+    'val_device.c',
+    'val_cmd_buffer.c',
+    'val_descriptor_set.c',
+    'val_execute.c',
+    'val_util.c',
+    'val_image.c',
+    'val_formats.c',
+    'val_lower_vulkan_resource.c',
+    'val_lower_vulkan_resource.h',
+    'val_lower_input_attachments.c',
+    'val_pass.c',
+    'val_pipeline.c',
+    'val_pipeline_cache.c',
+    'val_query.c',
+    'val_wsi.c')
+
+val_deps = []
+val_flags = []
+
+if with_platform_x11
+  val_deps += dep_xcb_dri3
+  val_flags += [
+    '-DVK_USE_PLATFORM_XCB_KHR',
+    '-DVK_USE_PLATFORM_XLIB_KHR',
+  ]
+  libval_files += files('val_wsi_x11.c')
+endif
+
+if with_platform_wayland
+  val_deps += dep_wayland_client
+  val_flags += '-DVK_USE_PLATFORM_WAYLAND_KHR'
+  libval_files += files('val_wsi_wayland.c')
+endif
+
+libvallium_st = static_library(
+  'vallium_st',
+  [libval_files, val_entrypoints, val_extensions_c ],
+  link_with : [ libvulkan_wsi ],
+  c_args : [ val_flags ],
+  gnu_symbol_visibility : 'hidden',
+  include_directories : [ inc_include, inc_src, inc_util, inc_gallium, inc_compiler, inc_gallium_aux, inc_vulkan_wsi ],
+  dependencies : [ idep_nir, idep_mesautil, idep_vulkan_util ]
+)