diff --git a/app/render/backend/opengl/openglbackend.cpp b/app/render/backend/opengl/openglbackend.cpp index 63b25a0ee..8c2c9607f 100644 --- a/app/render/backend/opengl/openglbackend.cpp +++ b/app/render/backend/opengl/openglbackend.cpp @@ -31,7 +31,7 @@ bool OpenGLBackend::InitInternal() // Initiate one thread per CPU core for (int i=0;iSetParameters(params()); processors_.append(processor); } @@ -135,8 +135,6 @@ bool OpenGLBackend::TimeIsCached(const TimeRange &time) void OpenGLBackend::ThreadCompletedFrame(NodeDependency path, QByteArray hash, NodeValueTable table) { - caching_ = false; - QVariant value = table.Get(NodeParam::kTexture); OpenGLTexturePtr texture = value.value(); @@ -168,7 +166,7 @@ void OpenGLBackend::ThreadCompletedFrame(NodeDependency path, QByteArray hash, N emit CachedFrameReady(path.in(), value); } - CacheNext(); + CompletedFrame(); } void OpenGLBackend::ThreadCompletedDownload(NodeDependency dep, QByteArray hash) @@ -178,15 +176,16 @@ void OpenGLBackend::ThreadCompletedDownload(NodeDependency dep, QByteArray hash) emit CachedTimeReady(dep.in()); } -void OpenGLBackend::ThreadSkippedFrame() +void OpenGLBackend::ThreadSkippedFrame(NodeDependency dep, QByteArray hash) { - caching_ = false; - CacheNext(); + frame_cache()->SetHash(dep.in(), hash); + + CompletedFrame(); } void OpenGLBackend::ThreadHashAlreadyExists(NodeDependency dep, QByteArray hash) { ThreadCompletedDownload(dep, hash); - ThreadSkippedFrame(); + CompletedFrame(); } diff --git a/app/render/backend/opengl/openglbackend.h b/app/render/backend/opengl/openglbackend.h index acb8a807f..099f3415a 100644 --- a/app/render/backend/opengl/openglbackend.h +++ b/app/render/backend/opengl/openglbackend.h @@ -37,7 +37,7 @@ private: private slots: void ThreadCompletedFrame(NodeDependency path, QByteArray hash, NodeValueTable table); void ThreadCompletedDownload(NodeDependency dep, QByteArray hash); - void ThreadSkippedFrame(); + void ThreadSkippedFrame(NodeDependency dep, QByteArray hash); void ThreadHashAlreadyExists(NodeDependency dep, QByteArray hash); };