driconf: add override for Xwayland

zink needs this to avoid deadlocking on startup

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14541>
This commit is contained in:
Mike Blumenkrantz 2022-03-22 15:32:33 -04:00 committed by Marge Bot
parent 48d63705d9
commit d32a897f4e
4 changed files with 12 additions and 1 deletions

View File

@ -3,6 +3,8 @@
DRI_CONF_SECTION_DEBUG
DRI_CONF_DUAL_COLOR_BLEND_BY_LOCATION(false)
DRI_CONF_OPT_B(radeonsi_inline_uniforms, false, "Optimize shaders by replacing uniforms with literals")
DRI_CONF_OPT_B(disable_xcb_surface, false, \
"disable ext")
DRI_CONF_SECTION_END
DRI_CONF_SECTION_PERFORMANCE

View File

@ -43,7 +43,8 @@ EXTENSIONS = [
Extension("VK_KHR_surface"),
Extension("VK_EXT_headless_surface"),
Extension("VK_KHR_wayland_surface"),
Extension("VK_KHR_xcb_surface"),
Extension("VK_KHR_xcb_surface",
conditions=["!instance_info->disable_xcb_surface"]),
]
# constructor: Layer(name, conditions=[])
@ -73,10 +74,12 @@ header_code = """
#include "MoltenVK/vk_mvk_moltenvk.h"
#endif
struct pipe_screen;
struct zink_screen;
struct zink_instance_info {
uint32_t loader_version;
bool disable_xcb_surface;
%for ext in extensions:
bool have_${ext.name_with_vendor()};

View File

@ -2113,6 +2113,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config)
NULL, NULL, NULL, 0, NULL, 0);
screen->driconf.dual_color_blend_by_location = driQueryOptionb(config->options, "dual_color_blend_by_location");
//screen->driconf.inline_uniforms = driQueryOptionb(config->options, "radeonsi_inline_uniforms");
screen->instance_info.disable_xcb_surface = driQueryOptionb(config->options, "disable_xcb_surface");
}
#endif
screen->instance = zink_create_instance(&screen->instance_info);

View File

@ -70,6 +70,11 @@ TODO: document the other workarounds.
<option name="disable_arb_gpu_shader5" value="true" />
</application>
<!-- using vulkan wsi for xservers causes deadlocks -->
<application name="Xwayland" executable="Xwayland">
<option name="disable_xcb_surface" value="true" />
</application>
<application name="Unigine Heaven (32-bit)" executable="heaven_x86">
<option name="allow_glsl_extension_directive_midshader" value="true" />
<!-- remove dual_color_blend_by_location if 4.1 ever comes out -->