fixed issue with accelerated node iterations

Uniform values cannot be set if the shader is not bound, and calling Blit would
release the shader making subsequent iteration count updates not work. This
commit makes sure the shader is bound before trying to do so.
This commit is contained in:
itsmattkc
2019-12-15 02:37:38 +11:00
parent 2067408273
commit 4297cd92d6
@@ -311,9 +311,12 @@ void OpenGLWorker::RunNodeAccelerated(const Node *node, const TimeRange &range,
// Some nodes use multiple iterations for optimization
OpenGLTextureCache::ReferencePtr output_tex;
for (int iteration=0;iteration<node->AcceleratedCodeIterations();iteration++) {
// Set iteration number
shader->bind();
shader->setUniformValue("ove_iteration", iteration);
shader->release();
// If this is not the first iteration, set the parameter that will receive the last iteration's texture
OpenGLTextureCache::ReferencePtr source_tex = dst_refs.at((iteration+1)%dst_refs.size());