really protect against npot compressed textures (logbase2 never returns -1).

This commit is contained in:
Daniel Borca
2004-12-20 08:03:01 +00:00
parent 0d84c68313
commit 2982dce27e

View File

@@ -2724,16 +2724,16 @@ compressed_texture_error_check(GLcontext *ctx, GLint dimensions,
* XXX We should probably use the proxy texture error check function here. * XXX We should probably use the proxy texture error check function here.
*/ */
if (width < 1 || width > maxTextureSize || if (width < 1 || width > maxTextureSize ||
(!ctx->Extensions.ARB_texture_non_power_of_two && logbase2(width) < 0)) (!ctx->Extensions.ARB_texture_non_power_of_two && _mesa_bitcount(width) != 1))
return GL_INVALID_VALUE; return GL_INVALID_VALUE;
if ((height < 1 || height > maxTextureSize || if ((height < 1 || height > maxTextureSize ||
(!ctx->Extensions.ARB_texture_non_power_of_two && logbase2(height) < 0)) (!ctx->Extensions.ARB_texture_non_power_of_two && _mesa_bitcount(height) != 1))
&& dimensions > 1) && dimensions > 1)
return GL_INVALID_VALUE; return GL_INVALID_VALUE;
if ((depth < 1 || depth > maxTextureSize || if ((depth < 1 || depth > maxTextureSize ||
(!ctx->Extensions.ARB_texture_non_power_of_two && logbase2(depth) < 0)) (!ctx->Extensions.ARB_texture_non_power_of_two && _mesa_bitcount(depth) != 1))
&& dimensions > 2) && dimensions > 2)
return GL_INVALID_VALUE; return GL_INVALID_VALUE;