mesa: Generate invalid operation in glGenerateMipMap for integer textures
Khronos has reached a conclusion and disallowed following texture formats in glGenerateMipMap(): (a) ASTC textures (b) integer internal formats (e.g., RGBA8UI, RG16I) (c) textures with stencil formats (e.g., STENCIL_INDEX8) (d) textures with packed depth/stencil formats (e.g, DEPTH24_STENCIL8) https://cvs.khronos.org/bugzilla/show_bug.cgi?id=9471 Note: This is a candidate for stable branches. Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
@@ -2637,6 +2637,15 @@ _mesa_GenerateMipmapEXT(GLenum target)
|
||||
return;
|
||||
}
|
||||
|
||||
if (_mesa_is_enum_format_integer(srcImage->InternalFormat) ||
|
||||
_mesa_is_depthstencil_format(srcImage->InternalFormat) ||
|
||||
_mesa_is_stencil_format(srcImage->InternalFormat)) {
|
||||
_mesa_unlock_texture(ctx, texObj);
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glGenerateMipmap(invalid internal format)");
|
||||
return;
|
||||
}
|
||||
|
||||
if (target == GL_TEXTURE_CUBE_MAP) {
|
||||
GLuint face;
|
||||
for (face = 0; face < 6; face++)
|
||||
|
||||
Reference in New Issue
Block a user