diff options
author | Laszlo Agocs <laszlo.agocs@qt.io> | 2016-09-20 13:15:25 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@qt.io> | 2016-09-22 10:30:18 +0000 |
commit | 2586a62264610a55ae8d2894a6f9bee891a541f5 (patch) | |
tree | ce6acfd0b41b028b26718920aad0a778644ca7f4 /src/plugins/platforms/eglfs/qeglfscontext.cpp | |
parent | b638a7da38eba2e520a0636b9b08602a556b4849 (diff) |
eglfs: Move remaining sources to under api
Move platform integration, context and offscreensurface to under 'api'.
This allows accessing these from out-of-tree eglfs backends as well.
For instance, the upcoming eglfs_emu backend for the Qt Simulator may need
access to QEglFSIntegration.
Clean up the project files and remove out-of-date comments (the private
module QtEglFSDeviceIntegration is not really header-less since 5.7).
Change-Id: If96dd5780a6bd33a1cf29164364df9bf921c4d01
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'src/plugins/platforms/eglfs/qeglfscontext.cpp')
-rw-r--r-- | src/plugins/platforms/eglfs/qeglfscontext.cpp | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/src/plugins/platforms/eglfs/qeglfscontext.cpp b/src/plugins/platforms/eglfs/qeglfscontext.cpp deleted file mode 100644 index 8d479873cf..0000000000 --- a/src/plugins/platforms/eglfs/qeglfscontext.cpp +++ /dev/null @@ -1,119 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/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 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qeglfsglobal.h" -#include <QtGui/QSurface> -#include <QtPlatformSupport/private/qeglconvenience_p.h> -#include <QtPlatformSupport/private/qeglpbuffer_p.h> - -#include "qeglfscontext.h" -#include "qeglfswindow_p.h" -#include "qeglfshooks_p.h" -#include "qeglfscursor_p.h" - -QT_BEGIN_NAMESPACE - -QEglFSContext::QEglFSContext(const QSurfaceFormat &format, QPlatformOpenGLContext *share, EGLDisplay display, - EGLConfig *config, const QVariant &nativeHandle) - : QEGLPlatformContext(format, share, display, config, nativeHandle, - qt_egl_device_integration()->supportsSurfacelessContexts() ? Flags(0) : QEGLPlatformContext::NoSurfaceless), - m_tempWindow(0) -{ -} - -EGLSurface QEglFSContext::eglSurfaceForPlatformSurface(QPlatformSurface *surface) -{ - if (surface->surface()->surfaceClass() == QSurface::Window) - return static_cast<QEglFSWindow *>(surface)->surface(); - else - return static_cast<QEGLPbuffer *>(surface)->pbuffer(); -} - -EGLSurface QEglFSContext::createTemporaryOffscreenSurface() -{ - if (qt_egl_device_integration()->supportsPBuffers()) - return QEGLPlatformContext::createTemporaryOffscreenSurface(); - - if (!m_tempWindow) { - m_tempWindow = qt_egl_device_integration()->createNativeOffscreenWindow(format()); - if (!m_tempWindow) { - qWarning("QEglFSContext: Failed to create temporary native window"); - return EGL_NO_SURFACE; - } - } - EGLConfig config = q_configFromGLFormat(eglDisplay(), format()); - return eglCreateWindowSurface(eglDisplay(), config, m_tempWindow, 0); -} - -void QEglFSContext::destroyTemporaryOffscreenSurface(EGLSurface surface) -{ - if (qt_egl_device_integration()->supportsPBuffers()) { - QEGLPlatformContext::destroyTemporaryOffscreenSurface(surface); - } else { - eglDestroySurface(eglDisplay(), surface); - qt_egl_device_integration()->destroyNativeWindow(m_tempWindow); - m_tempWindow = 0; - } -} - -void QEglFSContext::runGLChecks() -{ - // Note that even though there is an EGL context current here, - // QOpenGLContext and QOpenGLFunctions are not yet usable at this stage. - const char *renderer = reinterpret_cast<const char *>(glGetString(GL_RENDERER)); - // Be nice and warn about a common source of confusion. - if (renderer && strstr(renderer, "llvmpipe")) - qWarning("Running on a software rasterizer (LLVMpipe), expect limited performance."); -} - -void QEglFSContext::swapBuffers(QPlatformSurface *surface) -{ - // draw the cursor - if (surface->surface()->surfaceClass() == QSurface::Window) { - QPlatformWindow *window = static_cast<QPlatformWindow *>(surface); - if (QEglFSCursor *cursor = qobject_cast<QEglFSCursor *>(window->screen()->cursor())) - cursor->paintOnScreen(); - } - - qt_egl_device_integration()->waitForVSync(surface); - QEGLPlatformContext::swapBuffers(surface); - qt_egl_device_integration()->presentBuffer(surface); -} - -QT_END_NAMESPACE |