Does this cause any regressions for the packed-px-uint test? -Jordan
On Sat, Sep 15, 2012 at 11:18 PM, Kenneth Graunke <kenn...@whitecape.org> wrote: > In commit 091eb15b694, Jordan changed get_temp_image_type() to use > _mesa_get_format_datatype() instead of returning GL_FLOAT. That has > several possible return values: GL_FLOAT, GL_INT, GL_UNSIGNED_INT, > GL_SIGNED_NORMALIZED, and GL_UNSIGNED_NORMALIZED. > > We do want to use GL_INT/GL_UNSIGNED_INT for integer formats. However, > we want to continue using GL_FLOAT for the normalized fixed-point types. > There isn't any code in pack.c to handle GL_(UN)SIGNED_NORMALIZED. > > Fixes oglconform's fboarb advanced.blit.copypix, which was regressed by > commit 091eb15b694a396f8453093575ccec2db7f14eb8. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53573 > Cc: Jordan Justen <jljus...@gmail.com> > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > --- > src/mesa/drivers/common/meta.c | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c > index 3b13ad7..01bbb1c 100644 > --- a/src/mesa/drivers/common/meta.c > +++ b/src/mesa/drivers/common/meta.c > @@ -3463,12 +3463,16 @@ get_temp_image_type(struct gl_context *ctx, gl_format > format) > case GL_LUMINANCE: > case GL_LUMINANCE_ALPHA: > case GL_INTENSITY: > - if (ctx->DrawBuffer->Visual.redBits <= 8) > + if (ctx->DrawBuffer->Visual.redBits <= 8) { > return GL_UNSIGNED_BYTE; > - else if (ctx->DrawBuffer->Visual.redBits <= 16) > + } else if (ctx->DrawBuffer->Visual.redBits <= 16) { > return GL_UNSIGNED_SHORT; > - else > - return _mesa_get_format_datatype(format); > + } else { > + GLenum datatype = _mesa_get_format_datatype(format); > + if (datatype == GL_INT || datatype == GL_UNSIGNED_INT) > + return datatype; > + return GL_FLOAT; > + } > case GL_DEPTH_COMPONENT: > return GL_UNSIGNED_INT; > case GL_DEPTH_STENCIL: > -- > 1.7.11.4 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev