From: Brian Date: Mon, 29 Oct 2007 16:36:10 +0000 (-0600) Subject: check for signed vs. unsigned in st_get_format_info() - fixes accum buffer failure X-Git-Tag: 062012170305~17580^2~390^2~3632 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ebe1642d7a65acd5e41632b3b23655f67de85cfc;p=profile%2Fivi%2Fmesa.git check for signed vs. unsigned in st_get_format_info() - fixes accum buffer failure --- diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c index c0e1a79..bffc39b 100644 --- a/src/mesa/state_tracker/st_format.c +++ b/src/mesa/state_tracker/st_format.c @@ -204,19 +204,25 @@ st_get_format_info( else { GLuint size; - assert( info.type == PIPE_FORMAT_TYPE_UNORM ); - size = format_max_bits( info ); if (size == 8) { - pinfo->datatype = GL_UNSIGNED_BYTE; + if (info.type == PIPE_FORMAT_TYPE_UNORM) + pinfo->datatype = GL_UNSIGNED_BYTE; + else + pinfo->datatype = GL_BYTE; } else if (size == 16) { - pinfo->datatype = GL_UNSIGNED_SHORT; + if (info.type == PIPE_FORMAT_TYPE_UNORM) + pinfo->datatype = GL_UNSIGNED_SHORT; + else + pinfo->datatype = GL_SHORT; } else { assert( size <= 32 ); - - pinfo->datatype = GL_UNSIGNED_INT; + if (info.type == PIPE_FORMAT_TYPE_UNORM) + pinfo->datatype = GL_UNSIGNED_INT; + else + pinfo->datatype = GL_INT; } }