From d3ea1ec6f81aee661bb2b3520ad190d1587b5cba Mon Sep 17 00:00:00 2001 From: Neil Roberts Date: Thu, 8 Jul 2010 18:31:29 +0100 Subject: [PATCH] Use GL_NEAREST filter in the draw-and-read get_data texture fallback The fallback for when glGetTexImage is not available renders the texture to the framebuffer to read the data using glReadPixels. This patch just sets the COGL_MATERIAL_FILTER_NEAREST filter mode on the material before rendering to avoid linear filtering which would alter the texture data. --- cogl/cogl-texture.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cogl/cogl-texture.c b/cogl/cogl-texture.c index a2092f9c6..8f2b3e2fd 100644 --- a/cogl/cogl-texture.c +++ b/cogl/cogl-texture.c @@ -1060,6 +1060,10 @@ _cogl_texture_draw_and_read (CoglHandle handle, "RGBA = REPLACE (TEXTURE)", NULL); + cogl_material_set_layer_filters (ctx->texture_download_material, 0, + COGL_MATERIAL_FILTER_NEAREST, + COGL_MATERIAL_FILTER_NEAREST); + do_texture_draw_and_read (handle, target_bmp, viewport); /* Check whether texture has alpha and framebuffer not */