X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fupdate%2Fmanager%2Frender-task-processor.h;h=0e3b7e20a2f51f096aa93a125604d7e074f2f082;hb=4b502547418a7fc7a049c3df49cdbf76664af648;hp=7715ab7ecad462b6c071d71aa46cc8d9da46be8e;hpb=8adebb76c14be2afcfe527163df8fdb6bf30e1d5;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/update/manager/render-task-processor.h b/dali/internal/update/manager/render-task-processor.h index 7715ab7..0e3b7e2 100644 --- a/dali/internal/update/manager/render-task-processor.h +++ b/dali/internal/update/manager/render-task-processor.h @@ -2,7 +2,7 @@ #define DALI_INTERNAL_SCENE_GRAPH_RENDER_TASK_PROCESSOR_H /* - * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,18 +19,15 @@ */ // INTERNAL INCLUDES -#include #include +#include namespace Dali { - namespace Internal { - namespace SceneGraph { - class RenderTaskList; /** @@ -39,7 +36,6 @@ class RenderTaskList; class RenderTaskProcessor { public: - /** * @brief Constructor. */ @@ -54,34 +50,34 @@ public: * Process the list of render-tasks; the output is a series of render instructions. * @note When ProcessRenderTasks is called, the layers should already the transparent/opaque renderers which are ready to render. * If there is only one default render-task, then no further processing is required. - * @param[in] updateBufferIndex The current update buffer index. - * @param[in] renderTasks The list of render-tasks. - * @param[in] rootNode The root node of the scene-graph. - * @param[in] sortedLayers The layers containing lists of opaque / transparent renderables. - * @param[in] geometryBatcher The instance of the geometry batcher - * @param[out] instructions The instructions for rendering the next frame. + * @param[in] updateBufferIndex The current update buffer index. + * @param[in] renderTasks The list of render-tasks. + * @param[in] rootNode The root node of the scene-graph. + * @param[in] sortedLayers The layers containing lists of opaque / transparent renderables. + * @param[out] instructions The instructions for rendering the next frame. + * @param[in] renderToFboEnabled Whether rendering into the Frame Buffer Object is enabled (used to measure FPS above 60) + * @param[in] isRenderingToFbo Whether this frame is being rendered into the Frame Buffer Object (used to measure FPS above 60) + * @return true if rendering should be kept, false otherwise. */ - void Process( BufferIndex updateBufferIndex, - RenderTaskList& renderTasks, - Layer& rootNode, - SortedLayerPointers& sortedLayers, - GeometryBatcher& geometryBatcher, - RenderInstructionContainer& instructions ); + bool Process(BufferIndex updateBufferIndex, + RenderTaskList& renderTasks, + Layer& rootNode, + SortedLayerPointers& sortedLayers, + RenderInstructionContainer& instructions, + bool renderToFboEnabled, + bool isRenderingToFbo); private: - /** * Undefine copy and assignment operators. */ - RenderTaskProcessor( const RenderTaskProcessor& renderTaskProcessor ); ///< No definition - RenderTaskProcessor& operator=( const RenderTaskProcessor& renderTaskProcessor ); ///< No definition + RenderTaskProcessor(const RenderTaskProcessor& renderTaskProcessor); ///< No definition + RenderTaskProcessor& operator=(const RenderTaskProcessor& renderTaskProcessor); ///< No definition private: - RenderInstructionProcessor mRenderInstructionProcessor; ///< An instance of the RenderInstructionProcessor used to sort and handle the renderers for each layer. }; - } // namespace SceneGraph } // namespace Internal