Compositor: Don't require OpenGL to build the QML APIs
[ChangeLog][Compositor API] The compositor API now works without OpenGL support. This makes the compositor API work with shared memory clients only. If OpenGL clients connect they will currently punch holes in the compositor window, but fixing that is out of scope for this patch. Fixes: QTBUG-74896 Change-Id: I6c1ba82f28ba9edecf380e471124e15d16f9518e Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
This commit is contained in:
parent
5de4be4185
commit
dfa4796eae
@ -36,7 +36,9 @@
|
||||
#include <QPixmap>
|
||||
#include <QDrag>
|
||||
#include <QWindow>
|
||||
#if QT_CONFIG(opengl)
|
||||
#include <QOpenGLWindow>
|
||||
#endif
|
||||
|
||||
#include <QtTest/QtTest>
|
||||
#include <QtWaylandClient/private/qwaylandintegration_p.h>
|
||||
@ -107,6 +109,7 @@ public:
|
||||
QPoint mousePressPos;
|
||||
};
|
||||
|
||||
#if QT_CONFIG(opengl)
|
||||
class TestGlWindow : public QOpenGLWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
@ -136,6 +139,7 @@ void TestGlWindow::paintGL()
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
++paintGLCalled;
|
||||
}
|
||||
#endif // QT_CONFIG(opengl)
|
||||
|
||||
class tst_WaylandClient : public QObject
|
||||
{
|
||||
@ -176,7 +180,9 @@ private slots:
|
||||
void dontCrashOnMultipleCommits();
|
||||
void hiddenTransientParent();
|
||||
void hiddenPopupParent();
|
||||
#if QT_CONFIG(opengl)
|
||||
void glWindow();
|
||||
#endif // QT_CONFIG(opengl)
|
||||
void longWindowTitle();
|
||||
|
||||
private:
|
||||
@ -458,6 +464,7 @@ void tst_WaylandClient::hiddenPopupParent()
|
||||
QTRY_VERIFY(compositor->surface());
|
||||
}
|
||||
|
||||
#if QT_CONFIG(opengl)
|
||||
void tst_WaylandClient::glWindow()
|
||||
{
|
||||
QSKIP("Skipping GL tests, as not supported by all CI systems: See https://bugreports.qt.io/browse/QTBUG-65802");
|
||||
@ -483,6 +490,7 @@ void tst_WaylandClient::glWindow()
|
||||
testWindow->setVisible(false);
|
||||
QTRY_VERIFY(!compositor->surface());
|
||||
}
|
||||
#endif // QT_CONFIG(opengl)
|
||||
|
||||
void tst_WaylandClient::longWindowTitle()
|
||||
{
|
||||
|
@ -28,7 +28,9 @@
|
||||
|
||||
#include "mockcompositor.h"
|
||||
#include <QtGui/QRasterWindow>
|
||||
#if QT_CONFIG(opengl)
|
||||
#include <QtGui/QOpenGLWindow>
|
||||
#endif
|
||||
|
||||
using namespace MockCompositor;
|
||||
|
||||
@ -39,7 +41,9 @@ private slots:
|
||||
void cleanup() { QTRY_VERIFY2(isClean(), qPrintable(dirtyMessage())); }
|
||||
void createDestroySurface();
|
||||
void waitForFrameCallbackRaster();
|
||||
#if QT_CONFIG(opengl)
|
||||
void waitForFrameCallbackGl();
|
||||
#endif
|
||||
void negotiateShmFormat();
|
||||
};
|
||||
|
||||
@ -89,6 +93,7 @@ void tst_surface::waitForFrameCallbackRaster()
|
||||
}
|
||||
}
|
||||
|
||||
#if QT_CONFIG(opengl)
|
||||
void tst_surface::waitForFrameCallbackGl()
|
||||
{
|
||||
QSKIP("TODO: This currently fails, needs a fix");
|
||||
@ -129,6 +134,7 @@ void tst_surface::waitForFrameCallbackGl()
|
||||
bufferSpy.removeFirst();
|
||||
}
|
||||
}
|
||||
#endif // QT_CONFIG(opengl)
|
||||
|
||||
void tst_surface::negotiateShmFormat()
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user