summaryrefslogtreecommitdiffstats
path: root/src/compositor/hardware_integration/xcomposite_glx/xcompositeglxintegration.h
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@nokia.com>2011-12-05 17:09:02 +0100
committerLaszlo Agocs <laszlo.p.agocs@nokia.com>2011-12-07 09:58:35 +0100
commit4c89518228012ddc3602eab405e4b5fb8108fcdf (patch)
tree615d4fdc38999e408d52998c39760064d223b652 /src/compositor/hardware_integration/xcomposite_glx/xcompositeglxintegration.h
parent542eca71e074b5110df2aaf822449bf7d6ec2b91 (diff)
Make wayland actually a module
Also fix so that QtCompositor can be built as shared object. + fix so that the default QT_WAYLAND_GL_CONFIG is wayland_egl Change-Id: I02b72e99286584426bd37ab2d00bbc84af11efdc Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Diffstat (limited to 'src/compositor/hardware_integration/xcomposite_glx/xcompositeglxintegration.h')
-rw-r--r--src/compositor/hardware_integration/xcomposite_glx/xcompositeglxintegration.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/compositor/hardware_integration/xcomposite_glx/xcompositeglxintegration.h b/src/compositor/hardware_integration/xcomposite_glx/xcompositeglxintegration.h
new file mode 100644
index 000000000..43f062fdf
--- /dev/null
+++ b/src/compositor/hardware_integration/xcomposite_glx/xcompositeglxintegration.h
@@ -0,0 +1,30 @@
+#ifndef XCOMPOSITEGLXINTEGRATION_H
+#define XCOMPOSITEGLXINTEGRATION_H
+
+#include "hardware_integration/graphicshardwareintegration.h"
+
+#include "xlibinclude.h"
+
+#define GLX_GLXEXT_PROTOTYPES
+#include <GL/glx.h>
+#include <GL/glxext.h>
+
+class XCompositeGLXIntegration : public GraphicsHardwareIntegration
+{
+public:
+ XCompositeGLXIntegration(WaylandCompositor *compositor);
+
+ void initializeHardware(Wayland::Display *waylandDisplay);
+
+ GLuint createTextureFromBuffer(struct wl_buffer *buffer, QOpenGLContext *context);
+ bool isYInverted(wl_buffer *) const;
+
+private:
+ PFNGLXBINDTEXIMAGEEXTPROC m_glxBindTexImageEXT;
+ PFNGLXRELEASETEXIMAGEEXTPROC m_glxReleaseTexImageEXT;
+
+ Display *mDisplay;
+ int mScreen;
+};
+
+#endif // XCOMPOSITEGLXINTEGRATION_H