diff options
author | Laura Ekstrand <laura@jlekstrand.net> | 2015-02-04 14:21:17 -0800 |
---|---|---|
committer | Fredrik Höglund <fredrik@kde.org> | 2015-05-14 15:48:14 +0200 |
commit | b4368ac09db75cea412121ada6c12af1414feb50 (patch) | |
tree | b670ff2dc3a8fb3f7ceb44f377b1301a2c5dc0ac /src | |
parent | 6b284f08ab399154ad10e2166440b44cbbdcb2c5 (diff) |
main: Complete error conditions for glInvalidate*Framebuffer.
Signed-off-by: Fredrik Höglund <fredrik@kde.org>
Reviewed-by: Fredrik Höglund <fredrik@kde.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Cc: "10.4 10.5" <mesa-stable@lists.freedesktop.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/main/fbobject.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index 15878d327c6..7ba72558830 100644 --- a/src/mesa/main/fbobject.c +++ b/src/mesa/main/fbobject.c @@ -3650,12 +3650,29 @@ invalidate_framebuffer_storage(GLenum target, GLsizei numAttachments, return; } + /* Section 17.4 Whole Framebuffer Operations of the OpenGL 4.5 Core + * Spec (2.2.2015, PDF page 522) says: + * "An INVALID_VALUE error is generated if numAttachments, width, or + * height is negative." + */ if (numAttachments < 0) { _mesa_error(ctx, GL_INVALID_VALUE, "%s(numAttachments < 0)", name); return; } + if (width < 0) { + _mesa_error(ctx, GL_INVALID_VALUE, + "%s(width < 0)", name); + return; + } + + if (height < 0) { + _mesa_error(ctx, GL_INVALID_VALUE, + "%s(height < 0)", name); + return; + } + /* The GL_ARB_invalidate_subdata spec says: * * "If an attachment is specified that does not exist in the @@ -3748,7 +3765,8 @@ invalidate_framebuffer_storage(GLenum target, GLsizei numAttachments, return; invalid_enum: - _mesa_error(ctx, GL_INVALID_ENUM, "%s(attachment)", name); + _mesa_error(ctx, GL_INVALID_ENUM, "%s(invalid attachment %s)", name, + _mesa_lookup_enum_by_nr(attachments[i])); return; } |