diff --git a/tests/glfwinfo.c b/tests/glfwinfo.c index 9789f98a..e5b7af10 100644 --- a/tests/glfwinfo.c +++ b/tests/glfwinfo.c @@ -116,6 +116,7 @@ static void usage(void) ANGLE_TYPE_VULKAN " or " ANGLE_TYPE_METAL ")\n"); printf(" --graphics-switching request macOS graphics switching\n"); + printf(" --disable-xcb-surface disable VK_KHR_xcb_surface extension\n"); } static void error_callback(int error, const char* description) @@ -360,6 +361,7 @@ int main(int argc, char** argv) bool fb_doublebuffer = true; int angle_type = GLFW_ANGLE_PLATFORM_TYPE_NONE; bool cocoa_graphics_switching = false; + bool disable_xcb_surface = false; enum { CLIENT, CONTEXT, BEHAVIOR, DEBUG_CONTEXT, FORWARD, HELP, EXTENSIONS, LAYERS, @@ -367,7 +369,7 @@ int main(int argc, char** argv) REDBITS, GREENBITS, BLUEBITS, ALPHABITS, DEPTHBITS, STENCILBITS, ACCUMREDBITS, ACCUMGREENBITS, ACCUMBLUEBITS, ACCUMALPHABITS, AUXBUFFERS, SAMPLES, STEREO, SRGB, SINGLEBUFFER, NOERROR_SRSLY, - ANGLE_TYPE, GRAPHICS_SWITCHING }; + ANGLE_TYPE, GRAPHICS_SWITCHING, XCB_SURFACE }; const struct option options[] = { { "behavior", 1, NULL, BEHAVIOR }, @@ -401,6 +403,7 @@ int main(int argc, char** argv) { "no-error", 0, NULL, NOERROR_SRSLY }, { "angle-type", 1, NULL, ANGLE_TYPE }, { "graphics-switching", 0, NULL, GRAPHICS_SWITCHING }, + { "vk-xcb-surface", 0, NULL, XCB_SURFACE }, { NULL, 0, NULL, 0 } }; @@ -607,6 +610,9 @@ int main(int argc, char** argv) case GRAPHICS_SWITCHING: cocoa_graphics_switching = true; break; + case XCB_SURFACE: + disable_xcb_surface = true; + break; default: usage(); exit(EXIT_FAILURE); @@ -623,6 +629,7 @@ int main(int argc, char** argv) glfwInitHint(GLFW_COCOA_MENUBAR, false); glfwInitHint(GLFW_ANGLE_PLATFORM_TYPE, angle_type); + glfwInitHint(GLFW_X11_XCB_VULKAN_SURFACE, !disable_xcb_surface); if (!glfwInit()) exit(EXIT_FAILURE);