diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2019-03-29 10:54:43 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2019-04-10 09:52:50 +0000 |
commit | 60181f13a35b05bce664ba5f6cfa7a9d6ae2dc7d (patch) | |
tree | 8140cf0425e4608b78516f619fb188720d7e1ba1 /src/gui/util/qshadernodesloader.cpp | |
parent | 7c74048e94257c5cdc367c3144dc0e26adf06a56 (diff) |
QShaderGenerator: fix substitution for attributes on GL2/ES2
GL2/ES2 expect it to be attribute and not in like later versions of OpenGL.
Task-number: QTBUG-74829
Change-Id: Iddd22386ed315d6e6843d8225e49a4b73b6ad9ba
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/gui/util/qshadernodesloader.cpp')
-rw-r--r-- | src/gui/util/qshadernodesloader.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gui/util/qshadernodesloader.cpp b/src/gui/util/qshadernodesloader.cpp index 9badbb94df..5369e8bd4c 100644 --- a/src/gui/util/qshadernodesloader.cpp +++ b/src/gui/util/qshadernodesloader.cpp @@ -251,6 +251,17 @@ void QShaderNodesLoader::load(const QJsonObject &prototypesObject) break; } + // We default out to a Fragment ShaderType if nothing is specified + // as that was the initial behavior we introduced + const QString shaderType = formatObject.value(QStringLiteral("shaderType")).toString(); + format.setShaderType(shaderType == QStringLiteral("Fragment") ? QShaderFormat::Fragment + : shaderType == QStringLiteral("Vertex") ? QShaderFormat::Vertex + : shaderType == QStringLiteral("TessellationControl") ? QShaderFormat::TessellationControl + : shaderType == QStringLiteral("TessellationEvaluation") ? QShaderFormat::TessellationEvaluation + : shaderType == QStringLiteral("Geometry") ? QShaderFormat::Geometry + : shaderType == QStringLiteral("Compute") ? QShaderFormat::Compute + : QShaderFormat::Fragment); + const QByteArray substitution = substitutionValue.toString().toUtf8(); const QJsonValue snippetsValue = ruleObject.value(QStringLiteral("headerSnippets")); |