Fix shader issue during Animation & UPDATE_PROPERTY action 44/272044/2
authorEunki, Hong <eunkiki.hong@samsung.com>
Mon, 7 Mar 2022 08:53:05 +0000 (17:53 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Mon, 7 Mar 2022 09:48:47 +0000 (18:48 +0900)
commita13c1413109c30ff1d3b4d12ebe44b6ec84144fe
tree2aaa652e7fb22dfa53ea80a099cbbec9f6e33156
parent8415ef3a6223d35cd985efe0c38bd6cbea89a3fb
Fix shader issue during Animation & UPDATE_PROPERTY action

mAlwaysUsingCornerRadius flag used when corner radius is on animation,
or it is updated by UPDATE_PROPERTY action.

It is neccessary cause we cannot detemine the value.
So, so bad timming, when mCornerRadius is 0.0f and we call UpdateShader,
the shader cannot use mCornerRadius feature.

There was some bug when mImpl->Renderer already contain CornerRadiusIndex.
Normal case, it will not happend because we always re-create visual in that case.
but, there also can exist some un-normal case = UPDATE_PROPERTY action.

When we setup CornerRadius first,
and create Animation corner radius into zero.
and after animation finish, DoAction(UPDATE_PROPERTY) with borderline.
and animate one more time.
In that case, the visual's shader doesn't contain CornerRadius!

TODO : We don't care about blur radius currently.
NUI didn't do UPDATE_PROPERTY action for this property now.
But anyway we should consider him.

Change-Id: Idf454ed8693da89d5c2f60d0f6a286dbf98c28ac
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
automated-tests/src/dali-toolkit/utc-Dali-Visual.cpp
dali-toolkit/internal/visuals/visual-base-impl.cpp