Mesa (master): mesa: Throw an error instead of asserting for condrender with query == 0.

Eric Anholt anholt at kemper.freedesktop.org
Mon Sep 19 18:52:31 UTC 2011


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

Author: Eric Anholt <eric at anholt.net>
Date:   Thu Sep  8 16:52:44 2011 -0700

mesa: Throw an error instead of asserting for condrender with query == 0.

>From the NV_conditional_render spec:

    BeginQuery sets the active query object name for the query type given by
    <target> to <id>.  If BeginQuery is called with an <id> of zero, if the
    active query object name for <target> is non-zero, if <id> is the active
    query object name for any query type, or if <id> is the active query
    object for condtional rendering (Section 2.X), the error INVALID OPERATION
    is generated.

Fixes piglit nv_conditional_render-begin-zero.

Reviewed-by: Brian Paul <brianp at vmware.com>

---

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

diff --git a/src/mesa/main/condrender.c b/src/mesa/main/condrender.c
index 352e2e2..c8195a5 100644
--- a/src/mesa/main/condrender.c
+++ b/src/mesa/main/condrender.c
@@ -44,7 +44,8 @@ _mesa_BeginConditionalRender(GLuint queryId, GLenum mode)
    struct gl_query_object *q;
    GET_CURRENT_CONTEXT(ctx);
 
-   if (!ctx->Extensions.NV_conditional_render || ctx->Query.CondRenderQuery) {
+   if (!ctx->Extensions.NV_conditional_render || ctx->Query.CondRenderQuery ||
+       queryId == 0) {
       _mesa_error(ctx, GL_INVALID_OPERATION, "glBeginConditionalRender()");
       return;
    }




More information about the mesa-commit mailing list