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 /recipes-qt/qt5/ogl-runtime | |
parent | a05a041900d20a730295ad02906f1a0c31b48a86 (diff) |
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>
Diffstat (limited to 'recipes-qt/qt5/ogl-runtime')
3 files changed, 163 insertions, 0 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 @@ +From 4fa69c1c5396bded20edccb2a1dd9b61f0b1140d Mon Sep 17 00:00:00 2001 +From: Samuli Piippo <samuli.piippo@qt.io> +Date: Fri, 2 Aug 2019 12:39:50 +0300 +Subject: [PATCH] Fix examples build error + +Add workaround for QTBUG-77288 which causes examples to fail to build + +Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> +--- + examples/studio3d/cppdatainput/cppdatainput.pro | 1 + + examples/studio3d/dynamicelement/dynamicelement.pro | 1 + + examples/studio3d/qmldatainput/qmldatainput.pro | 1 + + examples/studio3d/simpleqml/simpleqml.pro | 1 + + 4 files changed, 4 insertions(+) + +diff --git a/examples/studio3d/cppdatainput/cppdatainput.pro b/examples/studio3d/cppdatainput/cppdatainput.pro +index 20b5c68..bbb403a 100644 +--- a/examples/studio3d/cppdatainput/cppdatainput.pro ++++ b/examples/studio3d/cppdatainput/cppdatainput.pro +@@ -1,5 +1,6 @@ + CONFIG += c++11 + QT += widgets qml quick studio3d ++QMAKE_LIBS += $$QMAKE_LIBS_3DSQMLSTREAMER $$QMAKE_LIBS_3DSOPENGL + + target.path = $$[QT_INSTALL_EXAMPLES]/studio3d/$$TARGET + INSTALLS += target +diff --git a/examples/studio3d/dynamicelement/dynamicelement.pro b/examples/studio3d/dynamicelement/dynamicelement.pro +index 1b804fd..ae3c005 100644 +--- a/examples/studio3d/dynamicelement/dynamicelement.pro ++++ b/examples/studio3d/dynamicelement/dynamicelement.pro +@@ -1,6 +1,7 @@ + TEMPLATE = app + + QT += qml quick studio3d ++QMAKE_LIBS += $$QMAKE_LIBS_3DSQMLSTREAMER $$QMAKE_LIBS_3DSOPENGL + + SOURCES += \ + demo.cpp \ +diff --git a/examples/studio3d/qmldatainput/qmldatainput.pro b/examples/studio3d/qmldatainput/qmldatainput.pro +index 9bafed5..496c2c1 100644 +--- a/examples/studio3d/qmldatainput/qmldatainput.pro ++++ b/examples/studio3d/qmldatainput/qmldatainput.pro +@@ -1,6 +1,7 @@ + TEMPLATE = app + + QT += widgets qml quick studio3d ++QMAKE_LIBS += $$QMAKE_LIBS_3DSQMLSTREAMER $$QMAKE_LIBS_3DSOPENGL + + integrity: DEFINES += USE_EMBEDDED_FONTS + +diff --git a/examples/studio3d/simpleqml/simpleqml.pro b/examples/studio3d/simpleqml/simpleqml.pro +index 62afa78..1a0784b 100644 +--- a/examples/studio3d/simpleqml/simpleqml.pro ++++ b/examples/studio3d/simpleqml/simpleqml.pro +@@ -1,6 +1,7 @@ + TEMPLATE = app + + QT += widgets qml quick studio3d ++QMAKE_LIBS += $$QMAKE_LIBS_3DSQMLSTREAMER $$QMAKE_LIBS_3DSOPENGL + + SOURCES += \ + 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 @@ +From c80b588cc3e11a80ffedd778fab3f19c686552f7 Mon Sep 17 00:00:00 2001 +From: Samuli Piippo <samuli.piippo@qt.io> +Date: Mon, 5 Aug 2019 14:24:44 +0300 +Subject: [PATCH] Fix format-security issues + +format not a string literal and no format arguments [-Wformat-security] + +Change-Id: I04c1d1598948b664b9d85036030c6f89fcf3c8b7 +--- + src/render/backends/gl/Q3DSRenderBackendGLES2.cpp | 4 ++-- + src/render/backends/gl/Qt3DSRenderBackendGLBase.cpp | 8 ++++---- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/render/backends/gl/Q3DSRenderBackendGLES2.cpp b/src/render/backends/gl/Q3DSRenderBackendGLES2.cpp +index ac5b992..02046ac 100644 +--- a/src/render/backends/gl/Q3DSRenderBackendGLES2.cpp ++++ b/src/render/backends/gl/Q3DSRenderBackendGLES2.cpp +@@ -663,7 +663,7 @@ NVRenderBackendGLES2Impl::CreateRenderbuffer(NVRenderRenderBufferFormats::Enum s + // check for error + GLenum error = m_glFunctions->glGetError(); + if (error != GL_NO_ERROR) { +- qCCritical(GL_ERROR, GLConversion::processGLError(error)); ++ qCCritical(GL_ERROR) << GLConversion::processGLError(error); + QT3DS_ASSERT(false); + GL_CALL_EXTRA_FUNCTION(glDeleteRenderbuffers(1, &bufID)); + bufID = 0; +@@ -699,7 +699,7 @@ bool NVRenderBackendGLES2Impl::ResizeRenderbuffer(NVRenderBackendRenderbufferObj + // check for error + GLenum error = m_glFunctions->glGetError(); + if (error != GL_NO_ERROR) { +- qCCritical(GL_ERROR, GLConversion::processGLError(error)); ++ qCCritical(GL_ERROR) << GLConversion::processGLError(error); + QT3DS_ASSERT(false); + success = false; + } +diff --git a/src/render/backends/gl/Qt3DSRenderBackendGLBase.cpp b/src/render/backends/gl/Qt3DSRenderBackendGLBase.cpp +index 0fe6e0f..5dfe9d1 100644 +--- a/src/render/backends/gl/Qt3DSRenderBackendGLBase.cpp ++++ b/src/render/backends/gl/Qt3DSRenderBackendGLBase.cpp +@@ -604,7 +604,7 @@ NVRenderBackendGLBase::CreateBuffer(size_t size, NVRenderBufferBindFlags bindFla + } else { + GL_CALL_FUNCTION(glDeleteBuffers(1, &bufID)); + bufID = 0; +- qCCritical(GL_ERROR, GLConversion::processGLError(target)); ++ qCCritical(GL_ERROR) << GLConversion::processGLError(target); + } + } + +@@ -832,7 +832,7 @@ NVRenderBackendGLBase::CreateRenderbuffer(NVRenderRenderBufferFormats::Enum stor + // check for error + GLenum error = m_glFunctions->glGetError(); + if (error != GL_NO_ERROR) { +- qCCritical(GL_ERROR, GLConversion::processGLError(error)); ++ qCCritical(GL_ERROR) << GLConversion::processGLError(error); + QT3DS_ASSERT(false); + GL_CALL_FUNCTION(glDeleteRenderbuffers(1, &bufID)); + bufID = 0; +@@ -869,7 +869,7 @@ bool NVRenderBackendGLBase::ResizeRenderbuffer(NVRenderBackendRenderbufferObject + // check for error + GLenum error = m_glFunctions->glGetError(); + if (error != GL_NO_ERROR) { +- qCCritical(GL_ERROR, GLConversion::processGLError(error)); ++ qCCritical(GL_ERROR) << GLConversion::processGLError(error); + QT3DS_ASSERT(false); + success = false; + } +@@ -1306,7 +1306,7 @@ bool NVRenderBackendGLBase::compileSource(GLuint shaderID, NVConstDataRef<QT3DSI + GLenum binaryError = m_glFunctions->glGetError(); + if (binaryError != GL_NO_ERROR) { + shaderStatus = GL_FALSE; +- qCCritical(GL_ERROR, GLConversion::processGLError(binaryError)); ++ qCCritical(GL_ERROR) << GLConversion::processGLError(binaryError); + } + } + 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 @@ +From f654a25f9df6583532798f30181d149d51b23808 Mon Sep 17 00:00:00 2001 +From: Samuli Piippo <samuli.piippo@qt.io> +Date: Thu, 8 Aug 2019 08:34:47 +0300 +Subject: [PATCH] Fix build on musl libc + +Use bits/local_lim.h only with glibc as it's not available +on musl libc. + +Change-Id: Ibffa4ab5649b544664f99b16e94d6865148eeeb5 +--- + src/foundation/linux/Qt3DSLinuxThread.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/foundation/linux/Qt3DSLinuxThread.cpp b/src/foundation/linux/Qt3DSLinuxThread.cpp +index fa6e069..99c4c3a 100644 +--- a/src/foundation/linux/Qt3DSLinuxThread.cpp ++++ b/src/foundation/linux/Qt3DSLinuxThread.cpp +@@ -35,7 +35,7 @@ + #include "foundation/Qt3DSAssert.h" + #include "foundation/Qt3DSIntrinsics.h" + #include "foundation/Qt3DSBroadcastingAllocator.h" +-#if !defined(QT3DS_APPLE) && !defined(ANDROID) && !defined(__CYGWIN__) && !defined(__QNX__) && !defined(__INTEGRITY) ++#if !defined(QT3DS_APPLE) && !defined(ANDROID) && !defined(__CYGWIN__) && !defined(__QNX__) && !defined(__INTEGRITY) && defined(__GLIBC__) + #include <bits/local_lim.h> // PTHREAD_STACK_MIN + #endif + #include <stdio.h> |