From e67b801a50afbdf879a089898def61eaf94a778a Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Tue, 14 Jul 2020 22:32:27 +1000 Subject: [PATCH] renderer: treat buffer inputs as texture inputs when appropriate Fixes bug where a null buffer would not set a null texture. --- app/render/backend/opengl/openglproxy.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/render/backend/opengl/openglproxy.cpp b/app/render/backend/opengl/openglproxy.cpp index 08aa8864c..32c24f92d 100644 --- a/app/render/backend/opengl/openglproxy.cpp +++ b/app/render/backend/opengl/openglproxy.cpp @@ -288,7 +288,7 @@ QVariant OpenGLProxy::RunNodeAccelerated(const Node *node, // This variable is used in the shader, let's set it const QVariant& value = it.value().data(); - const NodeParam::DataType& data_type = (it.value().type() != NodeParam::kNone) + NodeParam::DataType data_type = (it.value().type() != NodeParam::kNone) ? it.value().type() : it.key()->data_type(); @@ -340,6 +340,7 @@ QVariant OpenGLProxy::RunNodeAccelerated(const Node *node, case NodeInput::kBoolean: shader->setUniformValue(variable_location, value.toBool()); break; + case NodeInput::kBuffer: case NodeInput::kTexture: { OpenGLTextureCache::ReferencePtr texture = value.value(); @@ -392,7 +393,6 @@ QVariant OpenGLProxy::RunNodeAccelerated(const Node *node, case NodeInput::kSampleJob: case NodeInput::kGenerateJob: case NodeInput::kFootage: - case NodeInput::kBuffer: case NodeInput::kNone: case NodeInput::kAny: break;