From 56a5877e746b4562b67a9b60bba9756d84b1c1cf Mon Sep 17 00:00:00 2001 From: "Eunki, Hong" Date: Tue, 17 Oct 2023 15:41:31 +0900 Subject: [PATCH] Revert "Fix node texture draw issue" This reverts commit 386df6932dbcba70a010e386f7256b01ddc68b93. Change-Id: Ifab2623356d775339b9a4745f4422c7cd72c621a --- automated-tests/src/dali/utc-Dali-TextureSet.cpp | 4 ++-- dali/internal/event/rendering/texture-set-impl.cpp | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/automated-tests/src/dali/utc-Dali-TextureSet.cpp b/automated-tests/src/dali/utc-Dali-TextureSet.cpp index 71eb2cb..a06ae42 100644 --- a/automated-tests/src/dali/utc-Dali-TextureSet.cpp +++ b/automated-tests/src/dali/utc-Dali-TextureSet.cpp @@ -471,7 +471,7 @@ int UtcDaliTextureSetRemoveTextureAndGetTextureCount(void) // Set empty texture so we can remove it. textureSet.SetTexture(1u, Texture()); - DALI_TEST_EQUALS(textureSet.GetTextureCount(), 2u, TEST_LOCATION); + DALI_TEST_EQUALS(textureSet.GetTextureCount(), 1u, TEST_LOCATION); DALI_TEST_EQUALS(textureSet.GetTexture(0u), image0, TEST_LOCATION); application.SendNotification(); @@ -505,7 +505,7 @@ int UtcDaliTextureSetRemoveTextureAndGetTextureCount(void) // Set empty texture end of textureset. textureSet.SetTexture(2u, Texture()); - DALI_TEST_EQUALS(textureSet.GetTextureCount(), 3u, TEST_LOCATION); + DALI_TEST_EQUALS(textureSet.GetTextureCount(), 1u, TEST_LOCATION); DALI_TEST_EQUALS(textureSet.GetTexture(0u), image0, TEST_LOCATION); application.SendNotification(); diff --git a/dali/internal/event/rendering/texture-set-impl.cpp b/dali/internal/event/rendering/texture-set-impl.cpp index a229fe6..61db3dc 100644 --- a/dali/internal/event/rendering/texture-set-impl.cpp +++ b/dali/internal/event/rendering/texture-set-impl.cpp @@ -52,6 +52,12 @@ void TextureSet::SetTexture(uint32_t index, TexturePtr texture) } SceneGraph::SetTextureMessage(mEventThreadServices, *mSceneObject, index, renderTexture); + + if(!texture) + { + // Check wheter we need to pop back textures + TrimContainers(); + } } Texture* TextureSet::GetTexture(uint32_t index) const @@ -86,6 +92,12 @@ void TextureSet::SetSampler(uint32_t index, SamplerPtr sampler) } SceneGraph::SetSamplerMessage(mEventThreadServices, *mSceneObject, index, renderSampler); + + if(!sampler) + { + // Check wheter we need to pop back sampler + TrimContainers(); + } } Sampler* TextureSet::GetSampler(uint32_t index) const -- 2.7.4