mirror of
https://github.com/thead-yocto-mirror/meta-qt5
synced 2026-09-09 23:54:36 +02:00
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>
This commit is contained in:
committed by
Martin Jansa
parent
a05a041900
commit
1b2862e896
@@ -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
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
26
recipes-qt/qt5/ogl-runtime/0003-Fix-build-on-musl-libc.patch
Normal file
26
recipes-qt/qt5/ogl-runtime/0003-Fix-build-on-musl-libc.patch
Normal file
@@ -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>
|
||||
28
recipes-qt/qt5/ogl-runtime_git.bb
Normal file
28
recipes-qt/qt5/ogl-runtime_git.bb
Normal file
@@ -0,0 +1,28 @@
|
||||
require qt5.inc
|
||||
require qt5-git.inc
|
||||
|
||||
LICENSE = "GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial"
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
|
||||
file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
|
||||
"
|
||||
|
||||
DEPENDS += "qtbase qtdeclarative qtquickcontrols2"
|
||||
|
||||
QT_MODULE_BRANCH = "2.4"
|
||||
QT_MODULE_BRANCH_EASTL = "master"
|
||||
QT_GIT_PROJECT = "qt3dstudio"
|
||||
PV = "2.4+git${SRCPV}"
|
||||
|
||||
SRC_URI += " \
|
||||
${QT_GIT}/qt3dstudio-eastl.git;name=EASTL;branch=${QT_MODULE_BRANCH_EASTL};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty/EASTL \
|
||||
file://0001-Fix-examples-build-error.patch \
|
||||
file://0002-Fix-format-security-issues.patch \
|
||||
file://0003-Fix-build-on-musl-libc.patch \
|
||||
"
|
||||
|
||||
SRCREV_ogl-runtime = "a41270dced230d90e0e07f2ebb880e4f97317a7f"
|
||||
SRCREV_EASTL = "31697c758f2ed19bd7c6bbe61f1b91f9e12035b5"
|
||||
SRCREV = "${SRCREV_ogl-runtime}"
|
||||
|
||||
SRCREV_FORMAT = "ogl-runtime_EASTL"
|
||||
@@ -1,16 +0,0 @@
|
||||
require qt5.inc
|
||||
require qt5-git.inc
|
||||
|
||||
LICENSE = "GPL-3.0 & The-Qt-Company-GPL-Exception-1.0 | The-Qt-Company-Commercial"
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
|
||||
file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
|
||||
"
|
||||
|
||||
DEPENDS += "qtbase qtdeclarative qt3d"
|
||||
|
||||
QT_MODULE_BRANCH = "2.3"
|
||||
QT_GIT_PROJECT = "qt3dstudio"
|
||||
PV = "2.3+git${SRCPV}"
|
||||
|
||||
SRCREV = "5e0bfe934b9930b7e41d457b4f88fce91342a0ea"
|
||||
Reference in New Issue
Block a user