Keep track of Bitmap data ownership
[platform/core/uifw/dali-core.git] / dali / internal / render / gl-resources / compressed-bitmap-texture.cpp
index 7155704..1830d43 100644 (file)
@@ -36,10 +36,10 @@ CompressedBitmapTexture::CompressedBitmapTexture(Internal::BitmapCompressed* con
           bitmap->GetImageWidth(),
           bitmap->GetImageHeight(),
           bitmap->GetImageWidth(),
-          bitmap->GetImageHeight(),
-          bitmap->GetPixelFormat()),
+          bitmap->GetImageHeight()),
   mBitmap(bitmap),
-  mDiscardPolicy(discardPolicy)
+  mDiscardPolicy(discardPolicy),
+  mPixelFormat( bitmap->GetPixelFormat() )
 {
   DALI_LOG_TRACE_METHOD(Debug::Filter::gImage);
   DALI_LOG_SET_OBJECT_STRING(this, DALI_LOG_GET_OBJECT_STRING(bitmap));
@@ -81,7 +81,7 @@ void CompressedBitmapTexture::AssignBitmap( bool generateTexture, const unsigned
   }
   DALI_ASSERT_DEBUG( mId != 0 );
 
-  mContext.ActiveTexture(TextureUnitAsGLenum( TEXTURE_UNIT_UPLOAD )); // bind in unused unit so rebind works the first time
+  mContext.ActiveTexture( TEXTURE_UNIT_UPLOAD );
   mContext.Bind2dTexture(mId);
 
   GLenum pixelFormat = GL_RGBA;
@@ -93,7 +93,6 @@ void CompressedBitmapTexture::AssignBitmap( bool generateTexture, const unsigned
   mContext.TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
   mContext.TexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
 
-  INCREASE_BY( PerformanceMonitor::TEXTURE_DATA_UPLOADED, bufferSize );
 }
 
 void CompressedBitmapTexture::Update( Integration::Bitmap* bitmap )
@@ -136,7 +135,7 @@ void CompressedBitmapTexture::Update( Integration::Bitmap* bitmap )
     {
       AssignBitmap( false, pixels, mBitmap->GetBufferSize() );
 
-      if( mDiscardPolicy == ResourcePolicy::DISCARD )
+      if( mDiscardPolicy == ResourcePolicy::OWNED_DISCARD )
       {
         mBitmap->DiscardBuffer();
       }