From 25db8d06530746cf84557e8bde47f235a1a85170 Mon Sep 17 00:00:00 2001
From: Neil Roberts <neil@linux.intel.com>
Date: Thu, 24 Feb 2011 18:42:47 +0000
Subject: [PATCH] cogl-blit: Disable blending when using texture render

When using a pipeline and the journal to blit images between
framebuffers, it should disable blending. Otherwise it will end up
blending the source texture with uninitialised garbage in the
destination texture.
---
 cogl/cogl-blit.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/cogl/cogl-blit.c b/cogl/cogl-blit.c
index 1c40e348b..255f77c39 100644
--- a/cogl/cogl-blit.c
+++ b/cogl/cogl-blit.c
@@ -78,6 +78,12 @@ _cogl_blit_texture_render_begin (CoglBlitData *data)
       cogl_pipeline_set_layer_filters (ctx->blit_texture_pipeline, 0,
                                        COGL_PIPELINE_FILTER_NEAREST,
                                        COGL_PIPELINE_FILTER_NEAREST);
+
+      /* Disable blending by just directly taking the contents of the
+         source texture */
+      cogl_pipeline_set_blend (ctx->blit_texture_pipeline,
+                               "RGBA = ADD(SRC_COLOR, 0)",
+                               NULL);
     }
 
   pipeline = ctx->blit_texture_pipeline;