$$PWD/wloutput.cpp \
$$PWD/wldisplay.cpp \
$$PWD/wlbuffer.cpp \
- $$PWD/wlshmbuffer.cpp \
- $$PWD/wldrmbuffer.cpp
+ $$PWD/wlshmbuffer.cpp
HEADERS += $$PWD/qtcompositor.h \
$$PWD/wlcompositor.h \
$$PWD/wloutput.h \
$$PWD/wlbuffer.h \
$$PWD/wlshmbuffer.h \
- $$PWD/wldrmbuffer.h \
$$PWD/wldisplay.h \
$$PWD/wlobject.h
+wayland_drm {
+ SOURCES += $$PWD/wldrmbuffer.cpp
+ HEADERS += $$PWD/wldrmbuffer.h
+
+ DEFINES += QT_WAYLAND_DRM
+}
INCLUDEPATH += .
INCLUDEPATH += ../3rdparty/wayland
-DESTDIR=$$PWD/../../bin/
+# comment out the following line to disable DRM
+CONFIG += wayland_drm
+DESTDIR=$$PWD/../../bin/
LIBS += -L ../../lib
-LIBS += -lxcb-dri2 -lEGL
+wayland_drm {
+ LIBS += -lxcb-dri2 -lEGL
+}
include (qt-compositor.pri)
# Input
Compositor::Compositor(WaylandCompositor *qt_compositor)
: m_display(new Display)
, m_shm(this)
+#ifdef QT_WAYLAND_DRM
, m_drm(this)
+#endif
, m_current_frame(0)
, m_last_queued_buf(-1)
, m_qt_compositor(qt_compositor)
m_display->addGlobalObject(m_output.base(), &wl_output_interface, 0, output_post_geometry);
m_display->addGlobalObject(&m_shell, &wl_shell_interface, &shell_interface, 0);
+#ifdef QT_WAYLAND_DRM
m_display->addGlobalObject(m_drm.base(), &wl_drm_interface, &drm_interface, post_drm_device);
+#endif
m_display->addGlobalObject(m_shm.base(), &wl_shm_interface, &shm_interface, 0);
wl_input_device_init(&m_input, base());
#include "wlsurface.h"
#include "wldisplay.h"
#include "wlshmbuffer.h"
-#include "wldrmbuffer.h"
+#ifdef QT_WAYLAND_DRM
+# include "wldrmbuffer.h"
+#endif
#include <wayland-server.h>
/* shm/drm-Handler */
ShmHandler m_shm;
+#ifdef QT_WAYLAND_DRM
DrmHandler m_drm;
-
+#endif
QList<Surface *> m_surfaces;
/* Render state */