mesa: Adds missing error condition in _mesa_check_sample_count()
authorEduardo Lima Mitev <elima@igalia.com>
Mon, 23 Feb 2015 12:03:56 +0000 (13:03 +0100)
committerSamuel Iglesias Gonsalvez <siglesias@igalia.com>
Mon, 23 Feb 2015 14:04:26 +0000 (15:04 +0100)
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 <martin.peres@linux.intel.com>
src/mesa/main/multisample.c

index b696de9..0e9207b 100644 (file)
@@ -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.