Mesa (master): mesa: Fix error code generation in glBeginConditionalRender( )

Anuj Phogat aphogat at kemper.freedesktop.org
Fri Dec 13 19:13:49 UTC 2013


Module: Mesa
Branch: master
Commit: 7a73c6acb0a4f5f049795f73a54a08a6dbe166ed
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a73c6acb0a4f5f049795f73a54a08a6dbe166ed

Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Thu Dec 12 14:34:27 2013 -0800

mesa: Fix error code generation in glBeginConditionalRender()

This patch changes the error condition to satisfy below statement
from OpenGL 4.3 core specification:
"An INVALID_OPERATION error is generated if id is the name of a query
object with a target other SAMPLES_PASSED, ANY_SAMPLES_PASSED, or
ANY_SAMPLES_PASSED_CONSERVATIVE, or if id is the name of a query
currently in progress."

Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/mesa/main/condrender.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/mesa/main/condrender.c b/src/mesa/main/condrender.c
index 3d9b0ec..2632f7a 100644
--- a/src/mesa/main/condrender.c
+++ b/src/mesa/main/condrender.c
@@ -72,7 +72,9 @@ _mesa_BeginConditionalRender(GLuint queryId, GLenum mode)
    }
    ASSERT(q->Id == queryId);
 
-   if (q->Target != GL_SAMPLES_PASSED || q->Active) {
+   if ((q->Target != GL_SAMPLES_PASSED &&
+        q->Target != GL_ANY_SAMPLES_PASSED &&
+        q->Target != GL_ANY_SAMPLES_PASSED_CONSERVATIVE) || q->Active) {
       _mesa_error(ctx, GL_INVALID_OPERATION, "glBeginConditionalRender()");
       return;
    }




More information about the mesa-commit mailing list