Apply premultiply on initial time in animated visual Change-Id: I7ce10be72455c659f5b5d09c3ce303f39dd13102
Use trace macro with message generator function Change-Id: Iac15dac7e023e150f48ef60c3a256edae08cf016 Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Trace log when remove texture caches + VectorAnimationManager Print some more logs when we has a lots number of events to execute during post processor. Change-Id: If2c2d8d62dc6969befb5d71ea84973a47b951af2 Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Merge "Remove Atlas parameter for TextureManager cache system" into devel/master
Remove Atlas parameter for TextureManager cache system If some visual attempt to atlas, they will use AtlasManager. So there is no reason to keep atlas relative informations for TextureInfo struct, what we are caching now. + This patch touch a lots of codes in texture-manager. So, I also change something useless lvalue usages Something like, const bool& Change-Id: I6a83b75c8311377e2ab6d62d29c19864a21d7e79 Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Minor optimization for image visaul and texture manager - Set texture index ordered bigger to smaller Since we reserve the size of textureset internally, set index bigger to smaller is more faster than else. - Disconnect ObserverDestroyed what loadqueue connected To avoid useless duplicated connection, let we disconnect observer destroyed signal before process load queue. Change-Id: I516406bcad2005ba628b3890fbc814df9c1a5e29 Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Remove observer from mLoadQueue when we request to remove observer That might be happen during ResourceReady signal observing - Add - Remove If than, the added request added in mLoadQueue 2 times. and Remove request try to remove observe there (but will be failed actually.) So, the visual get LoadCompleted signal twice. It might have some logical problem in AnimatedImageVisual. So let we keep ensure that 1-observer can only emit only 1-time. Change-Id: I3eee087118cf62761709b8416fe09cf52094d156 Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Apply premultiply when external texture use mask when external texture has alpha value and use mask, premultiply is not applied. add that patch to fix this issue Change-Id: I9103c7a6185ea8c044a3fdfa00a5fc5a5376fe87
Support FastTrackUploading for YUV images Let we support YUV image case without additional image loading or image operation. Instead, let we think that FastTrackUploading will use YUV format always if DALI_LOAD_IMAGE_YUV_PLANES=1. And then, revert as standard shader if we are not use YUV case actually. To support this feature. let we make unified YUV + RGB shader can use standard rgb image color for special case. After load completed, we can determine the type of shader. Change-Id: Ia4ffa288e705af751e722cd1440de2a014ad19b4 Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Remove Texture in AsyncLoadComplete() In AsyncLoadComplete(), texture need to remove. Change-Id: I723bb1c88c36b91850750225ce715db44d2b96a6
Remove external resources lazy. Since we don't increase & decrease the reference count of ExternalResources during LoadTexture() API, It can be happened that some TextureId validation failed. For example of dali://2, ImageUrl::New() // refcount : 1 ImageVisual::Initialize() // refcount : 2 ~ImageVisual - RemoveExternalTexture("dali://2"); // refcount : 1 - RequestRemove(2) // still refcount : 1 ~ImageUrl // now, refcount : 0 ImageVisual() LoadTexture() //< New generated texture will use TextureId as 2, with refcount 1 == Process() == Remove(2) // Now, TextureId 2's refcount is 0! load cancel. This patch make we only remove normal texture cache, instead of ExternalResource Change-Id: Ia735770a02c231fa79af40a1e5926aab11358b71 Signed-off-by: jmm <j0064423.lee@samsung.com>
Do not observe when Reload Previously, we add same observer multiple times when image is loading state and user do Reload action multiple times. In that case, there might be problem if visual destroyed. TODO : We should consider when we call Reload during ResourceReady() TODO : We should consider when reload visual has mask texture id Change-Id: Iab8b193281649783b80a6e9fb89e86c625b4388a Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Modified to use the appropriate TextureSet in external texture Change-Id: Id3b81f769fad02e90a5b5fd311e13bbe9692d200
Masking support for external textures Masking support for external textures as well. For masking, only GPU masking is available. Support for both asynchronous/synchronous. Change-Id: Ifdd18f0d90911ba849b5ff9cf1d8255f40ce12e9
Remove cached texture at PostProcessor We don't need to Remove memory of texture immediately. If we call Remove(image); Add(image); continously, Then image will try to reload image one more time. It might useless behaviour for real world app side. So make we don't remove texture immediatly, and Process remove queue at post process timing. Change-Id: Ic0d1a1cd10c13fc8b742667a09b02552594aae70 Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Allow to use premultiplied external texture FrameBuffer result colortexture is premultiplied always. So make we always use premultiplied texture. And make a way to user determine native image source is premultiplied or not. + Since FBO texture always premultiplied, revert scene view's trick https://review.tizen.org/gerrit/c/platform/core/uifw/dali-toolkit/+/285486 Change-Id: I72bfe4a04a69c259d983e9dc74086cefcdd4cc7d Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Add DesiredWidth/Height and samplingMode in animated image visual Let AnimatedImageVisual also use DesiredSize / FittingMode / SamplingMode feature. Change-Id: Icd2205738a6d9c7af0f2aa06c7887ac9ea85b576
Add async task manager Change-Id: Id9b14090fa21bdc249f826a68d260fb5d013887e
Make MASK_CANCELLED loadstate + minor log info When we remove the image during ApplyMask job, the loadstate become "CANCELLED". And, if we re-load the same image, the loadstate revived as "LOADING". Without MASK_CANCELLED state, that image will send ApplyMask one more times. That mean, alpha mask applied double times. This patch seperate the cancelled situation so we can revive the loadstate well. + Add some more informations for log Change-Id: I055bb9807d2c1afe7192daa29aca08cd47910968 Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Guard textureId during CheckForWaitingTexture We can remove & assign textures during NotifyObserver. In this case, we might have some timing issue of same-texture-id. This patch increase for each textureId's reference so we can assume that this textureId is valid during CheckForWaitingTexture API running. Change-Id: Ia77ea0d9d49564f7ec179a9ca731fa568a573ed6 Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>