From 0bfe21e8e0bf6c80d46e82b7b8382e75881f2d64 Mon Sep 17 00:00:00 2001 From: Eduardo Lima Mitev Date: Mon, 23 Feb 2015 13:03:56 +0100 Subject: [PATCH] mesa: Adds missing error condition in _mesa_check_sample_count() This corrects a trivial error introduced in commit 19252fee46b835cb4f6b1cce18d7737d62b64a2e. That patch was merged recently and omits one condition (that 'samples' is greater than zero) in one of the error checks. That error will definitely cause regressions. Also corrects the reference to the specification above the error check, which was wrongly quoting OpenGL instead of OpenGL-ES. Reviewed-by: Martin Peres --- src/mesa/main/multisample.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/mesa/main/multisample.c b/src/mesa/main/multisample.c index b696de9f239..0e9207bc16e 100644 --- a/src/mesa/main/multisample.c +++ b/src/mesa/main/multisample.c @@ -150,16 +150,17 @@ GLenum _mesa_check_sample_count(struct gl_context *ctx, GLenum target, GLenum internalFormat, GLsizei samples) { - /* Section 4.4 (Framebuffer objects) of the OpenGL 3.0 specification says: + /* Section 4.4 (Framebuffer objects), page 198 of the OpenGL ES 3.0.0 + * specification says: * * "If internalformat is a signed or unsigned integer format and samples * is greater than zero, then the error INVALID_OPERATION is generated." */ - if (_mesa_is_gles3(ctx) && _mesa_is_enum_format_integer(internalFormat)) { + if (_mesa_is_gles3(ctx) && _mesa_is_enum_format_integer(internalFormat) + && samples > 0) { return GL_INVALID_OPERATION; } - /* If ARB_internalformat_query is supported, then treat its highest * returned sample count as the absolute maximum for this format; it is * allowed to exceed MAX_SAMPLES. -- 2.30.2