summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb/qglxintegration.h
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@digia.com>2014-09-10 16:31:32 +0200
committerJørgen Lind <jorgen.lind@theqtcompany.com>2014-12-20 06:09:01 +0100
commit8758f532ae6209bcf9447e27edc4fd412c0f173d (patch)
tree082d8e259d6de5a783ad0b2ddcf7d405ad550ba8 /src/plugins/platforms/xcb/qglxintegration.h
parenteb2014382be588ea92e172d8b36385b8b86b64de (diff)
Make GLX and EGL dynamic dependencies for xcb
[ChangeLog][QPA][Xcb] GLX and EGL code paths are now dynamically resolved, making it possible for one build of a plugin to use both code paths. Default is to use the GLX code path if available. This can be overwritten by specifying QT_XCB_GL_INTEGRATION=xcb_egl as an evnironment variable. Enable qt.xcb.glintegration.debug to get debug log output of what integration is used Change-Id: Ia9fa95fcca3d901b91dadb8c98a695fea0ae3b1e Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Diffstat (limited to 'src/plugins/platforms/xcb/qglxintegration.h')
-rw-r--r--src/plugins/platforms/xcb/qglxintegration.h110
1 files changed, 0 insertions, 110 deletions
diff --git a/src/plugins/platforms/xcb/qglxintegration.h b/src/plugins/platforms/xcb/qglxintegration.h
deleted file mode 100644
index 73a17d69b4..0000000000
--- a/src/plugins/platforms/xcb/qglxintegration.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL21$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGLXINTEGRATION_H
-#define QGLXINTEGRATION_H
-
-#include "qxcbwindow.h"
-#include "qxcbscreen.h"
-
-#include <qpa/qplatformopenglcontext.h>
-#include <qpa/qplatformoffscreensurface.h>
-#include <QtGui/QSurfaceFormat>
-
-#include <QtCore/QMutex>
-
-#include <GL/glx.h>
-
-QT_BEGIN_NAMESPACE
-
-class QGLXContext : public QPlatformOpenGLContext
-{
-public:
- QGLXContext(QXcbScreen *screen, const QSurfaceFormat &format, QPlatformOpenGLContext *share,
- const QVariant &nativeHandle);
- ~QGLXContext();
-
- bool makeCurrent(QPlatformSurface *surface) Q_DECL_OVERRIDE;
- void doneCurrent() Q_DECL_OVERRIDE;
- void swapBuffers(QPlatformSurface *surface) Q_DECL_OVERRIDE;
- void (*getProcAddress(const QByteArray &procName)) () Q_DECL_OVERRIDE;
-
- QSurfaceFormat format() const Q_DECL_OVERRIDE;
- bool isSharing() const Q_DECL_OVERRIDE;
- bool isValid() const Q_DECL_OVERRIDE;
-
- GLXContext glxContext() const { return m_context; }
- GLXFBConfig glxConfig() const { return m_config; }
-
- QVariant nativeHandle() const;
-
- static bool supportsThreading();
- static void queryDummyContext();
-
-private:
- void init(QXcbScreen *screen, QPlatformOpenGLContext *share);
- void init(QXcbScreen *screen, QPlatformOpenGLContext *share, const QVariant &nativeHandle);
-
- Display *m_display;
- GLXFBConfig m_config;
- GLXContext m_context;
- GLXContext m_shareContext;
- QSurfaceFormat m_format;
- bool m_isPBufferCurrent;
- int m_swapInterval;
- bool m_ownsContext;
- static bool m_queriedDummyContext;
- static bool m_supportsThreading;
-};
-
-
-class QGLXPbuffer : public QPlatformOffscreenSurface
-{
-public:
- explicit QGLXPbuffer(QOffscreenSurface *offscreenSurface);
- ~QGLXPbuffer();
-
- QSurfaceFormat format() const Q_DECL_OVERRIDE { return m_format; }
- bool isValid() const Q_DECL_OVERRIDE { return m_pbuffer != 0; }
-
- GLXPbuffer pbuffer() const { return m_pbuffer; }
-
-private:
- QSurfaceFormat m_format;
- QXcbScreen *m_screen;
- GLXPbuffer m_pbuffer;
-};
-
-QT_END_NAMESPACE
-
-#endif