Use RegisterUniqueProperty for some more renderers 19/270919/3
authorEunki, Hong <eunkiki.hong@samsung.com>
Fri, 11 Feb 2022 06:16:42 +0000 (15:16 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Tue, 15 Feb 2022 04:47:26 +0000 (13:47 +0900)
RegisterUniqueProperty where we can assume it is register first times.

Change-Id: Iced78be54571caa4c78286cc92f863d79c3dc4c3
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
dali-toolkit/internal/controls/bubble-effect/bubble-renderer.cpp
dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp
dali-toolkit/internal/visuals/animated-gradient/animated-gradient-visual.cpp
dali-toolkit/internal/visuals/arc/arc-visual.cpp
dali-toolkit/internal/visuals/border/border-visual.cpp
dali-toolkit/internal/visuals/color/color-visual.cpp
dali-toolkit/internal/visuals/gradient/gradient-visual.cpp
dali-toolkit/internal/visuals/npatch/npatch-visual.cpp
dali-toolkit/internal/visuals/text/text-visual.cpp
dali-toolkit/internal/visuals/visual-base-impl.cpp

index b3ef299..364e0c3 100644 (file)
@@ -53,25 +53,25 @@ void BubbleRenderer::Initialize(unsigned int numberOfBubble, const Vector2& move
   mRenderer.SetTextures(textureSet);
 
   // register uniforms
-  mIndexGravity      = mRenderer.RegisterProperty("uGravity", 50.f);
-  mIndexDynamicScale = mRenderer.RegisterProperty("uDynamicScale", 1.f);
+  mIndexGravity      = mRenderer.RegisterUniqueProperty("uGravity", 50.f);
+  mIndexDynamicScale = mRenderer.RegisterUniqueProperty("uDynamicScale", 1.f);
 
-  mIndexInvertedMovementArea = mRenderer.RegisterProperty("uInvertedMovementArea", Vector2(1.f, 1.f) / movementArea);
+  mIndexInvertedMovementArea = mRenderer.RegisterUniqueProperty("uInvertedMovementArea", Vector2(1.f, 1.f) / movementArea);
 
   mIndicesOffset.resize(9);
   int offset = movementArea.Length() / 10.f;
 
   unsigned int seed = time(NULL);
 
-  mIndicesOffset[0] = mRenderer.RegisterProperty("uOffset[0]", Vector2(0.f, 0.f));
-  mIndicesOffset[1] = mRenderer.RegisterProperty("uOffset[1]", Vector2(rand_r(&seed) % offset, rand_r(&seed) % offset));
-  mIndicesOffset[2] = mRenderer.RegisterProperty("uOffset[2]", Vector2(rand_r(&seed) % offset, -rand_r(&seed) % offset));
-  mIndicesOffset[3] = mRenderer.RegisterProperty("uOffset[3]", Vector2(-rand_r(&seed) % offset, rand_r(&seed) % offset));
-  mIndicesOffset[4] = mRenderer.RegisterProperty("uOffset[4]", Vector2(-rand_r(&seed) % offset, -rand_r(&seed) % offset));
-  mIndicesOffset[5] = mRenderer.RegisterProperty("uOffset[5]", Vector2(rand_r(&seed) % offset, 0.f));
-  mIndicesOffset[6] = mRenderer.RegisterProperty("uOffset[6]", Vector2(-rand_r(&seed) % offset, 0.f));
-  mIndicesOffset[7] = mRenderer.RegisterProperty("uOffset[7]", Vector2(0.f, rand_r(&seed) % offset));
-  mIndicesOffset[8] = mRenderer.RegisterProperty("uOffset[8]", Vector2(0.f, -rand_r(&seed) % offset));
+  mIndicesOffset[0] = mRenderer.RegisterUniqueProperty("uOffset[0]", Vector2(0.f, 0.f));
+  mIndicesOffset[1] = mRenderer.RegisterUniqueProperty("uOffset[1]", Vector2(rand_r(&seed) % offset, rand_r(&seed) % offset));
+  mIndicesOffset[2] = mRenderer.RegisterUniqueProperty("uOffset[2]", Vector2(rand_r(&seed) % offset, -rand_r(&seed) % offset));
+  mIndicesOffset[3] = mRenderer.RegisterUniqueProperty("uOffset[3]", Vector2(-rand_r(&seed) % offset, rand_r(&seed) % offset));
+  mIndicesOffset[4] = mRenderer.RegisterUniqueProperty("uOffset[4]", Vector2(-rand_r(&seed) % offset, -rand_r(&seed) % offset));
+  mIndicesOffset[5] = mRenderer.RegisterUniqueProperty("uOffset[5]", Vector2(rand_r(&seed) % offset, 0.f));
+  mIndicesOffset[6] = mRenderer.RegisterUniqueProperty("uOffset[6]", Vector2(-rand_r(&seed) % offset, 0.f));
+  mIndicesOffset[7] = mRenderer.RegisterUniqueProperty("uOffset[7]", Vector2(0.f, rand_r(&seed) % offset));
+  mIndicesOffset[8] = mRenderer.RegisterUniqueProperty("uOffset[8]", Vector2(0.f, -rand_r(&seed) % offset));
 
   Vector4 zeroVector;
   mIndiceStartEndPos.resize(numberOfBubble);
@@ -80,11 +80,11 @@ void BubbleRenderer::Initialize(unsigned int numberOfBubble, const Vector2& move
   {
     std::ostringstream ossProperty;
     ossProperty << "uStartEndPosition[" << i << "]";
-    mIndiceStartEndPos[i] = mRenderer.RegisterProperty(ossProperty.str(), zeroVector);
+    mIndiceStartEndPos[i] = mRenderer.RegisterUniqueProperty(ossProperty.str(), zeroVector);
 
     ossProperty.str("");
     ossProperty << "uPercentage[" << i << "]";
-    mIndicesPercentage[i] = mRenderer.RegisterProperty(ossProperty.str(), 0.f);
+    mIndicesPercentage[i] = mRenderer.RegisterUniqueProperty(ossProperty.str(), 0.f);
   }
 }
 
index fef8956..ad90105 100644 (file)
@@ -147,7 +147,7 @@ void SuperBlurView::OnInitialize()
 {
   Actor self(Self());
 
-  mBlurStrengthPropertyIndex = self.RegisterProperty("blurStrength", 0.f);
+  mBlurStrengthPropertyIndex = self.RegisterUniqueProperty("blurStrength", 0.f);
 
   DevelControl::SetAccessibilityConstructor(self, [](Dali::Actor actor) {
     return std::unique_ptr<Dali::Accessibility::Accessible>(
@@ -307,7 +307,7 @@ void SuperBlurView::OnSceneConnection(int depth)
     if(i > 0)
     {
       Renderer        renderer   = mRenderers[i];
-      Property::Index index      = renderer.RegisterProperty(ALPHA_UNIFORM_NAME, 0.f);
+      Property::Index index      = renderer.RegisterUniqueProperty(ALPHA_UNIFORM_NAME, 0.f);
       Constraint      constraint = Constraint::New<float>(renderer, index, ActorOpacityConstraint(mBlurLevels, i - 1));
       constraint.AddSource(Source(self, mBlurStrengthPropertyIndex));
       constraint.Apply();
index 30fb901..30d8616 100644 (file)
@@ -667,13 +667,13 @@ void AnimatedGradientVisual::OnInitialize()
   mImpl->mRenderer = Renderer::New(geometry, shader);
   mImpl->mRenderer.ReserveCustomProperties(CUSTOM_PROPERTY_COUNT);
 
-  mImpl->mRenderer.RegisterProperty(UNIFORM_START_POINT_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::START_POSITION, START_POSITION_NAME));
-  mImpl->mRenderer.RegisterProperty(UNIFORM_START_COLOR_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::START_COLOR, START_COLOR_NAME));
-  mImpl->mRenderer.RegisterProperty(UNIFORM_END_POINT_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::END_POSITION, END_POSITION_NAME));
-  mImpl->mRenderer.RegisterProperty(UNIFORM_END_COLOR_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::END_COLOR, END_COLOR_NAME));
-  mImpl->mRenderer.RegisterProperty(UNIFORM_ROTATE_CENTER_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::ROTATE_CENTER, ROTATE_CENTER_NAME));
-  mImpl->mRenderer.RegisterProperty(UNIFORM_ROTATE_ANGLE_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::ROTATE_AMOUNT, ROTATE_AMOUNT_NAME));
-  mImpl->mRenderer.RegisterProperty(UNIFORM_OFFSET_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::OFFSET, OFFSET_NAME));
+  mImpl->mRenderer.RegisterUniqueProperty(UNIFORM_START_POINT_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::START_POSITION, START_POSITION_NAME));
+  mImpl->mRenderer.RegisterUniqueProperty(UNIFORM_START_COLOR_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::START_COLOR, START_COLOR_NAME));
+  mImpl->mRenderer.RegisterUniqueProperty(UNIFORM_END_POINT_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::END_POSITION, END_POSITION_NAME));
+  mImpl->mRenderer.RegisterUniqueProperty(UNIFORM_END_COLOR_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::END_COLOR, END_COLOR_NAME));
+  mImpl->mRenderer.RegisterUniqueProperty(UNIFORM_ROTATE_CENTER_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::ROTATE_CENTER, ROTATE_CENTER_NAME));
+  mImpl->mRenderer.RegisterUniqueProperty(UNIFORM_ROTATE_ANGLE_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::ROTATE_AMOUNT, ROTATE_AMOUNT_NAME));
+  mImpl->mRenderer.RegisterUniqueProperty(UNIFORM_OFFSET_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::OFFSET, OFFSET_NAME));
 
   //Register transform properties
   mImpl->mTransform.RegisterUniforms(mImpl->mRenderer, Direction::LEFT_TO_RIGHT);
