diff --git a/renderdoc/api/replay/renderdoc_replay.h b/renderdoc/api/replay/renderdoc_replay.h index 70f659734..afa4ea4c8 100644 --- a/renderdoc/api/replay/renderdoc_replay.h +++ b/renderdoc/api/replay/renderdoc_replay.h @@ -139,7 +139,7 @@ struct XlibWindowData #else -typedef void *Display; +typedef struct _XDisplay Display; #endif diff --git a/renderdoc/driver/vulkan/vk_posix.cpp b/renderdoc/driver/vulkan/vk_posix.cpp index af7ed30e8..ec5432062 100644 --- a/renderdoc/driver/vulkan/vk_posix.cpp +++ b/renderdoc/driver/vulkan/vk_posix.cpp @@ -157,7 +157,6 @@ VkBool32 WrappedVulkan::vkGetPhysicalDeviceXcbPresentationSupportKHR(VkPhysicalD namespace Keyboard { void UseConnection(xcb_connection_t *conn); -void CloneDisplay(Display *dpy); } VkResult WrappedVulkan::vkCreateXcbSurfaceKHR(VkInstance instance, @@ -199,6 +198,11 @@ VkBool32 WrappedVulkan::vkGetPhysicalDeviceXlibPresentationSupportKHR( visualID); } +namespace Keyboard +{ +void CloneDisplay(Display *dpy); +} + VkResult WrappedVulkan::vkCreateXlibSurfaceKHR(VkInstance instance, const VkXlibSurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, diff --git a/renderdoc/os/posix/linux/linux_stringio.cpp b/renderdoc/os/posix/linux/linux_stringio.cpp index f865f0ddb..58cf3520a 100644 --- a/renderdoc/os/posix/linux/linux_stringio.cpp +++ b/renderdoc/os/posix/linux/linux_stringio.cpp @@ -42,6 +42,7 @@ #endif #if ENABLED(RDOC_XCB) +#include #include #endif @@ -137,6 +138,10 @@ bool GetXlibKeyState(int key) // if RENDERDOC_WINDOWING_XLIB is not enabled +void CloneDisplay(Display *dpy) +{ +} + bool GetXlibKeyState(int key) { return false; @@ -160,7 +165,7 @@ bool GetXCBKeyState(int key) if(symbols == NULL) return false; - KeySym ks = 0; + xcb_keysym_t ks = 0; if(key >= eRENDERDOC_Key_A && key <= eRENDERDOC_Key_Z) ks = key; diff --git a/renderdoccmd/renderdoccmd_linux.cpp b/renderdoccmd/renderdoccmd_linux.cpp index 99a129ccf..48e5e7b5a 100644 --- a/renderdoccmd/renderdoccmd_linux.cpp +++ b/renderdoccmd/renderdoccmd_linux.cpp @@ -372,11 +372,13 @@ int main(int argc, char *argv[]) GlobalEnvironment env; +#if defined(RENDERDOC_WINDOWING_XLIB) || defined(RENDERDOC_WINDOWING_XCB) // call XInitThreads - although we don't use xlib concurrently the driver might need to. XInitThreads(); // we don't check if display successfully opened, it's only a problem if it's needed later. display = env.xlibDisplay = XOpenDisplay(NULL); +#endif #if defined(RENDERDOC_SUPPORT_VULKAN) VerifyVulkanLayer(env, argc, argv);