- mImpl->mRenderer.RegisterProperty( ATLAS_RECT_UNIFORM_NAME, FULL_TEXTURE_RECT );
- mAtlasRect = FULL_TEXTURE_RECT;
+ if(!textureSet) // no atlasing - mAttemptAtlasing is false or adding to atlas is failed
+ {
+ Texture texture = Texture::New(Dali::TextureType::TEXTURE_2D, Pixel::RGBA8888, rasterizedPixelData.GetWidth(), rasterizedPixelData.GetHeight());
+ texture.Upload(rasterizedPixelData);
+ mImpl->mFlags &= ~Impl::IS_ATLASING_APPLIED;
+
+ if(mAtlasRect == FULL_TEXTURE_RECT)
+ {
+ textureSet = currentTextureSet;
+ }
+ else
+ {
+ textureSet = TextureSet::New();
+ mImpl->mRenderer.SetTextures(textureSet);
+
+ mImpl->mRenderer.RegisterProperty(ATLAS_RECT_UNIFORM_NAME, FULL_TEXTURE_RECT);
+ mAtlasRect = FULL_TEXTURE_RECT;
+ }
+
+ if(textureSet)
+ {
+ textureSet.SetTexture(0, texture);
+ }