index 1423341..bf07a40 100644 (file)
@@ -216,9 +216,9 @@ void ArcVisual::OnInitialize()
   mImpl->mRenderer = Renderer::New(geometry, shader);
   mImpl->mRenderer.ReserveCustomProperties(CUSTOM_PROPERTY_COUNT);
 
-  mThicknessIndex  = mImpl->mRenderer.RegisterProperty(DevelArcVisual::Property::THICKNESS, THICKNESS_NAME, mThickness);
-  mStartAngleIndex = mImpl->mRenderer.RegisterProperty(DevelArcVisual::Property::START_ANGLE, START_ANGLE_NAME, mStartAngle);
-  mSweepAngleIndex = mImpl->mRenderer.RegisterProperty(DevelArcVisual::Property::SWEEP_ANGLE, SWEEP_ANGLE_NAME, mSweepAngle);
+  mThicknessIndex  = mImpl->mRenderer.RegisterUniqueProperty(DevelArcVisual::Property::THICKNESS, THICKNESS_NAME, mThickness);
+  mStartAngleIndex = mImpl->mRenderer.RegisterUniqueProperty(DevelArcVisual::Property::START_ANGLE, START_ANGLE_NAME, mStartAngle);
+  mSweepAngleIndex = mImpl->mRenderer.RegisterUniqueProperty(DevelArcVisual::Property::SWEEP_ANGLE, SWEEP_ANGLE_NAME, mSweepAngle);
 
   mRadiusIndex = mImpl->mRenderer.RegisterProperty(RADIUS_NAME, mRadius);
 
