X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fupdate%2Frendering%2Fscene-graph-renderer.cpp;h=6ce9e50a7005008300469b0c662d8ee040bfb611;hb=baef81c81217e013c1cc253ac636f154c7e61370;hp=b7180cb6457691f857083ca0cebe0fa56e2d4a9b;hpb=f9d5958155b98c47be54599791812482677ba1ab;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/update/rendering/scene-graph-renderer.cpp b/dali/internal/update/rendering/scene-graph-renderer.cpp index b7180cb..6ce9e50 100755 --- a/dali/internal/update/rendering/scene-graph-renderer.cpp +++ b/dali/internal/update/rendering/scene-graph-renderer.cpp @@ -112,7 +112,8 @@ enum Flags RESEND_STENCIL_OPERATION_ON_FAIL = 1 << 15, RESEND_STENCIL_OPERATION_ON_Z_FAIL = 1 << 16, RESEND_STENCIL_OPERATION_ON_Z_PASS = 1 << 17, - RESEND_WRITE_TO_COLOR_BUFFER = 1 << 18 + RESEND_WRITE_TO_COLOR_BUFFER = 1 << 18, + RESEND_SHADER = 1 << 19, }; } // Anonymous namespace @@ -345,6 +346,13 @@ void Renderer::PrepareRender( BufferIndex updateBufferIndex ) new (slot) DerivedType( mRenderer, &Render::Renderer::SetStencilOperationOnZPass, mStencilParameters.stencilOperationOnZPass ); } + if( mResendFlag & RESEND_SHADER ) + { + typedef MessageValue1< Render::Renderer, bool > DerivedType; + uint32_t* slot = mSceneController->GetRenderQueue().ReserveMessageSlot( updateBufferIndex, sizeof( DerivedType ) ); + new (slot) DerivedType( mRenderer, &Render::Renderer::SetShaderChanged, true ); + } + mResendFlag = 0; } } @@ -377,7 +385,7 @@ void Renderer::SetShader( Shader* shader ) mShader = shader; mShader->AddConnectionObserver( *this ); mRegenerateUniformMap = REGENERATE_UNIFORM_MAP; - mResendFlag |= RESEND_GEOMETRY; + mResendFlag |= RESEND_GEOMETRY | RESEND_SHADER; if( mRenderDataProvider ) {