_BaseFormat is a GLenum (unsigned int) so testing if its value is greater than 0 to detect the cases where _mesa_base_tex_format returns -1 doesn't work.
Fixing the assertion breaks the arb_texture_view-lifetime-format piglit test on nouveau, since that test calls _mesa_base_tex_format with GL_R16F with a context that does not have ARB_texture_float, so it returns -1 for the BaseFormat, which was not being caught properly by the ASSERT in init_teximage_fields_ms until now. Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> Reviewed-by: Jason Ekstrand <jason.ekstr...@intel.com> --- src/mesa/main/teximage.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index a7dca59..fcb0547 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -1313,7 +1313,7 @@ init_teximage_fields_ms(struct gl_context *ctx, target = img->TexObject->Target; img->_BaseFormat = _mesa_base_tex_format( ctx, internalFormat ); - ASSERT(img->_BaseFormat > 0); + ASSERT(img->_BaseFormat != -1); img->InternalFormat = internalFormat; img->Border = border; img->Width = width; -- 1.9.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev