diff options
author | Jean-Michaël Celerier <jean-michael.celerier@kdab.com> | 2020-03-17 16:07:38 +0100 |
---|---|---|
committer | Jean-Michaël Celerier <jean-michael.celerier@kdab.com> | 2020-04-22 09:36:46 +0200 |
commit | df4ec04dae8c0ce9fa3b27bc8e48eb2d36a20962 (patch) | |
tree | 723fe393774b3f697bd9bc5d87a41220b377953c /src/plugins/renderers/rhi/graphicshelpers/submissioncontext.cpp | |
parent | a01dbe5b0e1b912c7210abc304700020e685aff0 (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.cpp | 8 |
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; } |