summaryrefslogtreecommitdiff
path: root/src/mesa/main/condrender.c
diff options
context:
space:
mode:
authorAnuj Phogat <anuj.phogat@gmail.com>2013-12-12 14:34:27 -0800
committerAnuj Phogat <anuj.phogat@gmail.com>2013-12-13 11:13:25 -0800
commit7a73c6acb0a4f5f049795f73a54a08a6dbe166ed (patch)
treeabc31f6d5746a112d092ef4f3540704be7db60cc /src/mesa/main/condrender.c
parent93e399f64112cad2816780c2fbedccccd175b965 (diff)
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@lists.freedesktop.org Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Brian Paul <brianp@vmware.com>
Diffstat (limited to 'src/mesa/main/condrender.c')
-rw-r--r--src/mesa/main/condrender.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/main/condrender.c b/src/mesa/main/condrender.c
index 3d9b0eca1ab..2632f7a1a37 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;
}