Merge branch 'devel/master' into devel/new_mesh
[platform/core/uifw/dali-core.git] / dali / internal / render / gl-resources / native-frame-buffer-texture.cpp
index e762dbf..7899963 100644 (file)
@@ -20,6 +20,7 @@
 
 // INTERNAL INCLUDES
 #include <dali/internal/render/gl-resources/context.h>
+#include <dali/internal/render/gl-resources/texture-units.h>
 #include <dali/integration-api/debug.h>
 
 namespace Dali
@@ -28,10 +29,9 @@ namespace Dali
 namespace Internal
 {
 
-NativeFrameBufferTexture::NativeFrameBufferTexture( NativeImagePtr nativeImage, Context& context)
+NativeFrameBufferTexture::NativeFrameBufferTexture( NativeImageInterfacePtr nativeImage, Context& context)
   : FrameBufferTexture(nativeImage->GetWidth(),
                        nativeImage->GetHeight(),
-                       nativeImage->GetPixelFormat(),
                        context),
     mNativeImage(nativeImage)
 {
@@ -47,13 +47,12 @@ NativeFrameBufferTexture::~NativeFrameBufferTexture()
 
 bool NativeFrameBufferTexture::IsFullyOpaque() const
 {
-  // TODO - Should test actual texture...
   return !HasAlphaChannel();
 }
 
 bool NativeFrameBufferTexture::HasAlphaChannel() const
 {
-  return Pixel::HasAlpha(mNativeImage->GetPixelFormat());
+  return mNativeImage->RequiresBlending();
 }
 
 bool NativeFrameBufferTexture::Init()
@@ -76,7 +75,7 @@ bool NativeFrameBufferTexture::CreateGlTexture()
   if( mNativeImage->GlExtensionCreate() )
   {
     mContext.GenTextures(1, &mId);
-    mContext.ActiveTexture(GL_TEXTURE7);  // bind in unused unit so rebind works the first time
+    mContext.ActiveTexture( TEXTURE_UNIT_UPLOAD );  // bind in unused unit so rebind works the first time
     mContext.Bind2dTexture(mId);
 
     mContext.PixelStorei(GL_UNPACK_ALIGNMENT, 1); // We always use tightly packed data
@@ -124,7 +123,6 @@ void NativeFrameBufferTexture::GlCleanup()
   mNativeImage.Reset();
 }
 
-
 } //namespace Internal
 
 } //namespace Dali