From ad2999d2113356d526b39774eb8114e974dac048 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sat, 14 May 2011 00:54:44 +0200 Subject: [PATCH] st/mesa: set correct baseInternalFormat for _mesa_texstore in DrawPixels GL_RGBA was always used for baseInternalFormat regardless of the chosen texture internal format. https://bugs.freedesktop.org/show_bug.cgi?id=37154 Reviewed-by: Brian Paul --- src/mesa/state_tracker/st_cb_drawpixels.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c index e377861b8d2..9948f8d2bc5 100644 --- a/src/mesa/state_tracker/st_cb_drawpixels.c +++ b/src/mesa/state_tracker/st_cb_drawpixels.c @@ -39,6 +39,7 @@ #include "main/pack.h" #include "main/pbo.h" #include "main/texformat.h" +#include "main/teximage.h" #include "main/texstore.h" #include "program/program.h" #include "program/prog_print.h" @@ -419,10 +420,10 @@ make_texture(struct st_context *st, gl_format mformat; struct pipe_resource *pt; enum pipe_format pipeFormat; - GLenum baseFormat, intFormat; + GLenum baseInternalFormat, intFormat; - baseFormat = base_format(format); intFormat = internal_format(ctx, format, type); + baseInternalFormat = _mesa_base_tex_format(ctx, intFormat); mformat = st_ChooseTextureFormat_renderable(ctx, intFormat, format, type, GL_FALSE); @@ -465,7 +466,7 @@ make_texture(struct st_context *st, * the texture. We deal with that with texcoords. */ success = _mesa_texstore(ctx, 2, /* dims */ - baseFormat, /* baseInternalFormat */ + baseInternalFormat, /* baseInternalFormat */ mformat, /* gl_format */ dest, /* dest */ 0, 0, 0, /* dstX/Y/Zoffset */ -- 2.30.2