diff --git a/vktrace/vktrace_replay/vkreplay_vkdisplay.cpp b/vktrace/vktrace_replay/vkreplay_vkdisplay.cpp index 836bb7911..00fa0cd98 100644 --- a/vktrace/vktrace_replay/vkreplay_vkdisplay.cpp +++ b/vktrace/vktrace_replay/vkreplay_vkdisplay.cpp @@ -36,6 +36,7 @@ int GetDisplayImplementation(const char *displayServer, vktrace_replay::ReplayDisplayImp **ppDisp) { #if defined(PLATFORM_LINUX) && !defined(ANDROID) // On linux, the option -ds will choose a display server +#if defined(VK_USE_PLATFORM_XCB_KHR) if (strcasecmp(displayServer, "xcb") == 0) { // Attempt to load libvkdisplay_xcb and constructor auto xcb_handle = dlopen("libvkdisplay_xcb.so", RTLD_NOW); @@ -45,7 +46,8 @@ int GetDisplayImplementation(const char *displayServer, vktrace_replay::ReplayDi } auto CreateVkDisplayXcb = reinterpret_cast(dlsym(xcb_handle, "CreateVkDisplayXcb")); *ppDisp = CreateVkDisplayXcb(); - } else if (strcasecmp(displayServer, "wayland") == 0) { +#elif defined(VK_USE_PLATFORM_WAYLAND_KHR) + if (strcasecmp(displayServer, "wayland") == 0) { // Attempt to load libvkdisplay_wayland and constructor auto wayland_handle = dlopen("libvkdisplay_wayland.so", RTLD_NOW); if (dlerror()) { @@ -54,6 +56,7 @@ int GetDisplayImplementation(const char *displayServer, vktrace_replay::ReplayDi } auto CreateVkDisplayWayland = reinterpret_cast(dlsym(wayland_handle, "CreateVkDisplayWayland")); *ppDisp = CreateVkDisplayWayland(); +#endif } else { vktrace_LogError("Invalid display server. Valid options are: xcb, wayland"); return -1;