fix disabling of blendipoos!
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 13 Nov 2009 07:30:03 +0000 (07:30 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 13 Nov 2009 07:30:03 +0000 (07:30 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@43655 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/modules/engines/gl_common/evas_gl_context.c

index d9c74ee..5fe6961 100644 (file)
@@ -703,13 +703,6 @@ shader_array_flush(Evas_GL_Context *gc)
         glActiveTexture(GL_TEXTURE0);
         glBindTexture(GL_TEXTURE_2D, gc->shader.cur_tex);
      }
-   if (gc->shader.blend != gc->shader.current.blend)
-     {
-        if (gc->shader.blend)
-          glEnable(GL_BLEND);
-        else 
-          glDisable(GL_BLEND);
-     }
    if (gc->shader.render_op != gc->shader.current.render_op)
      {
         switch (gc->shader.render_op)
@@ -718,7 +711,7 @@ shader_array_flush(Evas_GL_Context *gc)
              glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
              break;
           case EVAS_RENDER_COPY: /**< d = s */
-             glDisable(GL_BLEND);
+             gc->shader.blend = 0;
              glBlendFunc(GL_ONE, GL_ONE);
              break;
              // FIXME: fix blend funcs below!
@@ -737,6 +730,13 @@ shader_array_flush(Evas_GL_Context *gc)
              break;
           }
      }
+   if (gc->shader.blend != gc->shader.current.blend)
+     {
+        if (gc->shader.blend)
+          glEnable(GL_BLEND);
+        else 
+          glDisable(GL_BLEND);
+     }
    if (gc->shader.smooth != gc->shader.current.smooth)
      {
         if (gc->shader.smooth)