Option to use vulkan

pr-642
jackun 2 years ago
parent 1756e8d852
commit 8ccbf269a2
No known key found for this signature in database
GPG Key ID: 119DB3F1D05A9ED3

@ -186,6 +186,7 @@ else
dep_rt = null_dep
endif
if get_option('use_vulkan')
if dep_vulkan.found()
datadir = get_option('vulkan_datadir')
if datadir == ''
@ -210,6 +211,9 @@ vk_enum_to_str = custom_target(
'--outdir', meson.current_build_dir()
],
)
else
vk_enum_to_str = []
endif
util_files = files(
'src/mesa/util/os_socket.c',

@ -11,6 +11,7 @@ option('with_nvml', type : 'combo', value : 'enabled', choices: ['enabled', 'sys
option('with_xnvctrl', type : 'feature', value : 'enabled', description: 'Enable XNVCtrl support')
option('with_x11', type : 'feature', value : 'enabled')
option('with_wayland', type : 'feature', value : 'disabled')
option('use_vulkan', type : 'boolean', value : 'true')
option('with_dbus', type : 'feature', value : 'enabled')
option('with_dlsym', type : 'feature', value : 'disabled')
option('loglevel', type: 'combo', choices : ['trace', 'debug', 'info', 'warn', 'err', 'critical', 'off'], value : 'info', description: 'Max log level in non-debug build')

@ -519,6 +519,7 @@ void HudElements::engine_version(){
ImGui::TableNextRow(); ImGui::TableNextColumn();
ImGui::PushFont(HUDElements.sw_stats->font1);
if (HUDElements.is_vulkan) {
#ifdef HAVE_VULKAN
if ((HUDElements.sw_stats->engine == EngineTypes::DXVK || HUDElements.sw_stats->engine == EngineTypes::VKD3D)){
ImGui::TextColored(HUDElements.colors.engine,
"%s/%d.%d.%d", HUDElements.sw_stats->engineVersion.c_str(),
@ -532,6 +533,7 @@ void HudElements::engine_version(){
HUDElements.sw_stats->version_vk.minor,
HUDElements.sw_stats->version_vk.patch);
}
#endif
} else {
ImGui::TextColored(HUDElements.colors.engine,
"%d.%d%s", HUDElements.sw_stats->version_gl.major, HUDElements.sw_stats->version_gl.minor,
@ -685,8 +687,10 @@ void HudElements::image(){
HUDElements.image_infos.loaded = true;
if (HUDElements.is_vulkan) {
#ifdef HAVE_VULKAN
if ((HUDElements.image_infos.texture = add_texture(HUDElements.sw_stats, value, &(HUDElements.image_infos.width), &(HUDElements.image_infos.height), maxwidth)))
HUDElements.image_infos.valid = true;
#endif
} else {
HUDElements.image_infos.valid = GL_LoadTextureFromFile(value.c_str(),
reinterpret_cast<unsigned int*>(&(HUDElements.image_infos.texture)),
@ -715,8 +719,10 @@ void HudElements::background_image(){
if (HUDElements.background_image_infos.loaded == false) {
HUDElements.background_image_infos.loaded = true;
if (HUDElements.is_vulkan) {
#ifdef HAVE_VULKAN
if ((HUDElements.background_image_infos.texture = add_texture(HUDElements.sw_stats, value, &(HUDElements.background_image_infos.width), &(HUDElements.background_image_infos.height), 0)))
HUDElements.background_image_infos.valid = true;
#endif
} else {
HUDElements.background_image_infos.valid = GL_LoadTextureFromFile(value.c_str(),
reinterpret_cast<unsigned int*>(&(HUDElements.background_image_infos.texture)),

@ -51,12 +51,16 @@ vklayer_files = files(
'logging.cpp',
'config.cpp',
'gpu.cpp',
'vulkan.cpp',
'blacklist.cpp',
'file_utils.cpp',
'amdgpu.cpp',
'load_textures.cpp',
)
if get_option('use_vulkan')
vklayer_files += files('vulkan.cpp')
endif
opengl_files = []
if ['windows', 'mingw'].contains(host_machine.system())
vklayer_files += files(
@ -155,6 +159,10 @@ if is_unixy
endif
endif
if get_option('use_vulkan')
pre_args += '-DHAVE_VULKAN'
endif
link_args = cc.get_supported_link_arguments(['-Wl,-Bsymbolic-functions', '-Wl,-z,relro', '-Wl,--exclude-libs,ALL', '-lGL'])
# meson fails to check version-script so just force add
link_args += '-Wl,--version-script,@0@'.format(join_paths(meson.current_source_dir(), 'mangohud.version'))

Loading…
Cancel
Save