instructions );
}
- renderTask.UpdateState(resourcesFinished);
+ renderTask.SetResourcesFinished( resourcesFinished );
}
DALI_LOG_INFO(gRenderTaskLogFilter, Debug::General, "ProcessRenderTasks() Onscreen\n");
instructions );
}
- renderTask.UpdateState(resourcesFinished);
+ renderTask.SetResourcesFinished( resourcesFinished );
}
}
return required;
}
+void RenderTask::SetResourcesFinished( bool resourcesFinished )
+{
+ mResourcesFinished = resourcesFinished;
+}
+
// Called every frame regardless of whether render was required.
// If render was not required, ignore resourcesFinished.
-void RenderTask::UpdateState(bool resourcesFinished)
+void RenderTask::UpdateState()
{
- TASK_LOG_FMT( Debug::General, "(resourcesFinished:%s) FC:%d State:%s RR:%d\n", resourcesFinished?"T":"F", mFrameCounter, STATE_STRING(mState), mRefreshRate );
+ TASK_LOG_FMT( Debug::General, "(mResourcesFinished:%s) FC:%d State:%s RR:%d\n", mResourcesFinished?"T":"F", mFrameCounter, STATE_STRING(mState), mRefreshRate );
switch( mState )
{
{
if( mFrameCounter == 0 )
{
- if( resourcesFinished )
+ if( mResourcesFinished )
{
- ++mFrameCounter; // Only start missing frames when resources are loaded
+ ++mFrameCounter; // Only start skipping frames when resources are loaded
}
}
- else // Continue counting to miss frames
+ else // Continue counting to skip frames
{
++mFrameCounter;
if( mFrameCounter >= mRefreshRate )
case RENDER_ONCE_WAITING_FOR_RESOURCES:
{
- if( resourcesFinished )
+ if( mResourcesFinished )
{
mState = RENDERED_ONCE;
}
mCameraNode( NULL ),
mCameraAttachment( NULL ),
mFrameBufferResourceId( 0 ),
+ mResourcesFinished( false ),
mWaitingToRender( false ),
mNotifyTrigger( false ),
mExclusive( Dali::RenderTask::DEFAULT_EXCLUSIVE ),
bool IsRenderRequired();
/**
+ * Set whether all resources were available when the render-task was processed
+ * @param[in] resourcesComplete True if the resources of the source tree are completely loaded.
+ */
+ void SetResourcesFinished( bool resourcesFinished );
+
+ /**
* Process a frame. This method is called each frame for every ready render task, regardless
* of whether it needs to render (so that the frame counter can be updated).
- * @param[in] resourcesComplete true if the resources of the source tree are completely loaded.
*/
- void UpdateState( bool resourcesComplete );
+ void UpdateState();
/**
* Return true only if currently waiting for the render task to
CameraAttachment* mCameraAttachment;
unsigned int mFrameBufferResourceId;
+ bool mResourcesFinished:1; ///< True if all resources were available when the render-task was processed
bool mWaitingToRender:1; ///< True when an render once to FBO is waiting
bool mNotifyTrigger:1; ///< True if a render once render task has finished renderering
bool mExclusive: 1; ///< Whether the render task has exclusive access to the source actor (node in the scene graph implementation).