index 9e977fc..b60cc27 100644 (file)
@@ -129,12 +129,18 @@ void BorderVisual::DoSetProperty(Dali::Property::Index        index,
 
 void BorderVisual::DoSetOnScene(Actor& actor)
 {
-  mBorderColorIndex = mImpl->mRenderer.RegisterProperty(Toolkit::BorderVisual::Property::COLOR, COLOR_NAME, mBorderColor);
+  if(mBorderColorIndex == Property::INVALID_INDEX)
+  {
+    mBorderColorIndex = mImpl->mRenderer.RegisterUniqueProperty(Toolkit::BorderVisual::Property::COLOR, COLOR_NAME, mBorderColor);
+  }
   if(mBorderColor.a < 1.f || mAntiAliasing)
   {
     mImpl->mRenderer.SetProperty(Renderer::Property::BLEND_MODE, BlendMode::ON);
   }
-  mBorderSizeIndex = mImpl->mRenderer.RegisterProperty(Toolkit::BorderVisual::Property::SIZE, SIZE_NAME, mBorderSize);
+  if(mBorderSizeIndex == Property::INVALID_INDEX)
+  {
+    mBorderSizeIndex = mImpl->mRenderer.RegisterUniqueProperty(Toolkit::BorderVisual::Property::SIZE, SIZE_NAME, mBorderSize);
+  }
 
   actor.AddRenderer(mImpl->mRenderer);
 
index c1177ce..21a1a70 100644 (file)
@@ -128,7 +128,7 @@ void ColorVisual::DoSetProperties(const Property::Map& propertyMap)
       // We must regist properies into renderer, and update shader.
 
       // BlurRadius added by this action. Regist property to renderer.
-      mBlurRadiusIndex = mImpl->mRenderer.RegisterProperty(DevelColorVisual::Property::BLUR_RADIUS, BLUR_RADIUS_NAME, mBlurRadius);
+      mBlurRadiusIndex = mImpl->mRenderer.RegisterUniqueProperty(DevelColorVisual::Property::BLUR_RADIUS, BLUR_RADIUS_NAME, mBlurRadius);
       mImpl->mRenderer.SetProperty(Renderer::Property::BLEND_MODE, BlendMode::ON);
 
       // Change the shader must not be occured many times. we always have to use blur feature.
@@ -209,7 +209,7 @@ void ColorVisual::OnInitialize()
 
   if(!EqualsZero(mBlurRadius))
   {
-    mBlurRadiusIndex = mImpl->mRenderer.RegisterProperty(DevelColorVisual::Property::BLUR_RADIUS, BLUR_RADIUS_NAME, mBlurRadius);
+    mBlurRadiusIndex = mImpl->mRenderer.RegisterUniqueProperty(DevelColorVisual::Property::BLUR_RADIUS, BLUR_RADIUS_NAME, mBlurRadius);
     mImpl->mRenderer.SetProperty(Renderer::Property::BLEND_MODE, BlendMode::ON);
   }
 
index 820be6a..f3028c4 100644 (file)
@@ -262,7 +262,7 @@ void GradientVisual::OnInitialize()
     mImpl->mRenderer.SetProperty(Renderer::Property::BLEND_MODE, BlendMode::OFF);
   }
 
-  mImpl->mRenderer.RegisterProperty(UNIFORM_ALIGNMENT_MATRIX_NAME, mGradientTransform);
+  mImpl->mRenderer.RegisterUniqueProperty(UNIFORM_ALIGNMENT_MATRIX_NAME, mGradientTransform);
 
   //Register transform properties
   mImpl->mTransform.RegisterUniforms(mImpl->mRenderer, Direction::LEFT_TO_RIGHT);
index c251193..bca8d03 100644 (file)
@@ -464,12 +464,6 @@ void NPatchVisual::ApplyTextureAndUniforms()
       imageSize = actor.GetProperty(Actor::Property::SIZE).Get<Vector2>();
     }
     mFactoryCache.UpdateBrokenImageRenderer(mImpl->mRenderer, imageSize);
