diff options
author | Mikko Gronoff <mikko.gronoff@qt.io> | 2019-06-24 10:49:59 +0300 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2019-09-23 13:30:07 +0000 |
commit | 1b2862e896e31c89459f3186b7e9fdbd64d72bdd (patch) | |
tree | 415d56e329dc4ec4c10d1782e1030800f4c48806 | |
parent | a05a041900d20a730295ad02906f1a0c31b48a86 (diff) | |
download | meta-qt5-1b2862e896e31c89459f3186b7e9fdbd64d72bdd.tar.gz |
qt3d-runtime: update to ogl-runtime v2.4
Qt 3D Studio Runtime 2.x switches/upgrades to OpenGL Runtime with
version update 2.3 -> 2.4.
* Contains new 3rdparty submodule EASTL (Electronic Arts Standard
Template Library), recipe adjusted accordingly.
* format-security, examples & musl libc build issues fixed
Signed-off-by: Mikko Gronoff <mikko.gronoff@qt.io>
-rw-r--r-- | recipes-qt/qt5/ogl-runtime/0001-Fix-examples-build-error.patch | 62 | ||||
-rw-r--r-- | recipes-qt/qt5/ogl-runtime/0002-Fix-format-security-issues.patch | 75 | ||||
-rw-r--r-- | recipes-qt/qt5/ogl-runtime/0003-Fix-build-on-musl-libc.patch | 26 | ||||
-rw-r--r-- | recipes-qt/qt5/ogl-runtime_git.bb | 28 | ||||
-rw-r--r-- | recipes-qt/qt5/qt3d-runtime_git.bb | 16 |
5 files changed, 191 insertions, 16 deletions
diff --git a/recipes-qt/qt5/ogl-runtime/0001-Fix-examples-build-error.patch b/recipes-qt/qt5/ogl-runtime/0001-Fix-examples-build-error.patch new file mode 100644 index 00000000..0d2f165f --- /dev/null +++ b/recipes-qt/qt5/ogl-runtime/0001-Fix-examples-build-error.patch | |||
@@ -0,0 +1,62 @@ | |||
1 | From 4fa69c1c5396bded20edccb2a1dd9b61f0b1140d Mon Sep 17 00:00:00 2001 | ||
2 | From: Samuli Piippo <samuli.piippo@qt.io> | ||
3 | Date: Fri, 2 Aug 2019 12:39:50 +0300 | ||
4 | Subject: [PATCH] Fix examples build error | ||
5 | |||
6 | Add workaround for QTBUG-77288 which causes examples to fail to build | ||
7 | |||
8 | Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> | ||
9 | --- | ||
10 | examples/studio3d/cppdatainput/cppdatainput.pro | 1 + | ||
11 | examples/studio3d/dynamicelement/dynamicelement.pro | 1 + | ||
12 | examples/studio3d/qmldatainput/qmldatainput.pro | 1 + | ||
13 | examples/studio3d/simpleqml/simpleqml.pro | 1 + | ||
14 | 4 files changed, 4 insertions(+) | ||
15 | |||
16 | diff --git a/examples/studio3d/cppdatainput/cppdatainput.pro b/examples/studio3d/cppdatainput/cppdatainput.pro | ||
17 | index 20b5c68..bbb403a 100644 | ||
18 | --- a/examples/studio3d/cppdatainput/cppdatainput.pro | ||
19 | +++ b/examples/studio3d/cppdatainput/cppdatainput.pro | ||
20 | @@ -1,5 +1,6 @@ | ||
21 | CONFIG += c++11 | ||
22 | QT += widgets qml quick studio3d | ||
23 | +QMAKE_LIBS += $$QMAKE_LIBS_3DSQMLSTREAMER $$QMAKE_LIBS_3DSOPENGL | ||
24 | |||
25 | target.path = $$[QT_INSTALL_EXAMPLES]/studio3d/$$TARGET | ||
26 | INSTALLS += target | ||
27 | diff --git a/examples/studio3d/dynamicelement/dynamicelement.pro b/examples/studio3d/dynamicelement/dynamicelement.pro | ||
28 | index 1b804fd..ae3c005 100644 | ||
29 | --- a/examples/studio3d/dynamicelement/dynamicelement.pro | ||
30 | +++ b/examples/studio3d/dynamicelement/dynamicelement.pro | ||
31 | @@ -1,6 +1,7 @@ | ||
32 | TEMPLATE = app | ||
33 | |||
34 | QT += qml quick studio3d | ||
35 | +QMAKE_LIBS += $$QMAKE_LIBS_3DSQMLSTREAMER $$QMAKE_LIBS_3DSOPENGL | ||
36 | |||
37 | SOURCES += \ | ||
38 | demo.cpp \ | ||
39 | diff --git a/examples/studio3d/qmldatainput/qmldatainput.pro b/examples/studio3d/qmldatainput/qmldatainput.pro | ||
40 | index 9bafed5..496c2c1 100644 | ||
41 | --- a/examples/studio3d/qmldatainput/qmldatainput.pro | ||
42 | +++ b/examples/studio3d/qmldatainput/qmldatainput.pro | ||
43 | @@ -1,6 +1,7 @@ | ||
44 | TEMPLATE = app | ||
45 | |||
46 | QT += widgets qml quick studio3d | ||
47 | +QMAKE_LIBS += $$QMAKE_LIBS_3DSQMLSTREAMER $$QMAKE_LIBS_3DSOPENGL | ||
48 | |||
49 | integrity: DEFINES += USE_EMBEDDED_FONTS | ||
50 | |||
51 | diff --git a/examples/studio3d/simpleqml/simpleqml.pro b/examples/studio3d/simpleqml/simpleqml.pro | ||
52 | index 62afa78..1a0784b 100644 | ||
53 | --- a/examples/studio3d/simpleqml/simpleqml.pro | ||
54 | +++ b/examples/studio3d/simpleqml/simpleqml.pro | ||
55 | @@ -1,6 +1,7 @@ | ||
56 | TEMPLATE = app | ||
57 | |||
58 | QT += widgets qml quick studio3d | ||
59 | +QMAKE_LIBS += $$QMAKE_LIBS_3DSQMLSTREAMER $$QMAKE_LIBS_3DSOPENGL | ||
60 | |||
61 | SOURCES += \ | ||
62 | main.cpp | ||
diff --git a/recipes-qt/qt5/ogl-runtime/0002-Fix-format-security-issues.patch b/recipes-qt/qt5/ogl-runtime/0002-Fix-format-security-issues.patch new file mode 100644 index 00000000..fcf6915d --- /dev/null +++ b/recipes-qt/qt5/ogl-runtime/0002-Fix-format-security-issues.patch | |||
@@ -0,0 +1,75 @@ | |||
1 | From c80b588cc3e11a80ffedd778fab3f19c686552f7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Samuli Piippo <samuli.piippo@qt.io> | ||
3 | Date: Mon, 5 Aug 2019 14:24:44 +0300 | ||
4 | Subject: [PATCH] Fix format-security issues | ||
5 | |||
6 | format not a string literal and no format arguments [-Wformat-security] | ||
7 | |||
8 | Change-Id: I04c1d1598948b664b9d85036030c6f89fcf3c8b7 | ||
9 | --- | ||
10 | src/render/backends/gl/Q3DSRenderBackendGLES2.cpp | 4 ++-- | ||
11 | src/render/backends/gl/Qt3DSRenderBackendGLBase.cpp | 8 ++++---- | ||
12 | 2 files changed, 6 insertions(+), 6 deletions(-) | ||
13 | |||
14 | diff --git a/src/render/backends/gl/Q3DSRenderBackendGLES2.cpp b/src/render/backends/gl/Q3DSRenderBackendGLES2.cpp | ||
15 | index ac5b992..02046ac 100644 | ||
16 | --- a/src/render/backends/gl/Q3DSRenderBackendGLES2.cpp | ||
17 | +++ b/src/render/backends/gl/Q3DSRenderBackendGLES2.cpp | ||
18 | @@ -663,7 +663,7 @@ NVRenderBackendGLES2Impl::CreateRenderbuffer(NVRenderRenderBufferFormats::Enum s | ||
19 | // check for error | ||
20 | GLenum error = m_glFunctions->glGetError(); | ||
21 | if (error != GL_NO_ERROR) { | ||
22 | - qCCritical(GL_ERROR, GLConversion::processGLError(error)); | ||
23 | + qCCritical(GL_ERROR) << GLConversion::processGLError(error); | ||
24 | QT3DS_ASSERT(false); | ||
25 | GL_CALL_EXTRA_FUNCTION(glDeleteRenderbuffers(1, &bufID)); | ||
26 | bufID = 0; | ||
27 | @@ -699,7 +699,7 @@ bool NVRenderBackendGLES2Impl::ResizeRenderbuffer(NVRenderBackendRenderbufferObj | ||
28 | // check for error | ||
29 | GLenum error = m_glFunctions->glGetError(); | ||
30 | if (error != GL_NO_ERROR) { | ||
31 | - qCCritical(GL_ERROR, GLConversion::processGLError(error)); | ||
32 | + qCCritical(GL_ERROR) << GLConversion::processGLError(error); | ||
33 | QT3DS_ASSERT(false); | ||
34 | success = false; | ||
35 | } | ||
36 | diff --git a/src/render/backends/gl/Qt3DSRenderBackendGLBase.cpp b/src/render/backends/gl/Qt3DSRenderBackendGLBase.cpp | ||
37 | index 0fe6e0f..5dfe9d1 100644 | ||
38 | --- a/src/render/backends/gl/Qt3DSRenderBackendGLBase.cpp | ||
39 | +++ b/src/render/backends/gl/Qt3DSRenderBackendGLBase.cpp | ||
40 | @@ -604,7 +604,7 @@ NVRenderBackendGLBase::CreateBuffer(size_t size, NVRenderBufferBindFlags bindFla | ||
41 | } else { | ||
42 | GL_CALL_FUNCTION(glDeleteBuffers(1, &bufID)); | ||
43 | bufID = 0; | ||
44 | - qCCritical(GL_ERROR, GLConversion::processGLError(target)); | ||
45 | + qCCritical(GL_ERROR) << GLConversion::processGLError(target); | ||
46 | } | ||
47 | } | ||
48 | |||
49 | @@ -832,7 +832,7 @@ NVRenderBackendGLBase::CreateRenderbuffer(NVRenderRenderBufferFormats::Enum stor | ||
50 | // check for error | ||
51 | GLenum error = m_glFunctions->glGetError(); | ||
52 | if (error != GL_NO_ERROR) { | ||
53 | - qCCritical(GL_ERROR, GLConversion::processGLError(error)); | ||
54 | + qCCritical(GL_ERROR) << GLConversion::processGLError(error); | ||
55 | QT3DS_ASSERT(false); | ||
56 | GL_CALL_FUNCTION(glDeleteRenderbuffers(1, &bufID)); | ||
57 | bufID = 0; | ||
58 | @@ -869,7 +869,7 @@ bool NVRenderBackendGLBase::ResizeRenderbuffer(NVRenderBackendRenderbufferObject | ||
59 | // check for error | ||
60 | GLenum error = m_glFunctions->glGetError(); | ||
61 | if (error != GL_NO_ERROR) { | ||
62 | - qCCritical(GL_ERROR, GLConversion::processGLError(error)); | ||
63 | + qCCritical(GL_ERROR) << GLConversion::processGLError(error); | ||
64 | QT3DS_ASSERT(false); | ||
65 | success = false; | ||
66 | } | ||
67 | @@ -1306,7 +1306,7 @@ bool NVRenderBackendGLBase::compileSource(GLuint shaderID, NVConstDataRef<QT3DSI | ||
68 | GLenum binaryError = m_glFunctions->glGetError(); | ||
69 | if (binaryError != GL_NO_ERROR) { | ||
70 | shaderStatus = GL_FALSE; | ||
71 | - qCCritical(GL_ERROR, GLConversion::processGLError(binaryError)); | ||
72 | + qCCritical(GL_ERROR) << GLConversion::processGLError(binaryError); | ||
73 | } | ||
74 | } | ||
75 | |||
diff --git a/recipes-qt/qt5/ogl-runtime/0003-Fix-build-on-musl-libc.patch b/recipes-qt/qt5/ogl-runtime/0003-Fix-build-on-musl-libc.patch new file mode 100644 index 00000000..5fe840a0 --- /dev/null +++ b/recipes-qt/qt5/ogl-runtime/0003-Fix-build-on-musl-libc.patch | |||
@@ -0,0 +1,26 @@ | |||
1 | From f654a25f9df6583532798f30181d149d51b23808 Mon Sep 17 00:00:00 2001 | ||
2 | From: Samuli Piippo <samuli.piippo@qt.io> | ||
3 | Date: Thu, 8 Aug 2019 08:34:47 +0300 | ||
4 | Subject: [PATCH] Fix build on musl libc | ||
5 | |||
6 | Use bits/local_lim.h only with glibc as it's not available | ||
7 | on musl libc. | ||
8 | |||
9 | Change-Id: Ibffa4ab5649b544664f99b16e94d6865148eeeb5 | ||
10 | --- | ||
11 | src/foundation/linux/Qt3DSLinuxThread.cpp | 2 +- | ||
12 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
13 | |||
14 | diff --git a/src/foundation/linux/Qt3DSLinuxThread.cpp b/src/foundation/linux/Qt3DSLinuxThread.cpp | ||
15 | index fa6e069..99c4c3a 100644 | ||
16 | --- a/src/foundation/linux/Qt3DSLinuxThread.cpp | ||
17 | +++ b/src/foundation/linux/Qt3DSLinuxThread.cpp | ||
18 | @@ -35,7 +35,7 @@ | ||
19 | #include "foundation/Qt3DSAssert.h" | ||
20 | #include "foundation/Qt3DSIntrinsics.h" | ||
21 | #include "foundation/Qt3DSBroadcastingAllocator.h" | ||
22 | -#if !defined(QT3DS_APPLE) && !defined(ANDROID) && !defined(__CYGWIN__) && !defined(__QNX__) && !defined(__INTEGRITY) | ||
23 | +#if !defined(QT3DS_APPLE) && !defined(ANDROID) && !defined(__CYGWIN__) && !defined(__QNX__) && !defined(__INTEGRITY) && defined(__GLIBC__) | ||
24 | #include <bits/local_lim.h> // PTHREAD_STACK_MIN | ||
25 | #endif | ||
26 | #include <stdio.h> | ||
diff --git a/recipes-qt/qt5/ogl-runtime_git.bb b/recipes-qt/qt5/ogl-runtime_git.bb new file mode 100644 index 00000000..049f885a --- /dev/null +++ b/recipes-qt/qt5/ogl-runtime_git.bb | |||
@@ -0,0 +1,28 @@ | |||
1 | require qt5.inc | ||
2 | require qt5-git.inc | ||
3 | |||
4 | LICENSE = "GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial" | ||
5 | LIC_FILES_CHKSUM = " \ | ||
6 | file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ | ||
7 | file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ | ||
8 | " | ||
9 | |||
10 | DEPENDS += "qtbase qtdeclarative qtquickcontrols2" | ||
11 | |||
12 | QT_MODULE_BRANCH = "2.4" | ||
13 | QT_MODULE_BRANCH_EASTL = "master" | ||
14 | QT_GIT_PROJECT = "qt3dstudio" | ||
15 | PV = "2.4+git${SRCPV}" | ||
16 | |||
17 | SRC_URI += " \ | ||
18 | ${QT_GIT}/qt3dstudio-eastl.git;name=EASTL;branch=${QT_MODULE_BRANCH_EASTL};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty/EASTL \ | ||
19 | file://0001-Fix-examples-build-error.patch \ | ||
20 | file://0002-Fix-format-security-issues.patch \ | ||
21 | file://0003-Fix-build-on-musl-libc.patch \ | ||
22 | " | ||
23 | |||
24 | SRCREV_ogl-runtime = "a41270dced230d90e0e07f2ebb880e4f97317a7f" | ||
25 | SRCREV_EASTL = "31697c758f2ed19bd7c6bbe61f1b91f9e12035b5" | ||
26 | SRCREV = "${SRCREV_ogl-runtime}" | ||
27 | |||
28 | SRCREV_FORMAT = "ogl-runtime_EASTL" | ||
diff --git a/recipes-qt/qt5/qt3d-runtime_git.bb b/recipes-qt/qt5/qt3d-runtime_git.bb deleted file mode 100644 index fb018e58..00000000 --- a/recipes-qt/qt5/qt3d-runtime_git.bb +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | require qt5.inc | ||
2 | require qt5-git.inc | ||
3 | |||
4 | LICENSE = "GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial" | ||
5 | LIC_FILES_CHKSUM = " \ | ||
6 | file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ | ||
7 | file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ | ||
8 | " | ||
9 | |||
10 | DEPENDS += "qtbase qtdeclarative qt3d" | ||
11 | |||
12 | QT_MODULE_BRANCH = "2.3" | ||
13 | QT_GIT_PROJECT = "qt3dstudio" | ||
14 | PV = "2.3+git${SRCPV}" | ||
15 | |||
16 | SRCREV = "5e0bfe934b9930b7e41d457b4f88fce91342a0ea" | ||