forked from pool/libqt5-qtbase
Accepting request 210884 from KDE:Qt5
Update to 5.2.0 final OBS-URL: https://build.opensuse.org/request/show/210884 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libqt5-qtbase?expand=0&rev=10
This commit is contained in:
parent
28a7fd3fbc
commit
e6109b8597
240
0001-Remove-the-GLES-2-dependency-for-eglfs-and-kms.patch
Normal file
240
0001-Remove-the-GLES-2-dependency-for-eglfs-and-kms.patch
Normal file
@ -0,0 +1,240 @@
|
|||||||
|
From f087ffdc53254fbab438180cd2da750d54c2be76 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jorgen Lind <jorgen.lind@digia.com>
|
||||||
|
Date: Tue, 12 Nov 2013 10:50:42 +0100
|
||||||
|
Subject: [PATCH 1/1] Remove the GLES 2 dependency for eglfs and kms
|
||||||
|
|
||||||
|
Change-Id: If7b80487e01db726367f5a67d2860073f60a0844
|
||||||
|
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
|
||||||
|
---
|
||||||
|
src/plugins/platforms/eglfs/qeglfsbackingstore.cpp | 1 +
|
||||||
|
src/plugins/platforms/eglfs/qeglfsbackingstore.h | 3 ++-
|
||||||
|
src/plugins/platforms/eglfs/qeglfscompositor.cpp | 7 ++++++-
|
||||||
|
src/plugins/platforms/eglfs/qeglfscompositor.h | 6 ++++--
|
||||||
|
src/plugins/platforms/eglfs/qeglfscursor.cpp | 5 +++--
|
||||||
|
src/plugins/platforms/eglfs/qeglfscursor.h | 7 +++++--
|
||||||
|
src/plugins/platforms/kms/qkmsbackingstore.cpp | 6 ++++++
|
||||||
|
src/plugins/platforms/kms/qkmsbackingstore.h | 4 +++-
|
||||||
|
src/plugins/platforms/kms/qkmsscreen.h | 3 +--
|
||||||
|
9 files changed, 31 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/plugins/platforms/eglfs/qeglfsbackingstore.cpp b/src/plugins/platforms/eglfs/qeglfsbackingstore.cpp
|
||||||
|
index 9de5960..0353191 100644
|
||||||
|
--- a/src/plugins/platforms/eglfs/qeglfsbackingstore.cpp
|
||||||
|
+++ b/src/plugins/platforms/eglfs/qeglfsbackingstore.cpp
|
||||||
|
@@ -139,6 +139,7 @@ void QEglFSBackingStore::resize(const QSize &size, const QRegion &staticContents
|
||||||
|
m_window->create();
|
||||||
|
|
||||||
|
rootWin->screen()->rootContext()->makeCurrent(rootWin->window());
|
||||||
|
+ initializeOpenGLFunctions();
|
||||||
|
|
||||||
|
if (m_texture)
|
||||||
|
glDeleteTextures(1, &m_texture);
|
||||||
|
diff --git a/src/plugins/platforms/eglfs/qeglfsbackingstore.h b/src/plugins/platforms/eglfs/qeglfsbackingstore.h
|
||||||
|
index 535428a..9af856e 100644
|
||||||
|
--- a/src/plugins/platforms/eglfs/qeglfsbackingstore.h
|
||||||
|
+++ b/src/plugins/platforms/eglfs/qeglfsbackingstore.h
|
||||||
|
@@ -43,6 +43,7 @@
|
||||||
|
#define QEGLFSBACKINGSTORE_H
|
||||||
|
|
||||||
|
#include <qpa/qplatformbackingstore.h>
|
||||||
|
+#include <QtGui/QOpenGLFunctions>
|
||||||
|
|
||||||
|
#include <QImage>
|
||||||
|
#include <QRegion>
|
||||||
|
@@ -52,7 +53,7 @@ QT_BEGIN_NAMESPACE
|
||||||
|
class QOpenGLPaintDevice;
|
||||||
|
class QEglFSWindow;
|
||||||
|
|
||||||
|
-class QEglFSBackingStore : public QPlatformBackingStore
|
||||||
|
+class QEglFSBackingStore : public QPlatformBackingStore, public QOpenGLFunctions
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
QEglFSBackingStore(QWindow *window);
|
||||||
|
diff --git a/src/plugins/platforms/eglfs/qeglfscompositor.cpp b/src/plugins/platforms/eglfs/qeglfscompositor.cpp
|
||||||
|
index 9db43a5..845bb5b 100644
|
||||||
|
--- a/src/plugins/platforms/eglfs/qeglfscompositor.cpp
|
||||||
|
+++ b/src/plugins/platforms/eglfs/qeglfscompositor.cpp
|
||||||
|
@@ -53,7 +53,8 @@ static QEglFSCompositor *compositor = 0;
|
||||||
|
|
||||||
|
QEglFSCompositor::QEglFSCompositor()
|
||||||
|
: m_screen(0),
|
||||||
|
- m_program(0)
|
||||||
|
+ m_program(0),
|
||||||
|
+ m_initialized(false)
|
||||||
|
{
|
||||||
|
Q_ASSERT(!compositor);
|
||||||
|
m_updateTimer.setSingleShot(true);
|
||||||
|
@@ -86,6 +87,10 @@ void QEglFSCompositor::renderAll()
|
||||||
|
Q_ASSERT(context);
|
||||||
|
|
||||||
|
context->makeCurrent(rootWin->window());
|
||||||
|
+ if (!m_initialized) {
|
||||||
|
+ initializeOpenGLFunctions();
|
||||||
|
+ m_initialized = true;
|
||||||
|
+ }
|
||||||
|
ensureProgram();
|
||||||
|
m_program->bind();
|
||||||
|
|
||||||
|
diff --git a/src/plugins/platforms/eglfs/qeglfscompositor.h b/src/plugins/platforms/eglfs/qeglfscompositor.h
|
||||||
|
index ade2e06..0d5daaf 100644
|
||||||
|
--- a/src/plugins/platforms/eglfs/qeglfscompositor.h
|
||||||
|
+++ b/src/plugins/platforms/eglfs/qeglfscompositor.h
|
||||||
|
@@ -42,7 +42,8 @@
|
||||||
|
#ifndef QEGLFSCOMPOSITOR_H
|
||||||
|
#define QEGLFSCOMPOSITOR_H
|
||||||
|
|
||||||
|
-#include <QTimer>
|
||||||
|
+#include <QtCore/QTimer>
|
||||||
|
+#include <QtGui/QOpenGLFunctions>
|
||||||
|
|
||||||
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
|
@@ -50,7 +51,7 @@ class QEglFSScreen;
|
||||||
|
class QEglFSWindow;
|
||||||
|
class QOpenGLShaderProgram;
|
||||||
|
|
||||||
|
-class QEglFSCompositor : public QObject
|
||||||
|
+class QEglFSCompositor : public QObject, public QOpenGLFunctions
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
@@ -76,6 +77,7 @@ private:
|
||||||
|
int m_vertexCoordEntry;
|
||||||
|
int m_textureCoordEntry;
|
||||||
|
int m_isRasterEntry;
|
||||||
|
+ bool m_initialized;
|
||||||
|
};
|
||||||
|
|
||||||
|
QT_END_NAMESPACE
|
||||||
|
diff --git a/src/plugins/platforms/eglfs/qeglfscursor.cpp b/src/plugins/platforms/eglfs/qeglfscursor.cpp
|
||||||
|
index c00e86d..0066426 100644
|
||||||
|
--- a/src/plugins/platforms/eglfs/qeglfscursor.cpp
|
||||||
|
+++ b/src/plugins/platforms/eglfs/qeglfscursor.cpp
|
||||||
|
@@ -79,7 +79,7 @@ void QEglFSCursor::resetResources()
|
||||||
|
m_cursorAtlas.texture = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static GLuint createShader(GLenum shaderType, const char *program)
|
||||||
|
+GLuint QEglFSCursor::createShader(GLenum shaderType, const char *program)
|
||||||
|
{
|
||||||
|
GLuint shader = glCreateShader(shaderType);
|
||||||
|
glShaderSource(shader, 1 /* count */, &program, NULL /* lengths */);
|
||||||
|
@@ -98,7 +98,7 @@ static GLuint createShader(GLenum shaderType, const char *program)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static GLuint createProgram(GLuint vshader, GLuint fshader)
|
||||||
|
+GLuint QEglFSCursor::createProgram(GLuint vshader, GLuint fshader)
|
||||||
|
{
|
||||||
|
GLuint program = glCreateProgram();
|
||||||
|
glAttachShader(program, vshader);
|
||||||
|
@@ -286,6 +286,7 @@ void QEglFSCursor::draw(const QRectF &r)
|
||||||
|
{
|
||||||
|
if (!m_program) {
|
||||||
|
// one time initialization
|
||||||
|
+ initializeOpenGLFunctions();
|
||||||
|
createShaderPrograms();
|
||||||
|
|
||||||
|
if (!m_cursorAtlas.texture) {
|
||||||
|
diff --git a/src/plugins/platforms/eglfs/qeglfscursor.h b/src/plugins/platforms/eglfs/qeglfscursor.h
|
||||||
|
index 51a34e0..71ff73b 100644
|
||||||
|
--- a/src/plugins/platforms/eglfs/qeglfscursor.h
|
||||||
|
+++ b/src/plugins/platforms/eglfs/qeglfscursor.h
|
||||||
|
@@ -43,15 +43,15 @@
|
||||||
|
#define QEGLFSCURSOR_H
|
||||||
|
|
||||||
|
#include <qpa/qplatformcursor.h>
|
||||||
|
+#include <QtGui/QOpenGLFunctions>
|
||||||
|
#include "qeglfsscreen.h"
|
||||||
|
-#include <GLES2/gl2.h>
|
||||||
|
|
||||||
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
|
class QOpenGLShaderProgram;
|
||||||
|
class QEglFSScreen;
|
||||||
|
|
||||||
|
-class QEglFSCursor : public QPlatformCursor
|
||||||
|
+class QEglFSCursor : public QPlatformCursor, public QOpenGLFunctions
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
QEglFSCursor(QEglFSScreen *screen);
|
||||||
|
@@ -78,6 +78,9 @@ protected:
|
||||||
|
void draw(const QRectF &rect);
|
||||||
|
void update(const QRegion ®ion);
|
||||||
|
|
||||||
|
+ GLuint createShader(GLenum shaderType, const char *program);
|
||||||
|
+ GLuint createProgram(GLuint vshader, GLuint fshader);
|
||||||
|
+
|
||||||
|
QEglFSScreen *m_screen;
|
||||||
|
|
||||||
|
// current cursor information
|
||||||
|
diff --git a/src/plugins/platforms/kms/qkmsbackingstore.cpp b/src/plugins/platforms/kms/qkmsbackingstore.cpp
|
||||||
|
index 29395f3..fa4ef84 100644
|
||||||
|
--- a/src/plugins/platforms/kms/qkmsbackingstore.cpp
|
||||||
|
+++ b/src/plugins/platforms/kms/qkmsbackingstore.cpp
|
||||||
|
@@ -52,6 +52,7 @@ QKmsBackingStore::QKmsBackingStore(QWindow *window)
|
||||||
|
, m_context(new QOpenGLContext)
|
||||||
|
, m_texture(0)
|
||||||
|
, m_program(0)
|
||||||
|
+ , m_initialized(false)
|
||||||
|
{
|
||||||
|
m_context->setFormat(window->requestedFormat());
|
||||||
|
m_context->setScreen(window->screen());
|
||||||
|
@@ -85,6 +86,11 @@ void QKmsBackingStore::flush(QWindow *window, const QRegion ®ion, const QPoin
|
||||||
|
|
||||||
|
m_context->makeCurrent(window);
|
||||||
|
|
||||||
|
+ if (!m_initialized) {
|
||||||
|
+ initializeOpenGLFunctions();
|
||||||
|
+ m_initialized = true;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (!m_program) {
|
||||||
|
static const char *textureVertexProgram =
|
||||||
|
"attribute highp vec2 vertexCoordEntry;\n"
|
||||||
|
diff --git a/src/plugins/platforms/kms/qkmsbackingstore.h b/src/plugins/platforms/kms/qkmsbackingstore.h
|
||||||
|
index 34ea49a..c5f6c81 100644
|
||||||
|
--- a/src/plugins/platforms/kms/qkmsbackingstore.h
|
||||||
|
+++ b/src/plugins/platforms/kms/qkmsbackingstore.h
|
||||||
|
@@ -43,6 +43,7 @@
|
||||||
|
#define QBACKINGSTORE_KMS_H
|
||||||
|
|
||||||
|
#include <qpa/qplatformbackingstore.h>
|
||||||
|
+#include <QtGui/QOpenGLFunctions>
|
||||||
|
#include <QImage>
|
||||||
|
|
||||||
|
QT_BEGIN_NAMESPACE
|
||||||
|
@@ -50,7 +51,7 @@ QT_BEGIN_NAMESPACE
|
||||||
|
class QOpenGLContext;
|
||||||
|
class QOpenGLShaderProgram;
|
||||||
|
|
||||||
|
-class QKmsBackingStore : public QPlatformBackingStore
|
||||||
|
+class QKmsBackingStore : public QPlatformBackingStore, public QOpenGLFunctions
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
QKmsBackingStore(QWindow *window);
|
||||||
|
@@ -69,6 +70,7 @@ private:
|
||||||
|
uint m_texture;
|
||||||
|
QOpenGLShaderProgram *m_program;
|
||||||
|
QRegion m_dirty;
|
||||||
|
+ bool m_initialized;
|
||||||
|
};
|
||||||
|
|
||||||
|
QT_END_NAMESPACE
|
||||||
|
diff --git a/src/plugins/platforms/kms/qkmsscreen.h b/src/plugins/platforms/kms/qkmsscreen.h
|
||||||
|
index a90d6fa..f0c49ad 100644
|
||||||
|
--- a/src/plugins/platforms/kms/qkmsscreen.h
|
||||||
|
+++ b/src/plugins/platforms/kms/qkmsscreen.h
|
||||||
|
@@ -55,8 +55,7 @@ extern "C" {
|
||||||
|
|
||||||
|
#include <EGL/egl.h>
|
||||||
|
#include <EGL/eglext.h>
|
||||||
|
-#include <GLES2/gl2.h>
|
||||||
|
-#include <GLES2/gl2ext.h>
|
||||||
|
+#include <QtGui/qopengl.h>
|
||||||
|
|
||||||
|
#include <qpa/qplatformscreen.h>
|
||||||
|
|
||||||
|
--
|
||||||
|
1.8.4.4
|
||||||
|
|
115
0002-Fix-configure-script-to-not-dictate-OpenGL-ES-2-when.patch
Normal file
115
0002-Fix-configure-script-to-not-dictate-OpenGL-ES-2-when.patch
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
From bad2e9fad4b9574528b02e8b60a03672f41ebe35 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jorgen Lind <jorgen.lind@digia.com>
|
||||||
|
Date: Tue, 12 Nov 2013 09:25:23 +0100
|
||||||
|
Subject: [PATCH 1/1] Fix configure script to not dictate OpenGL ES 2 when EGL
|
||||||
|
is enabled
|
||||||
|
|
||||||
|
Change-Id: I4d940ef436f21fd915f3d03558fd4fb4c7b3e5b7
|
||||||
|
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
|
||||||
|
(cherry picked from commit 20272ad6e5c56db87146f85f98c560099bfdbb75)
|
||||||
|
|
||||||
|
Conflicts:
|
||||||
|
configure
|
||||||
|
---
|
||||||
|
configure | 34 +++++++---------------------------
|
||||||
|
1 file changed, 7 insertions(+), 27 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure b/configure
|
||||||
|
index a330dd6..a83aeb7 100755
|
||||||
|
--- a/configure
|
||||||
|
+++ b/configure
|
||||||
|
@@ -2419,7 +2419,7 @@ Additional options:
|
||||||
|
* -xcb ............... Compile Xcb support.
|
||||||
|
|
||||||
|
-no-eglfs .......... Do not compile EGLFS (EGL Full Screen/Single Surface) support.
|
||||||
|
- * -eglfs ............. Compile EGLFS support (Requires OpenGL ES 2 support).
|
||||||
|
+ * -eglfs ............. Compile EGLFS support.
|
||||||
|
|
||||||
|
-no-directfb ....... Do not compile DirectFB support.
|
||||||
|
* -directfb .......... Compile DirectFB support.
|
||||||
|
@@ -2428,7 +2428,7 @@ Additional options:
|
||||||
|
* -linuxfb ........... Compile Linux Framebuffer support.
|
||||||
|
|
||||||
|
-no-kms ............ Do not compile KMS support.
|
||||||
|
- * -kms ............... Compile KMS support (Requires EGL and OpenGL ES 2 support).
|
||||||
|
+ * -kms ............... Compile KMS support (Requires EGL support).
|
||||||
|
|
||||||
|
-qpa <name> ......... Sets the default QPA platform (e.g xcb, cocoa, windows).
|
||||||
|
|
||||||
|
@@ -4423,11 +4423,6 @@ if [ "$CFG_EGLFS" = "yes" ]; then
|
||||||
|
echo "The EGLFS plugin requires EGL support and cannot be built"
|
||||||
|
exit 101
|
||||||
|
fi
|
||||||
|
- if [ "$CFG_OPENGL" != "es2" ]; then
|
||||||
|
- echo "The EGLFS plugin requires OpenGL ES 2 support and cannot be built"
|
||||||
|
- exit 101
|
||||||
|
- fi
|
||||||
|
- CFG_OPENGL="es2"
|
||||||
|
CFG_EGL=yes
|
||||||
|
fi
|
||||||
|
|
||||||
|
@@ -4436,10 +4431,6 @@ if [ "$CFG_KMS" = "yes" ]; then
|
||||||
|
echo "The KMS plugin requires EGL support and cannot be built"
|
||||||
|
exit 101
|
||||||
|
fi
|
||||||
|
- if [ "$CFG_OPENGL" != "es2" ]; then
|
||||||
|
- echo "The KMS plugin requires OpenGL ES 2 support and cannot be built"
|
||||||
|
- exit 101
|
||||||
|
- fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# auto-detect SQL-modules support
|
||||||
|
@@ -5269,17 +5260,10 @@ elif [ "$CFG_XKBCOMMON" = "no" ]; then
|
||||||
|
fi
|
||||||
|
|
||||||
|
# EGL Support
|
||||||
|
-if [ "$CFG_OPENGL" != "es2" ]; then
|
||||||
|
- if [ "$CFG_EGL" = "yes" ] && [ "$CFG_OPENGL" = "desktop" ]; then
|
||||||
|
- echo "EGL support was requested but Qt is being configured for desktop OpenGL."
|
||||||
|
- echo "Either disable EGL support or enable OpenGL ES support."
|
||||||
|
- exit 101
|
||||||
|
- elif [ "$CFG_EGL" = "yes" ] && [ "$CFG_OPENGL" = "no" ]; then
|
||||||
|
- echo "EGL support was requested but OpenGL ES support is disabled."
|
||||||
|
+if [ "$CFG_EGL" = "yes" ] && [ "$CFG_OPENGL" = "no" ]; then
|
||||||
|
+ echo "EGL support was requested but OpenGL support is disabled."
|
||||||
|
echo "Either disable EGL support or enable OpenGL ES support."
|
||||||
|
exit 101
|
||||||
|
- fi
|
||||||
|
- CFG_EGL=no
|
||||||
|
elif [ "$CFG_EGL" != "no" ]; then
|
||||||
|
if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then
|
||||||
|
QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
|
||||||
|
@@ -5302,7 +5286,7 @@ elif [ "$CFG_EGL" != "no" ]; then
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$CFG_EGLFS" != "no" ]; then
|
||||||
|
- if [ "$CFG_OPENGL" = "es2" ] && [ "$XPLATFORM_QNX" = "no" ]; then
|
||||||
|
+ if [ "$XPLATFORM_QNX" = "no" ]; then
|
||||||
|
CFG_EGLFS="$CFG_EGL"
|
||||||
|
else
|
||||||
|
CFG_EGLFS="no"
|
||||||
|
@@ -5310,7 +5294,7 @@ if [ "$CFG_EGLFS" != "no" ]; then
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$CFG_KMS" = "yes" ]; then
|
||||||
|
- if [ "$CFG_OPENGL" = "es2" ] && [ "$CFG_EGL" = "yes" ]; then
|
||||||
|
+ if [ "$CFG_EGL" = "yes" ]; then
|
||||||
|
CFG_KMS="yes"
|
||||||
|
else
|
||||||
|
CFG_KMS="no"
|
||||||
|
@@ -5694,11 +5678,7 @@ else
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$CFG_OPENGL" = "es2" ]; then
|
||||||
|
- QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
|
||||||
|
-fi
|
||||||
|
-
|
||||||
|
-if [ "$CFG_OPENGL" = "es2" ]; then
|
||||||
|
- QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES_2"
|
||||||
|
+ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES QT_OPENGL_ES_2"
|
||||||
|
QT_CONFIG="$QT_CONFIG opengles2"
|
||||||
|
fi
|
||||||
|
|
||||||
|
--
|
||||||
|
1.8.4.4
|
||||||
|
|
103
0003-EGL-convenience-deal-with-DefaultRenderableType-when.patch
Normal file
103
0003-EGL-convenience-deal-with-DefaultRenderableType-when.patch
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
From 7b6253efbf28b43c8b2a561c188670466ac3d916 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andrew Knight <andrew.knight@digia.com>
|
||||||
|
Date: Wed, 20 Nov 2013 16:56:07 +0200
|
||||||
|
Subject: [PATCH 1/1] EGL convenience: deal with DefaultRenderableType when
|
||||||
|
appropriate
|
||||||
|
|
||||||
|
When encountering QSurfaceFormat::DefaultRenderableType, the surface
|
||||||
|
format choosers should not default to OpenGL ES, but rather desktop
|
||||||
|
OpenGL when Qt has been configured without ES2 support.
|
||||||
|
|
||||||
|
Change-Id: I57aa7cfe63ebe0ffb32f4ba32808e62b0a4589f8
|
||||||
|
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
|
||||||
|
---
|
||||||
|
.../eglconvenience/qeglconvenience.cpp | 29 ++++++++++++++++------
|
||||||
|
.../eglconvenience/qeglplatformcontext.cpp | 15 ++++++++---
|
||||||
|
2 files changed, 34 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/platformsupport/eglconvenience/qeglconvenience.cpp b/src/platformsupport/eglconvenience/qeglconvenience.cpp
|
||||||
|
index b711a2a..32f553a 100644
|
||||||
|
--- a/src/platformsupport/eglconvenience/qeglconvenience.cpp
|
||||||
|
+++ b/src/platformsupport/eglconvenience/qeglconvenience.cpp
|
||||||
|
@@ -232,17 +232,28 @@ EGLConfig QEglConfigChooser::chooseConfig()
|
||||||
|
configureAttributes.append(surfaceType());
|
||||||
|
|
||||||
|
configureAttributes.append(EGL_RENDERABLE_TYPE);
|
||||||
|
- if (m_format.renderableType() == QSurfaceFormat::OpenVG)
|
||||||
|
+ switch (m_format.renderableType()) {
|
||||||
|
+ case QSurfaceFormat::OpenVG:
|
||||||
|
configureAttributes.append(EGL_OPENVG_BIT);
|
||||||
|
+ break;
|
||||||
|
#ifdef EGL_VERSION_1_4
|
||||||
|
- else if (m_format.renderableType() == QSurfaceFormat::OpenGL)
|
||||||
|
+# if !defined(QT_OPENGL_ES_2)
|
||||||
|
+ case QSurfaceFormat::DefaultRenderableType:
|
||||||
|
+# endif
|
||||||
|
+ case QSurfaceFormat::OpenGL:
|
||||||
|
configureAttributes.append(EGL_OPENGL_BIT);
|
||||||
|
+ break;
|
||||||
|
#endif
|
||||||
|
- else if (m_format.majorVersion() == 1)
|
||||||
|
- configureAttributes.append(EGL_OPENGL_ES_BIT);
|
||||||
|
- else
|
||||||
|
+ case QSurfaceFormat::OpenGLES:
|
||||||
|
+ if (m_format.majorVersion() == 1) {
|
||||||
|
+ configureAttributes.append(EGL_OPENGL_ES_BIT);
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ // fall through
|
||||||
|
+ default:
|
||||||
|
configureAttributes.append(EGL_OPENGL_ES2_BIT);
|
||||||
|
-
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
configureAttributes.append(EGL_NONE);
|
||||||
|
|
||||||
|
EGLConfig cfg = 0;
|
||||||
|
@@ -336,7 +347,11 @@ QSurfaceFormat q_glFormatFromConfig(EGLDisplay display, const EGLConfig config,
|
||||||
|
if (referenceFormat.renderableType() == QSurfaceFormat::OpenVG && (renderableType & EGL_OPENVG_BIT))
|
||||||
|
format.setRenderableType(QSurfaceFormat::OpenVG);
|
||||||
|
#ifdef EGL_VERSION_1_4
|
||||||
|
- else if (referenceFormat.renderableType() == QSurfaceFormat::OpenGL && (renderableType & EGL_OPENGL_BIT))
|
||||||
|
+ else if ((referenceFormat.renderableType() == QSurfaceFormat::OpenGL
|
||||||
|
+# if !defined(QT_OPENGL_ES_2)
|
||||||
|
+ || referenceFormat.renderableType() == QSurfaceFormat::DefaultRenderableType
|
||||||
|
+# endif
|
||||||
|
+ ) && (renderableType & EGL_OPENGL_BIT))
|
||||||
|
format.setRenderableType(QSurfaceFormat::OpenGL);
|
||||||
|
#endif
|
||||||
|
else
|
||||||
|
diff --git a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp
|
||||||
|
index 34ba21a..714ad8a 100644
|
||||||
|
--- a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp
|
||||||
|
+++ b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp
|
||||||
|
@@ -49,14 +49,23 @@
|
||||||
|
|
||||||
|
static inline void bindApi(const QSurfaceFormat &format)
|
||||||
|
{
|
||||||
|
- if (format.renderableType() == QSurfaceFormat::OpenVG)
|
||||||
|
+ switch (format.renderableType()) {
|
||||||
|
+ case QSurfaceFormat::OpenVG:
|
||||||
|
eglBindAPI(EGL_OPENVG_API);
|
||||||
|
+ break;
|
||||||
|
#ifdef EGL_VERSION_1_4
|
||||||
|
- else if (format.renderableType() == QSurfaceFormat::OpenGL)
|
||||||
|
+# if !defined(QT_OPENGL_ES_2)
|
||||||
|
+ case QSurfaceFormat::DefaultRenderableType:
|
||||||
|
+# endif
|
||||||
|
+ case QSurfaceFormat::OpenGL:
|
||||||
|
eglBindAPI(EGL_OPENGL_API);
|
||||||
|
+ break;
|
||||||
|
#endif
|
||||||
|
- else
|
||||||
|
+ case QSurfaceFormat::OpenGLES:
|
||||||
|
+ default:
|
||||||
|
eglBindAPI(EGL_OPENGL_ES_API);
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
QEGLPlatformContext::QEGLPlatformContext(const QSurfaceFormat &format, QPlatformOpenGLContext *share, EGLDisplay display,
|
||||||
|
--
|
||||||
|
1.8.4.4
|
||||||
|
|
45
0004-Do-not-disable-egl-on-desktop-gl-automatically.patch
Normal file
45
0004-Do-not-disable-egl-on-desktop-gl-automatically.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
From 95ffd606f8a632a8a963486ce340e7e1b707be0a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Albert Astals Cid <albert.astals@canonical.com>
|
||||||
|
Date: Tue, 19 Nov 2013 16:53:21 +0100
|
||||||
|
Subject: [PATCH 1/1] Do not disable egl on desktop gl automatically
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
desktop opengl and egl are not incompatible with eachother, so there
|
||||||
|
is no need to disable egl when on desktop opengl
|
||||||
|
|
||||||
|
Task-number: QTBUG-34949
|
||||||
|
|
||||||
|
Change-Id: I757c38674a480910d1cb23853c255eb993e107ff
|
||||||
|
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
|
||||||
|
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
|
||||||
|
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
|
||||||
|
---
|
||||||
|
configure | 8 +++++---
|
||||||
|
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure b/configure
|
||||||
|
index 120150c..72c13ab 100755
|
||||||
|
--- a/configure
|
||||||
|
+++ b/configure
|
||||||
|
@@ -5267,11 +5267,13 @@ elif [ "$CFG_XKBCOMMON" = "no" ]; then
|
||||||
|
fi
|
||||||
|
|
||||||
|
# EGL Support
|
||||||
|
-if [ "$CFG_EGL" = "yes" ] && [ "$CFG_OPENGL" = "no" ]; then
|
||||||
|
+if [ "$CFG_EGL" != "no" ]; then
|
||||||
|
+ if [ "$CFG_EGL" = "yes" ] && [ "$CFG_OPENGL" = "no" ]; then
|
||||||
|
echo "EGL support was requested but OpenGL support is disabled."
|
||||||
|
- echo "Either disable EGL support or enable OpenGL ES support."
|
||||||
|
+ echo "Either disable EGL support or enable OpenGL support."
|
||||||
|
exit 101
|
||||||
|
-elif [ "$CFG_EGL" != "no" ]; then
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then
|
||||||
|
QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
|
||||||
|
QMAKE_LIBS_EGL=`$PKG_CONFIG --libs egl 2>/dev/null`
|
||||||
|
--
|
||||||
|
1.8.4.4
|
||||||
|
|
@ -1,3 +1,23 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Dec 12 12:28:46 UTC 2013 - hrvoje.senjan@gmail.com
|
||||||
|
|
||||||
|
- Update to 5.2.0 final:
|
||||||
|
* For more details please see:
|
||||||
|
http://blog.qt.digia.com/blog/2013/12/12/qt-5-2-released-the-best-qt-yet/
|
||||||
|
http://qt-project.org/qt5/qt52
|
||||||
|
http://qt.digia.com/Product/Whats-New/Qt-52/
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Dec 4 01:17:30 UTC 2013 - hrvoje.senjan@gmail.com
|
||||||
|
|
||||||
|
- Import patches from upstream which make possible to build EGL
|
||||||
|
support without requiring GLES2:
|
||||||
|
0001-Remove-the-GLES-2-dependency-for-eglfs-and-kms.patch
|
||||||
|
0002-Fix-configure-script-to-not-dictate-OpenGL-ES-2-when.patch
|
||||||
|
0003-EGL-convenience-deal-with-DefaultRenderableType-when.patch
|
||||||
|
0004-Do-not-disable-egl-on-desktop-gl-automatically.patch
|
||||||
|
- Enable EGL support by adding (Build)Requiring pkgconfig(egl)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Nov 29 13:42:39 UTC 2013 - hrvoje.senjan@gmail.com
|
Fri Nov 29 13:42:39 UTC 2013 - hrvoje.senjan@gmail.com
|
||||||
|
|
||||||
|
@ -36,6 +36,7 @@ BuildRequires: postgresql-devel
|
|||||||
BuildRequires: sqlite3-devel
|
BuildRequires: sqlite3-devel
|
||||||
BuildRequires: unixODBC-devel
|
BuildRequires: unixODBC-devel
|
||||||
BuildRequires: pkgconfig(dbus-1)
|
BuildRequires: pkgconfig(dbus-1)
|
||||||
|
BuildRequires: pkgconfig(egl)
|
||||||
BuildRequires: pkgconfig(gl)
|
BuildRequires: pkgconfig(gl)
|
||||||
%ifarch %arm
|
%ifarch %arm
|
||||||
BuildRequires: pkgconfig(gbm)
|
BuildRequires: pkgconfig(gbm)
|
||||||
@ -50,14 +51,14 @@ BuildRequires: pkgconfig(gtk+-2.0)
|
|||||||
BuildRequires: pkgconfig(ice)
|
BuildRequires: pkgconfig(ice)
|
||||||
BuildRequires: pkgconfig(sm)
|
BuildRequires: pkgconfig(sm)
|
||||||
BuildRequires: pkgconfig(xkbcommon) >= 0.2.0
|
BuildRequires: pkgconfig(xkbcommon) >= 0.2.0
|
||||||
Version: 5.2.0~rc1
|
Version: 5.2.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: C++ Program Library, Core Components
|
Summary: C++ Program Library, Core Components
|
||||||
License: GPL-3.0 or SUSE-LGPL-2.1-with-digia-exception-1.1
|
License: GPL-3.0 or SUSE-LGPL-2.1-with-digia-exception-1.1
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
Url: http://qt.digia.com
|
Url: http://qt.digia.com
|
||||||
%define base_name libqt5
|
%define base_name libqt5
|
||||||
%define real_version 5.2.0-rc1
|
%define real_version 5.2.0
|
||||||
%define so_version 5.2.0
|
%define so_version 5.2.0
|
||||||
%define tar_version qtbase-opensource-src-%{real_version}
|
%define tar_version qtbase-opensource-src-%{real_version}
|
||||||
Source: %{tar_version}.tar.xz
|
Source: %{tar_version}.tar.xz
|
||||||
@ -75,6 +76,12 @@ Patch4: qtbase-opensource-src-5.1.1-bigendian.patch
|
|||||||
Patch109: libqt5-libtool-nodate.diff
|
Patch109: libqt5-libtool-nodate.diff
|
||||||
# PATCH-FIX-UPSTREAM qmake-add-usr-include.diff -- explicitly include /usr/include path
|
# PATCH-FIX-UPSTREAM qmake-add-usr-include.diff -- explicitly include /usr/include path
|
||||||
Patch131: qmake-add-usr-include.diff
|
Patch131: qmake-add-usr-include.diff
|
||||||
|
# PATCH-FIXES-UPSTREAM -- patches 1000 - 1003 are from upstream stable branch, they finally alow building egl support
|
||||||
|
# without requiring GLES
|
||||||
|
Patch1000: 0001-Remove-the-GLES-2-dependency-for-eglfs-and-kms.patch
|
||||||
|
Patch1001: 0002-Fix-configure-script-to-not-dictate-OpenGL-ES-2-when.patch
|
||||||
|
Patch1002: 0003-EGL-convenience-deal-with-DefaultRenderableType-when.patch
|
||||||
|
Patch1003: 0004-Do-not-disable-egl-on-desktop-gl-automatically.patch
|
||||||
BuildRequires: clucene-core-devel
|
BuildRequires: clucene-core-devel
|
||||||
BuildRequires: libicu-devel
|
BuildRequires: libicu-devel
|
||||||
BuildRequires: libpulse-devel
|
BuildRequires: libpulse-devel
|
||||||
@ -111,6 +118,10 @@ handling.
|
|||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
%patch109 -p1
|
%patch109 -p1
|
||||||
%patch131 -p1
|
%patch131 -p1
|
||||||
|
%patch1000 -p1
|
||||||
|
%patch1001 -p1
|
||||||
|
%patch1002 -p1
|
||||||
|
%patch1003 -p1
|
||||||
|
|
||||||
# be sure not to use them
|
# be sure not to use them
|
||||||
rm -r src/3rdparty/{libjpeg,freetype,libpng,zlib}
|
rm -r src/3rdparty/{libjpeg,freetype,libpng,zlib}
|
||||||
@ -149,6 +160,7 @@ Requires: pcre-devel
|
|||||||
Requires: pkgconfig
|
Requires: pkgconfig
|
||||||
Requires: sqlite3-devel
|
Requires: sqlite3-devel
|
||||||
Requires: pkgconfig(dbus-1)
|
Requires: pkgconfig(dbus-1)
|
||||||
|
Requires: pkgconfig(egl)
|
||||||
Requires: pkgconfig(gl)
|
Requires: pkgconfig(gl)
|
||||||
%ifarch %arm
|
%ifarch %arm
|
||||||
Requires: pkgconfig(gbm)
|
Requires: pkgconfig(gbm)
|
||||||
@ -380,13 +392,12 @@ echo yes | ./configure $platform \
|
|||||||
-gtkstyle \
|
-gtkstyle \
|
||||||
-javascript-jit \
|
-javascript-jit \
|
||||||
-xcb \
|
-xcb \
|
||||||
-no-eglfs \
|
-egl \
|
||||||
-opengl desktop \
|
-eglfs \
|
||||||
%ifarch %arm
|
%ifarch %arm
|
||||||
-eglfs -kms \
|
-eglfs -kms \
|
||||||
-opengl es2 \
|
-opengl es2 \
|
||||||
%else
|
%else
|
||||||
-no-eglfs \
|
|
||||||
-opengl desktop \
|
-opengl desktop \
|
||||||
%endif
|
%endif
|
||||||
-release \
|
-release \
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:183f2b115052129fa67c19ff25c4a706ba081958ae4623e94324694a009a2592
|
|
||||||
size 46343632
|
|
3
qtbase-opensource-src-5.2.0.tar.xz
Normal file
3
qtbase-opensource-src-5.2.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:51556cd2562a6d4bbb70ffcc93e8ef83ec79b170753aac6e4b195957c61cb628
|
||||||
|
size 46353264
|
Loading…
Reference in New Issue
Block a user