X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Frender%2Fcommon%2Frender-algorithms.h;h=bb5e066ba2c7999144f1711244adb71c9164607d;hb=b43741a90b40ca9dfbd33d6a9d390d3c09230e89;hp=5d4e44ffd59eaf66517c9cb97a7eddbc13fdf4ca;hpb=afa7ce29cc34aa631272ce5569b4298aa00490bf;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/render/common/render-algorithms.h b/dali/internal/render/common/render-algorithms.h old mode 100644 new mode 100755 index 5d4e44f..bb5e066 --- a/dali/internal/render/common/render-algorithms.h +++ b/dali/internal/render/common/render-algorithms.h @@ -2,7 +2,7 @@ #define DALI_INTERNAL_RENDER_ALGORITHMS_H /* - * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 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,6 +19,7 @@ */ // INTERNAL INCLUDES +#include #include #include @@ -52,11 +53,22 @@ class RenderAlgorithms /** * Process a render-instruction. - * @param[in] instruction The render-instruction to process. - * @param[in] context The GL context. - * @param[in] bufferIndex The current render buffer index (previous update buffer) + * @param[in] instruction The render-instruction to process. + * @param[in] context The GL context. + * @param[in] bufferIndex The current render buffer index (previous update buffer) + * @param[in] depthBufferAvailable Whether the depth buffer is available + * @param[in] stencilBufferAvailable Whether the stencil buffer is available + * @param[in] boundTextures The textures bound for rendering + * @param[in] scissorBox The damaged rect for partial update */ - void ProcessRenderInstruction( const SceneGraph::RenderInstruction& instruction, Context& context, BufferIndex bufferIndex ); + void ProcessRenderInstruction( const SceneGraph::RenderInstruction& instruction, + Context& context, + BufferIndex bufferIndex, + Integration::DepthBufferAvailable depthBufferAvailable, + Integration::StencilBufferAvailable stencilBufferAvailable, + Vector& boundTextures, + int orientation, + Dali::ClippingBox& scissorBox ); private: @@ -79,7 +91,7 @@ class RenderAlgorithms * @param[in] item The current RenderItem (about to be rendered) * @param[in] context The current Context */ - inline void SetupScissorClipping( const Dali::Internal::SceneGraph::RenderItem& item, Context& context ); + inline void SetupScissorClipping( const Dali::Internal::SceneGraph::RenderItem& item, Context& context, int orientation ); /** * @brief Set up the clipping based on the specified clipping settings. @@ -88,18 +100,38 @@ class RenderAlgorithms * @param[in/out] usedStencilBuffer True if the stencil buffer has been used so far within this RenderList. Used by StencilMode::ON. * @param[in/out] lastClippingDepth The stencil depth of the last renderer drawn. Used by the clipping feature. * @param[in/out] lastClippingId The clipping ID of the last renderer drawn. Used by the clipping feature. + * @param[in] stencilBufferAvailable Whether the stencil buffer is available */ - inline void SetupClipping( const Dali::Internal::SceneGraph::RenderItem& item, Context& context, bool& usedStencilBuffer, uint32_t& lastClippingDepth, uint32_t& lastClippingId ); + inline void SetupClipping( const Dali::Internal::SceneGraph::RenderItem& item, + Context& context, + bool& usedStencilBuffer, + uint32_t& lastClippingDepth, + uint32_t& lastClippingId, + Integration::StencilBufferAvailable stencilBufferAvailable, + int orientation ); /** * @brief Process a render-list. - * @param[in] renderList The render-list to process. - * @param[in] context The GL context. - * @param[in] buffer The current render buffer index (previous update buffer) - * @param[in] viewMatrix The view matrix from the appropriate camera. - * @param[in] projectionMatrix The projection matrix from the appropriate camera. + * @param[in] renderList The render-list to process. + * @param[in] context The GL context. + * @param[in] buffer The current render buffer index (previous update buffer) + * @param[in] viewMatrix The view matrix from the appropriate camera. + * @param[in] projectionMatrix The projection matrix from the appropriate camera. + * @param[in] depthBufferAvailable Whether the depth buffer is available + * @param[in] stencilBufferAvailable Whether the stencil buffer is available + * @param[in] boundTextures The textures bound for rendering + * @param[in] scissorBox The damaged rect for partial update */ - inline void ProcessRenderList( const Dali::Internal::SceneGraph::RenderList& renderList, Context& context, BufferIndex bufferIndex, const Matrix& viewMatrix, const Matrix& projectionMatrix ); + inline void ProcessRenderList( const Dali::Internal::SceneGraph::RenderList& renderList, + Context& context, + BufferIndex bufferIndex, + const Matrix& viewMatrix, + const Matrix& projectionMatrix, + Integration::DepthBufferAvailable depthBufferAvailable, + Integration::StencilBufferAvailable stencilBufferAvailable, + Vector& boundTextures, + int orientation, + Dali::ClippingBox& scissorBox ); // Prevent copying: RenderAlgorithms( RenderAlgorithms& rhs );