X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Frender%2Frenderers%2Frender-renderer.cpp;h=9324d86c3bb083e5b1f8003d52190a3d410b72cb;hb=baef81c81217e013c1cc253ac636f154c7e61370;hp=74c4959a9d83562b8a4e20bb3dd9475e281764c6;hpb=010bab2d6574983fcf9977c7b65966a8386f6846;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/render/renderers/render-renderer.cpp b/dali/internal/render/renderers/render-renderer.cpp index 74c4959..9324d86 100644 --- a/dali/internal/render/renderers/render-renderer.cpp +++ b/dali/internal/render/renderers/render-renderer.cpp @@ -145,7 +145,8 @@ Renderer::Renderer( SceneGraph::RenderDataProvider* dataProvider, mDepthWriteMode( depthWriteMode ), mDepthTestMode( depthTestMode ), mUpdateAttributesLocation( true ), - mPremultipledAlphaEnabled( preMultipliedAlphaEnabled ) + mPremultipledAlphaEnabled( preMultipliedAlphaEnabled ), + mShaderChanged( false ) { if( blendingBitmask != 0u ) { @@ -216,8 +217,12 @@ void Renderer::SetUniforms( BufferIndex bufferIndex, const SceneGraph::NodeDataP if( uniformMapDataProvider.GetUniformMapChanged( bufferIndex ) || node.GetUniformMapChanged(bufferIndex) || - mUniformIndexMap.Count() == 0) + mUniformIndexMap.Count() == 0 || + mShaderChanged ) { + // Reset shader pointer + mShaderChanged = false; + const SceneGraph::CollectedUniformMap& uniformMap = uniformMapDataProvider.GetUniformMap( bufferIndex ); const SceneGraph::CollectedUniformMap& uniformMapNode = node.GetUniformMap( bufferIndex ); @@ -586,6 +591,11 @@ void Renderer::SetSortAttributes( BufferIndex bufferIndex, sortAttributes.geometry = mGeometry; } +void Renderer::SetShaderChanged( bool value ) +{ + mShaderChanged = value; +} + } // namespace SceneGraph } // namespace Internal