mesa: querying GL_TEXTURE_COMPRESSED_IMAGE_SIZE for a buffer obj is illegal
authorBrian Paul <brianp@vmware.com>
Fri, 17 Aug 2012 16:50:39 +0000 (10:50 -0600)
committerBrian Paul <brianp@vmware.com>
Sat, 18 Aug 2012 13:39:51 +0000 (07:39 -0600)
GL_INVALID_OPERATION is to be raised when querying a non-compressed
image/buffer.  Since a buffer object can't have a compressed format this
query always generates an error.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/main/texparam.c

index 8a5abe5e1cc77a889727ee4ed90d601da25afeb4..5a5547daecb88dd1b7f2b4ab61a5a9912812ffd1 100644 (file)
@@ -1136,13 +1136,9 @@ get_tex_level_parameter_buffer(struct gl_context *ctx,
 
       /* GL_ARB_texture_compression */
       case GL_TEXTURE_COMPRESSED_IMAGE_SIZE:
-         if (_mesa_is_format_compressed(texFormat) &&
-             !_mesa_is_proxy_texture(target)) {
-            *params = _mesa_format_image_size(texFormat, bo->Size, 0, 0);
-         } else {
-            _mesa_error(ctx, GL_INVALID_OPERATION,
-                        "glGetTexLevelParameter[if]v(pname)");
-         }
+         /* Always illegal for GL_TEXTURE_BUFFER */
+         _mesa_error(ctx, GL_INVALID_OPERATION,
+                     "glGetTexLevelParameter[if]v(pname)");
          break;
 
       /* GL_ARB_texture_float */