diff --git a/steam-runtime-tools/graphics.c b/steam-runtime-tools/graphics.c index 3d2b9933ada32d54f1e0189fdacfa63a36c26848..cc7c42e2e760c95eb287fbe445815613c9250a2f 100644 --- a/steam-runtime-tools/graphics.c +++ b/steam-runtime-tools/graphics.c @@ -414,11 +414,14 @@ _srt_process_vulkaninfo (JsonParser *parser, gchar **new_version_string, const g return issues; } +/* + * @window_system: (not optional) (inout): + */ static GPtrArray * _argv_for_graphics_test (const char *helpers_path, SrtTestFlags test_flags, const char *multiarch_tuple, - SrtWindowSystem window_system, + SrtWindowSystem *window_system, SrtRenderingInterface rendering_interface, GError **error) { @@ -427,10 +430,12 @@ _argv_for_graphics_test (const char *helpers_path, SrtHelperFlags flags = (SRT_HELPER_FLAGS_TIME_OUT | SRT_HELPER_FLAGS_SEARCH_PATH); + g_assert (window_system != NULL); + if (test_flags & SRT_TEST_FLAGS_TIME_OUT_SOONER) flags |= SRT_HELPER_FLAGS_TIME_OUT_SOONER; - if (window_system == SRT_WINDOW_SYSTEM_GLX) + if (*window_system == SRT_WINDOW_SYSTEM_GLX) { if (rendering_interface == SRT_RENDERING_INTERFACE_GL) { @@ -444,17 +449,17 @@ _argv_for_graphics_test (const char *helpers_path, g_return_val_if_reached (NULL); } } - else if (window_system == SRT_WINDOW_SYSTEM_X11) + else if (*window_system == SRT_WINDOW_SYSTEM_X11) { if (rendering_interface == SRT_RENDERING_INTERFACE_GL) { platformstring = g_strdup ("glx"); - window_system = SRT_WINDOW_SYSTEM_GLX; + *window_system = SRT_WINDOW_SYSTEM_GLX; } else if (rendering_interface == SRT_RENDERING_INTERFACE_GLESV2) { platformstring = g_strdup ("x11_egl"); - window_system = SRT_WINDOW_SYSTEM_EGL_X11; + *window_system = SRT_WINDOW_SYSTEM_EGL_X11; } else if (rendering_interface == SRT_RENDERING_INTERFACE_VULKAN) { @@ -467,7 +472,7 @@ _argv_for_graphics_test (const char *helpers_path, g_return_val_if_reached (NULL); } } - else if (window_system == SRT_WINDOW_SYSTEM_EGL_X11) + else if (*window_system == SRT_WINDOW_SYSTEM_EGL_X11) { if (rendering_interface == SRT_RENDERING_INTERFACE_GL || rendering_interface == SRT_RENDERING_INTERFACE_GLESV2) @@ -692,7 +697,7 @@ _srt_check_graphics (const char *helpers_path, GPtrArray *argv = _argv_for_graphics_test (helpers_path, test_flags, multiarch_tuple, - window_system, + &window_system, rendering_interface, &error);