[Mesa-dev] [PATCH v2] mesa: Adds missing error condition in _mesa_check_sample_count()

Eduardo Lima Mitev elima at igalia.com
Mon Feb 23 04:03:56 PST 2015


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.
---
 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 b696de9..0e9207b 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.1.3



More information about the mesa-dev mailing list