mirror of
https://gitlab.freedesktop.org/wayland/weston.git
synced 2025-12-20 05:50:10 +01:00
60 lines
1.4 KiB
Meson
60 lines
1.4 KiB
Meson
|
|
if not get_option('renderer-vulkan')
|
||
|
|
subdir_done()
|
||
|
|
endif
|
||
|
|
|
||
|
|
config_h.set('ENABLE_VULKAN', '1')
|
||
|
|
|
||
|
|
srcs_shaders_renderer_vulkan = [
|
||
|
|
'vulkan_vertex_shader_surface.vert',
|
||
|
|
'vulkan_vertex_shader_texcoord.vert',
|
||
|
|
'vulkan_fragment_shader.frag',
|
||
|
|
]
|
||
|
|
|
||
|
|
shaders_renderer_vulkan = []
|
||
|
|
foreach s : srcs_shaders_renderer_vulkan
|
||
|
|
shaders_renderer_vulkan += custom_target(s + '.spv.h',
|
||
|
|
command: [ prog_glslang, '@INPUT@', '--quiet', '--variable-name', '@BASENAME@', '-V', '-x', '-o', '@OUTPUT@' ],
|
||
|
|
input: s,
|
||
|
|
output: '@BASENAME@.spv.h',
|
||
|
|
)
|
||
|
|
endforeach
|
||
|
|
|
||
|
|
srcs_renderer_vulkan = [
|
||
|
|
'vulkan-pipeline.c',
|
||
|
|
'vulkan-pixel-format.c',
|
||
|
|
'vulkan-renderer.c',
|
||
|
|
shaders_renderer_vulkan,
|
||
|
|
linux_dmabuf_unstable_v1_protocol_c,
|
||
|
|
linux_dmabuf_unstable_v1_server_protocol_h,
|
||
|
|
]
|
||
|
|
|
||
|
|
deps_renderer_vulkan = [
|
||
|
|
dep_libdrm,
|
||
|
|
|
||
|
|
dep_gbm,
|
||
|
|
dep_libm,
|
||
|
|
dep_pixman,
|
||
|
|
dep_libweston_private,
|
||
|
|
dep_libdrm_headers,
|
||
|
|
dep_vertex_clipping
|
||
|
|
]
|
||
|
|
|
||
|
|
foreach name : [ 'vulkan' ]
|
||
|
|
d = dependency(name, required: false)
|
||
|
|
if not d.found()
|
||
|
|
error('vulkan-renderer requires @0@ which was not found. Or, you can use \'-Drenderer-vulkan=false\'.'.format(name))
|
||
|
|
endif
|
||
|
|
deps_renderer_vulkan += d
|
||
|
|
endforeach
|
||
|
|
|
||
|
|
plugin_vulkan = shared_library(
|
||
|
|
'vulkan-renderer',
|
||
|
|
srcs_renderer_vulkan,
|
||
|
|
include_directories: common_inc,
|
||
|
|
dependencies: deps_renderer_vulkan,
|
||
|
|
name_prefix: '',
|
||
|
|
install: true,
|
||
|
|
install_dir: dir_module_libweston
|
||
|
|
)
|
||
|
|
env_modmap += 'vulkan-renderer.so=@0@;'.format(plugin_vulkan.full_path())
|