diff options
author | marha <marha@users.sourceforge.net> | 2012-11-07 10:08:29 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-11-07 10:08:29 +0100 |
commit | 74380c2fc1384a529df4f4995bddcf587fbac389 (patch) | |
tree | 0089fa6c54409e2a9515e0f530bf33e5f9561e29 /mesalib/src/mesa/main/fbobject.c | |
parent | 2c345c9da4dedfafe791557ca3fcf891ce26249d (diff) | |
parent | 1738a6973deb03f33a71c9527594727cb8bb64b4 (diff) | |
download | vcxsrv-74380c2fc1384a529df4f4995bddcf587fbac389.tar.gz vcxsrv-74380c2fc1384a529df4f4995bddcf587fbac389.tar.bz2 vcxsrv-74380c2fc1384a529df4f4995bddcf587fbac389.zip |
Merge remote-tracking branch 'origin/released'
* origin/released:
xserver mesa xkbcomp git update 7 nov 2012
Conflicts:
mesalib/src/mapi/glapi/gen/glX_API.xml
mesalib/src/mesa/main/.gitignore
xkbcomp/listing.c
xorg-server/hw/xwin/winshaddd.c
xorg-server/hw/xwin/winshadddnl.c
Diffstat (limited to 'mesalib/src/mesa/main/fbobject.c')
-rw-r--r-- | mesalib/src/mesa/main/fbobject.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/mesalib/src/mesa/main/fbobject.c b/mesalib/src/mesa/main/fbobject.c index fc5681ccc..0758d5557 100644 --- a/mesalib/src/mesa/main/fbobject.c +++ b/mesalib/src/mesa/main/fbobject.c @@ -2059,7 +2059,8 @@ framebuffer_texture(struct gl_context *ctx, const char *caller, GLenum target, } else if ((texObj->Target == GL_TEXTURE_1D_ARRAY_EXT) || (texObj->Target == GL_TEXTURE_2D_ARRAY_EXT)) { - if (zoffset < 0 || zoffset >= ctx->Const.MaxArrayTextureLayers) { + if (zoffset < 0 || + zoffset >= (GLint) ctx->Const.MaxArrayTextureLayers) { _mesa_error(ctx, GL_INVALID_VALUE, "glFramebufferTexture%sEXT(layer)", caller); return; @@ -2637,6 +2638,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++) @@ -3142,7 +3152,7 @@ invalidate_framebuffer_storage(GLenum target, GLsizei numAttachments, case GL_COLOR_ATTACHMENT13: case GL_COLOR_ATTACHMENT14: case GL_COLOR_ATTACHMENT15: { - const int k = attachments[i] - GL_COLOR_ATTACHMENT0; + unsigned k = attachments[i] - GL_COLOR_ATTACHMENT0; if (k >= ctx->Const.MaxColorAttachments) { _mesa_error(ctx, GL_INVALID_OPERATION, "%s(attachment >= max. color attachments)", name); |