summaryrefslogtreecommitdiffstats
path: root/src/plugins/renderers/rhi/graphicshelpers/submissioncontext.cpp
diff options
context:
space:
mode:
authorJean-Michaël Celerier <jean-michael.celerier@kdab.com>2020-03-17 16:07:38 +0100
committerJean-Michaël Celerier <jean-michael.celerier@kdab.com>2020-04-22 09:36:46 +0200
commitdf4ec04dae8c0ce9fa3b27bc8e48eb2d36a20962 (patch)
tree723fe393774b3f697bd9bc5d87a41220b377953c /src/plugins/renderers/rhi/graphicshelpers/submissioncontext.cpp
parenta01dbe5b0e1b912c7210abc304700020e685aff0 (diff)
rhi: Port most of Qt3DExtras materials to RHI
Change-Id: Iba20f047404b20c1e5b9bdcef917b3c2a1000d59 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/plugins/renderers/rhi/graphicshelpers/submissioncontext.cpp')
-rw-r--r--src/plugins/renderers/rhi/graphicshelpers/submissioncontext.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/renderers/rhi/graphicshelpers/submissioncontext.cpp b/src/plugins/renderers/rhi/graphicshelpers/submissioncontext.cpp
index 1f243e37b..eac49f01a 100644
--- a/src/plugins/renderers/rhi/graphicshelpers/submissioncontext.cpp
+++ b/src/plugins/renderers/rhi/graphicshelpers/submissioncontext.cpp
@@ -498,6 +498,10 @@ SubmissionContext::SubmissionContext()
{
static_contexts[m_id] = this;
m_contextInfo.m_api = QGraphicsApiFilter::RHI;
+
+ // We set those version numbers because QShaderGenerator wants major > 0
+ m_contextInfo.m_major = 1;
+ m_contextInfo.m_minor = 0;
}
SubmissionContext::~SubmissionContext()
@@ -1630,6 +1634,7 @@ SubmissionContext::ShaderCreationInfo SubmissionContext::createShaderProgram(RHI
{QShader::MslShader, QShaderVersion(12)},
});
+
b.setGeneratedShaderVariants({QShader::Variant{},
#ifndef QT_NO_OPENGL
QShader::Variant{},
@@ -1637,6 +1642,7 @@ SubmissionContext::ShaderCreationInfo SubmissionContext::createShaderProgram(RHI
QShader::Variant{},
QShader::Variant{}});
+
// TODO handle caching as QShader does not have a built-in mechanism for that
QString logs;
bool success = true;
@@ -1650,7 +1656,7 @@ SubmissionContext::ShaderCreationInfo SubmissionContext::createShaderProgram(RHI
b.setSourceString(shaderCode.at(i), rhiStage);
QShader bakedShader = b.bake();
if (b.errorMessage() != QString() || !bakedShader.isValid()) {
- qDebug() << "Shader Error: " << b.errorMessage();
+ qDebug() << "Shader Error: " << b.errorMessage() << shaderCode.at(i).data() << rhiStage;
logs += b.errorMessage();
success = false;
}