-    Texture croppedImage = mImpl->mRenderer.GetTextures().GetTexture(0);
-    textureSet.SetTexture(0u, croppedImage);
-    mImpl->mRenderer.RegisterProperty("uFixed[0]", Vector2::ZERO);
-    mImpl->mRenderer.RegisterProperty("uFixed[1]", Vector2::ZERO);
-    mImpl->mRenderer.RegisterProperty("uFixed[2]", Vector2::ZERO);
-    mImpl->mRenderer.RegisterProperty("uStretchTotal", Vector2(croppedImage.GetWidth(), croppedImage.GetHeight()));
   }
 
   if(mAuxiliaryPixelBuffer)
index 5d523a4..5b12a34 100644 (file)
@@ -300,7 +300,7 @@ void TextVisual::DoSetOnScene(Actor& actor)
   const Vector4& defaultColor = mController->GetTextModel()->GetDefaultColor();
   if(mTextColorAnimatableIndex == Property::INVALID_INDEX)
   {
-    mTextColorAnimatableIndex = mImpl->mRenderer.RegisterProperty("uTextColorAnimatable", defaultColor);
+    mTextColorAnimatableIndex = mImpl->mRenderer.RegisterUniqueProperty("uTextColorAnimatable", defaultColor);
   }
   else
   {
index 004d201..288ed34 100644 (file)
@@ -830,7 +830,9 @@ Property::Index Visual::Base::GetPropertyIndex(Property::Key key)
         // Leave keyIndex as INVALID_KEY - it can still be registered against the string key.
       }
       Property::Value value = shader.GetProperty(index);
-      index                 = mImpl->mRenderer.RegisterProperty(keyIndex, keyName, value);
+
+      // We already know that mRenderer didn't have property. So we can assume that it is unique.
+      index = mImpl->mRenderer.RegisterUniqueProperty(keyIndex, keyName, value);
     }
   }
   return index;