diff options
author | Marek Olšák <[email protected]> | 2011-05-14 00:54:44 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2011-05-14 01:53:30 +0200 |
commit | ad2999d2113356d526b39774eb8114e974dac048 (patch) | |
tree | ed79bd88d732db4650ac6d16a8249cdc09fa5cfe /src/mesa/state_tracker | |
parent | 2bba244329a6751d5ac07041874b2969b67fa8ee (diff) |
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 <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r-- | src/mesa/state_tracker/st_cb_drawpixels.c | 7 |
1 files 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 */ |