diff options
author | Paul Olav Tvete <paul.tvete@qt.io> | 2020-06-16 17:03:47 +0200 |
---|---|---|
committer | Paul Olav Tvete <paul.tvete@qt.io> | 2020-06-17 17:42:01 +0200 |
commit | 83fb4f6743860bfb746e6243aad00513d498db4f (patch) | |
tree | 816bf1a1d509124c6bfb4fc34cce2a4ed885f40e /src/quick/items | |
parent | 48e919e9647fd07351be37e1ad7efdda9c550be9 (diff) |
Clean up QT_CONFIG(opengl)
Accelerated graphics is now possible without OpenGL support. With
this change, a Qt build with -no-opengl can still run Qt Quick with
a Vulkan, Metal, or Direct3D backend.
Fixes: QTBUG-84027
Change-Id: Ib63c733d28cfdf7de16b138df136fa7628e1747b
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/quick/items')
-rw-r--r-- | src/quick/items/context2d/qquickcontext2dcommandbuffer.cpp | 4 | ||||
-rw-r--r-- | src/quick/items/items.pri | 14 | ||||
-rw-r--r-- | src/quick/items/items.qrc | 12 | ||||
-rw-r--r-- | src/quick/items/qquickitemsmodule.cpp | 10 | ||||
-rw-r--r-- | src/quick/items/qquickpainteditem.cpp | 4 | ||||
-rw-r--r-- | src/quick/items/qquickrendercontrol.cpp | 6 | ||||
-rw-r--r-- | src/quick/items/qquickshadereffect.cpp | 2 | ||||
-rw-r--r-- | src/quick/items/qquickspriteengine.cpp | 2 | ||||
-rw-r--r-- | src/quick/items/qquickwindow.cpp | 16 | ||||
-rw-r--r-- | src/quick/items/qquickwindow.h | 1 | ||||
-rw-r--r-- | src/quick/items/shaders/shadereffect.frag | 9 | ||||
-rw-r--r-- | src/quick/items/shaders/shadereffect.vert | 12 | ||||
-rw-r--r-- | src/quick/items/shaders/shadereffect_core.frag | 13 | ||||
-rw-r--r-- | src/quick/items/shaders/shadereffect_core.vert | 14 | ||||
-rw-r--r-- | src/quick/items/shaders/shadereffectfallback.frag | 4 | ||||
-rw-r--r-- | src/quick/items/shaders/shadereffectfallback.vert | 8 | ||||
-rw-r--r-- | src/quick/items/shaders/shadereffectfallback_core.frag | 8 | ||||
-rw-r--r-- | src/quick/items/shaders/shadereffectfallback_core.vert | 10 |
18 files changed, 8 insertions, 141 deletions
diff --git a/src/quick/items/context2d/qquickcontext2dcommandbuffer.cpp b/src/quick/items/context2d/qquickcontext2dcommandbuffer.cpp index 73b52d0c73..e3f8acad00 100644 --- a/src/quick/items/context2d/qquickcontext2dcommandbuffer.cpp +++ b/src/quick/items/context2d/qquickcontext2dcommandbuffer.cpp @@ -43,10 +43,6 @@ #include <QtCore/QMutex> #include <QtQuick/qsgtexture.h> #include <QtGui/QPaintEngine> -#if QT_CONFIG(opengl) -# include <QOpenGLContext> -# include <private/qopenglpaintengine_p.h> -#endif #define HAS_SHADOW(offsetX, offsetY, blur, color) (color.isValid() && color.alpha() && (blur || offsetX || offsetY)) diff --git a/src/quick/items/items.pri b/src/quick/items/items.pri index c3f350809d..dd477d0e5a 100644 --- a/src/quick/items/items.pri +++ b/src/quick/items/items.pri @@ -214,18 +214,6 @@ qtConfig(quick-shadereffect) { $$PWD/qquickshadereffectsource.cpp \ $$PWD/qquickshadereffectmesh.cpp \ $$PWD/qquickshadereffect.cpp - - qtConfig(opengl) { - OTHER_FILES += \ - $$PWD/shaders/shadereffect.vert \ - $$PWD/shaders/shadereffect.frag \ - $$PWD/shaders/shadereffectfallback.vert \ - $$PWD/shaders/shadereffectfallback.frag \ - $$PWD/shaders/shadereffect_core.vert \ - $$PWD/shaders/shadereffect_core.frag \ - $$PWD/shaders/shadereffectfallback_core.vert \ - $$PWD/shaders/shadereffectfallback_core.frag - } } qtConfig(quick-sprite) { @@ -252,8 +240,6 @@ qtConfig(opengl(es1|es2)?) { $$PWD/qquickframebufferobject.h } -RESOURCES += \ - $$PWD/items.qrc qtConfig(quick-canvas): \ include(context2d/context2d.pri) diff --git a/src/quick/items/items.qrc b/src/quick/items/items.qrc deleted file mode 100644 index 6aaf757c29..0000000000 --- a/src/quick/items/items.qrc +++ /dev/null @@ -1,12 +0,0 @@ -<RCC> - <qresource prefix="/qt-project.org/items"> - <file>shaders/shadereffect.vert</file> - <file>shaders/shadereffect.frag</file> - <file>shaders/shadereffectfallback.frag</file> - <file>shaders/shadereffectfallback.vert</file> - <file>shaders/shadereffect_core.frag</file> - <file>shaders/shadereffect_core.vert</file> - <file>shaders/shadereffectfallback_core.frag</file> - <file>shaders/shadereffectfallback_core.vert</file> - </qresource> -</RCC> diff --git a/src/quick/items/qquickitemsmodule.cpp b/src/quick/items/qquickitemsmodule.cpp index 12d9a499e4..a34ffa829d 100644 --- a/src/quick/items/qquickitemsmodule.cpp +++ b/src/quick/items/qquickitemsmodule.cpp @@ -182,16 +182,16 @@ static void qt_quickitems_defineModule() qRegisterMetaType<QQuickHandlerPoint>(); } -static void initResources() -{ - Q_INIT_RESOURCE(items); -} +//static void initResources() +//{ +// Q_INIT_RESOURCE(items); +//} QT_BEGIN_NAMESPACE void QQuickItemsModule::defineModule() { - initResources(); +// initResources(); qt_quickitems_defineModule(); } diff --git a/src/quick/items/qquickpainteditem.cpp b/src/quick/items/qquickpainteditem.cpp index 6490f4dcdd..6a9599badf 100644 --- a/src/quick/items/qquickpainteditem.cpp +++ b/src/quick/items/qquickpainteditem.cpp @@ -640,13 +640,11 @@ QSGTextureProvider *QQuickPaintedItem::textureProvider() const return QQuickItem::textureProvider(); Q_D(const QQuickPaintedItem); -#if QT_CONFIG(opengl) QQuickWindow *w = window(); - if (!w || !w->isSceneGraphInitialized() || QThread::currentThread() != QQuickWindowPrivate::get(w)->context->thread()) { + if (!w || !w->isSceneGraphInitialized() || QThread::currentThread() != d->sceneGraphContext()->thread()) { qWarning("QQuickPaintedItem::textureProvider: can only be queried on the rendering thread of an exposed window"); return nullptr; } -#endif if (!d->textureProvider) d->textureProvider = new QQuickPaintedItemTextureProvider(); d->textureProvider->node = d->node; diff --git a/src/quick/items/qquickrendercontrol.cpp b/src/quick/items/qquickrendercontrol.cpp index 53c0b6b731..51483bce57 100644 --- a/src/quick/items/qquickrendercontrol.cpp +++ b/src/quick/items/qquickrendercontrol.cpp @@ -203,8 +203,7 @@ void QQuickRenderControlPrivate::windowDestroyed() rc->invalidate(); QQuickWindowPrivate::get(window)->animationController.reset(); -// ### Qt 6 clean this up -#if QT_CONFIG(quick_shadereffect) && QT_CONFIG(opengl) +#if QT_CONFIG(quick_shadereffect) QSGRhiShaderEffectNode::cleanupMaterialTypeCache(); #endif window = nullptr; @@ -281,8 +280,6 @@ int QQuickRenderControl::samples() const bool QQuickRenderControl::initialize() { Q_D(QQuickRenderControl); -// ### Qt 6 clean this up -#if QT_CONFIG(opengl) if (!d->window) { qWarning("QQuickRenderControl::initialize called with no associated window"); return false; @@ -306,7 +303,6 @@ bool QQuickRenderControl::initialize() qWarning("QRhi is only compatible with default adaptation"); return false; } -#endif return true; } diff --git a/src/quick/items/qquickshadereffect.cpp b/src/quick/items/qquickshadereffect.cpp index c4c48fdea5..a19d881419 100644 --- a/src/quick/items/qquickshadereffect.cpp +++ b/src/quick/items/qquickshadereffect.cpp @@ -40,9 +40,7 @@ #include <private/qquickshadereffect_p.h> #include <private/qsgcontextplugin_p.h> #include <private/qquickitem_p.h> -#if QT_CONFIG(opengl) /* || QT_CONFIG(vulkan) || defined(Q_OS_WIN) || defined(Q_OS_DARWIN) */ #include <private/qsgrhisupport_p.h> -#endif #include <private/qquickwindow_p.h> #include <private/qquickitem_p.h> diff --git a/src/quick/items/qquickspriteengine.cpp b/src/quick/items/qquickspriteengine.cpp index 3e4ed8707b..f20d8bc6c8 100644 --- a/src/quick/items/qquickspriteengine.cpp +++ b/src/quick/items/qquickspriteengine.cpp @@ -45,8 +45,6 @@ #include <QPainter> #include <QRandomGenerator> #include <QSet> -#include <qopengl.h> -#include <QOpenGLFunctions> QT_BEGIN_NAMESPACE diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index 22d99be2c0..faf4eb1b50 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -80,8 +80,8 @@ #include <private/qqmldebugserviceinterfaces_p.h> #include <private/qqmldebugconnector_p.h> -#if QT_CONFIG(opengl) #include <private/qsgdefaultrendercontext_p.h> +#if QT_CONFIG(opengl) #include <private/qopengl_p.h> #include <QOpenGLContext> #endif @@ -105,7 +105,6 @@ Q_LOGGING_CATEGORY(DBG_FOCUS, "qt.quick.focus") Q_LOGGING_CATEGORY(DBG_DIRTY, "qt.quick.dirty") Q_LOGGING_CATEGORY(lcTransient, "qt.quick.window.transient") -extern Q_GUI_EXPORT QImage qt_gl_read_framebuffer(const QSize &size, bool alpha_format, bool include_alpha); extern Q_GUI_EXPORT bool qt_sendShortcutOverrideEvent(QObject *o, ulong timestamp, int k, Qt::KeyboardModifiers mods, const QString &text = QString(), bool autorep = false, ushort count = 1); bool QQuickWindowPrivate::defaultAlphaBuffer = false; @@ -4791,7 +4790,6 @@ QSGTexture *QQuickWindow::createTextureFromNativeObject(NativeObjectType type, return nullptr; } -#if QT_CONFIG(opengl) /* || QT_CONFIG(vulkan) || defined(Q_OS_WIN) || defined(Q_OS_DARWIN) */ Q_D(const QQuickWindow); if (d->rhi) { QSGPlainTexture *texture = new QSGPlainTexture; @@ -4803,12 +4801,6 @@ QSGTexture *QQuickWindow::createTextureFromNativeObject(NativeObjectType type, texture->setTextureSize(size); return texture; } -#else - Q_UNUSED(nativeObjectHandle); - Q_UNUSED(nativeLayout); - Q_UNUSED(size); - Q_UNUSED(options); -#endif return nullptr; } @@ -4950,7 +4942,6 @@ const QQuickWindow::GraphicsStateInfo &QQuickWindow::graphicsStateInfo() */ void QQuickWindow::beginExternalCommands() { -#if QT_CONFIG(opengl) /* || QT_CONFIG(vulkan) || defined(Q_OS_WIN) || defined(Q_OS_DARWIN) */ Q_D(QQuickWindow); if (d->rhi && d->context && d->context->isValid()) { QSGDefaultRenderContext *rc = static_cast<QSGDefaultRenderContext *>(d->context); @@ -4958,7 +4949,6 @@ void QQuickWindow::beginExternalCommands() if (cb) cb->beginExternal(); } -#endif } /*! @@ -4989,7 +4979,6 @@ void QQuickWindow::beginExternalCommands() */ void QQuickWindow::endExternalCommands() { -#if QT_CONFIG(opengl) /* || QT_CONFIG(vulkan) || defined(Q_OS_WIN) || defined(Q_OS_DARWIN) */ Q_D(QQuickWindow); if (d->rhi && d->context && d->context->isValid()) { QSGDefaultRenderContext *rc = static_cast<QSGDefaultRenderContext *>(d->context); @@ -4997,7 +4986,6 @@ void QQuickWindow::endExternalCommands() if (cb) cb->endExternal(); } -#endif } /*! @@ -5581,10 +5569,8 @@ void QQuickWindow::setSceneGraphBackend(QSGRendererInterface::GraphicsApi api) default: break; } -#if QT_CONFIG(opengl) /* || QT_CONFIG(vulkan) || defined(Q_OS_WIN) || defined(Q_OS_DARWIN) */ if (QSGRendererInterface::isApiRhiBased(api)) QSGRhiSupport::configure(api); -#endif } /*! diff --git a/src/quick/items/qquickwindow.h b/src/quick/items/qquickwindow.h index 972d44b1c3..dc9eeb4e70 100644 --- a/src/quick/items/qquickwindow.h +++ b/src/quick/items/qquickwindow.h @@ -44,7 +44,6 @@ #include <QtQuick/qsgrendererinterface.h> #include <QtCore/qmetatype.h> -#include <QtGui/qopengl.h> #include <QtGui/qwindow.h> #include <QtGui/qevent.h> #include <QtQml/qqml.h> diff --git a/src/quick/items/shaders/shadereffect.frag b/src/quick/items/shaders/shadereffect.frag deleted file mode 100644 index c1c15ecb0c..0000000000 --- a/src/quick/items/shaders/shadereffect.frag +++ /dev/null @@ -1,9 +0,0 @@ -varying highp vec2 qt_TexCoord0; - -uniform sampler2D source; -uniform lowp float qt_Opacity; - -void main() -{ - gl_FragColor = texture2D(source, qt_TexCoord0) * qt_Opacity; -}
\ No newline at end of file diff --git a/src/quick/items/shaders/shadereffect.vert b/src/quick/items/shaders/shadereffect.vert deleted file mode 100644 index ae1e84a50c..0000000000 --- a/src/quick/items/shaders/shadereffect.vert +++ /dev/null @@ -1,12 +0,0 @@ -uniform highp mat4 qt_Matrix; - -attribute highp vec4 qt_Vertex; -attribute highp vec2 qt_MultiTexCoord0; - -varying highp vec2 qt_TexCoord0; - -void main() -{ - qt_TexCoord0 = qt_MultiTexCoord0; - gl_Position = qt_Matrix * qt_Vertex; -}
\ No newline at end of file diff --git a/src/quick/items/shaders/shadereffect_core.frag b/src/quick/items/shaders/shadereffect_core.frag deleted file mode 100644 index 2163753edc..0000000000 --- a/src/quick/items/shaders/shadereffect_core.frag +++ /dev/null @@ -1,13 +0,0 @@ -#version 150 core - -in vec2 qt_TexCoord0; - -out vec4 fragColor; - -uniform sampler2D source; -uniform float qt_Opacity; - -void main() -{ - fragColor = texture(source, qt_TexCoord0) * qt_Opacity; -}
\ No newline at end of file diff --git a/src/quick/items/shaders/shadereffect_core.vert b/src/quick/items/shaders/shadereffect_core.vert deleted file mode 100644 index 2ed2d47b5f..0000000000 --- a/src/quick/items/shaders/shadereffect_core.vert +++ /dev/null @@ -1,14 +0,0 @@ -#version 150 core - -in vec4 qt_Vertex; -in vec2 qt_MultiTexCoord0; - -out vec2 qt_TexCoord0; - -uniform mat4 qt_Matrix; - -void main() -{ - qt_TexCoord0 = qt_MultiTexCoord0; - gl_Position = qt_Matrix * qt_Vertex; -}
\ No newline at end of file diff --git a/src/quick/items/shaders/shadereffectfallback.frag b/src/quick/items/shaders/shadereffectfallback.frag deleted file mode 100644 index d279e54083..0000000000 --- a/src/quick/items/shaders/shadereffectfallback.frag +++ /dev/null @@ -1,4 +0,0 @@ -void main() -{ - gl_FragColor = vec4(1., 0., 1., 1.); -}
\ No newline at end of file diff --git a/src/quick/items/shaders/shadereffectfallback.vert b/src/quick/items/shaders/shadereffectfallback.vert deleted file mode 100644 index 0a11a1d340..0000000000 --- a/src/quick/items/shaders/shadereffectfallback.vert +++ /dev/null @@ -1,8 +0,0 @@ -uniform highp mat4 qt_Matrix; - -attribute highp vec4 v; - -void main() -{ - gl_Position = qt_Matrix * v; -}
\ No newline at end of file diff --git a/src/quick/items/shaders/shadereffectfallback_core.frag b/src/quick/items/shaders/shadereffectfallback_core.frag deleted file mode 100644 index 4abf124737..0000000000 --- a/src/quick/items/shaders/shadereffectfallback_core.frag +++ /dev/null @@ -1,8 +0,0 @@ -#version 150 core - -out vec4 fragColor; - -void main() -{ - fragColor = vec4(1., 0., 1., 1.); -}
\ No newline at end of file diff --git a/src/quick/items/shaders/shadereffectfallback_core.vert b/src/quick/items/shaders/shadereffectfallback_core.vert deleted file mode 100644 index b1ca84cc6d..0000000000 --- a/src/quick/items/shaders/shadereffectfallback_core.vert +++ /dev/null @@ -1,10 +0,0 @@ -#version 150 core - -in vec4 v; - -uniform mat4 qt_Matrix; - -void main() -{ - gl_Position = qt_Matrix * v; -}
\ No newline at end of file |