X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fupdate%2Frendering%2Fscene-graph-renderer.cpp;h=f2ecb414a75b6de66a817d2a57680cd9d48fe4d4;hb=1c3a73918ec7054bac9caa5bdf3eebcecc54fd7a;hp=732ca235803e9c8db9895164ade58346974863e8;hpb=5ccda65a296046076deabf99b944f41eba28830a;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 732ca23..f2ecb41 100644 --- a/dali/internal/update/rendering/scene-graph-renderer.cpp +++ b/dali/internal/update/rendering/scene-graph-renderer.cpp @@ -142,8 +142,6 @@ Renderer::Renderer() mBlendMode( BlendMode::AUTO ), mDepthWriteMode( DepthWriteMode::AUTO ), mDepthTestMode( DepthTestMode::AUTO ), - mResourcesReady( false ), - mFinishedResourceAcquisition( false ), mPremultipledAlphaEnabled( false ), mDepthIndex( 0 ) { @@ -176,21 +174,12 @@ void Renderer::operator delete( void* ptr ) void Renderer::PrepareRender( BufferIndex updateBufferIndex ) { - mResourcesReady = false; - mFinishedResourceAcquisition = false; - - // Can only be considered ready when all the scene graph objects are connected to the renderer - if( mGeometry && mShader ) + if( mRegenerateUniformMap == UNIFORM_MAP_READY ) { - mResourcesReady = true; - mFinishedResourceAcquisition = true; + mUniformMapChanged[updateBufferIndex] = false; } - - if( mRegenerateUniformMap > UNIFORM_MAP_READY ) + else { - DALI_ASSERT_DEBUG( mGeometry != NULL && "No geometry available in PrepareRender()" ); - DALI_ASSERT_DEBUG( mShader != NULL && "No shader available in PrepareRender()" ); - if( mRegenerateUniformMap == REGENERATE_UNIFORM_MAP) { CollectedUniformMap& localMap = mCollectedUniformMap[ updateBufferIndex ]; @@ -227,7 +216,7 @@ void Renderer::PrepareRender( BufferIndex updateBufferIndex ) { if( mResendFlag & RESEND_DATA_PROVIDER ) { - RenderDataProvider* dataProvider = NewRenderDataProvider(); + OwnerPointer dataProvider = NewRenderDataProvider(); typedef MessageValue1< Render::Renderer, OwnerPointer > DerivedType; unsigned int* slot = mSceneController->GetRenderQueue().ReserveMessageSlot( updateBufferIndex, sizeof( DerivedType ) ); @@ -238,7 +227,6 @@ void Renderer::PrepareRender( BufferIndex updateBufferIndex ) { typedef MessageValue1< Render::Renderer, Render::Geometry* > DerivedType; unsigned int* slot = mSceneController->GetRenderQueue().ReserveMessageSlot( updateBufferIndex, sizeof( DerivedType ) ); - new (slot) DerivedType( mRenderer, &Render::Renderer::SetGeometry, mGeometry ); } @@ -546,7 +534,8 @@ void Renderer::ConnectToSceneGraph( SceneController& sceneController, BufferInde mRenderer = Render::Renderer::New( dataProvider, mGeometry, mBlendBitmask, GetBlendColor(), static_cast< FaceCullingMode::Type >( mFaceCullingMode ), mPremultipledAlphaEnabled, mDepthWriteMode, mDepthTestMode, mDepthFunction, mStencilParameters ); - mSceneController->GetRenderMessageDispatcher().AddRenderer( *mRenderer ); + OwnerPointer< Render::Renderer > transferOwnership( mRenderer ); + mSceneController->GetRenderMessageDispatcher().AddRenderer( transferOwnership ); } //Called just before destroying the scene-graph renderer ( when the "event-thread renderer" is no longer referenced ) @@ -602,12 +591,6 @@ const CollectedUniformMap& Renderer::GetUniformMap( BufferIndex bufferIndex ) co return mCollectedUniformMap[bufferIndex]; } -void Renderer::GetReadyAndComplete( bool& ready, bool& complete ) const -{ - ready = mResourcesReady; - complete = mFinishedResourceAcquisition; -} - Renderer::Opacity Renderer::GetOpacity( BufferIndex updateBufferIndex, const Node& node ) const { Renderer::Opacity opacity = Renderer::OPAQUE;