summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb/qxcbconnection.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbconnection.h')
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/plugins/platforms/xcb/qxcbconnection.h b/src/plugins/platforms/xcb/qxcbconnection.h
index 6a472a7..3aa36db 100644
--- a/src/plugins/platforms/xcb/qxcbconnection.h
+++ b/src/plugins/platforms/xcb/qxcbconnection.h
@@ -236,11 +236,19 @@ public:
void *xlib_display() const { return m_xlib_display; }
#endif
+#ifdef XCB_USE_DRI2
+ bool hasSupportForDri2() const;
+ void *egl_display() const { return m_egl_display; }
+#endif
+
private slots:
void eventDispatcher();
private:
void initializeAllAtoms();
+#ifdef XCB_USE_DRI2
+ void initializeDri2();
+#endif
xcb_connection_t *m_connection;
const xcb_setup_t *m_setup;
@@ -254,11 +262,24 @@ private:
QXcbKeyboard *m_keyboard;
-#ifdef XCB_USE_XLIB
+#if defined(XCB_USE_XLIB)
void *m_xlib_display;
#endif
+
+#ifdef XCB_USE_DRI2
+ uint32_t m_dri2_major;
+ uint32_t m_dri2_minor;
+ bool m_dri2_support_probed;
+ bool m_has_support_for_dri2;
+ void *m_egl_display;
+#endif
+
};
#define DISPLAY_FROM_XCB(object) ((Display *)(object->connection()->xlib_display()))
+#ifdef XCB_USE_DRI2
+#define EGL_DISPLAY_FROM_XCB(object) ((EGLDisplay)(object->connection()->egl_display()))
+#endif //endifXCB_USE_DRI2
+
#endif