[Mesa-dev] [PATCH v2] mesa: Draw indirect is not allowed when xfb is active and unpaused

Marta Lofstedt marta.lofstedt at linux.intel.com
Mon Oct 26 03:50:24 PDT 2015


From: Marta Lofstedt <marta.lofstedt at intel.com>

OpenGL ES 3.1 specification, section 10.5:
"An INVALID_OPERATION error is generated if
transform feedback is active and not paused."

Signed-off-by: Marta Lofstedt <marta.lofstedt at linux.intel.com>
---
 src/mesa/main/api_validate.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c
index fa6c1b5..303d5e8 100644
--- a/src/mesa/main/api_validate.c
+++ b/src/mesa/main/api_validate.c
@@ -710,6 +710,16 @@ valid_draw_indirect(struct gl_context *ctx,
       return GL_FALSE;
    }
 
+   /* OpenGL ES 3.1 specification, section 10.5:
+    *
+    *      "An INVALID_OPERATION error is generated if
+    *      transform feedback is active and not paused."
+    */
+   if (_mesa_is_gles31(ctx) && _mesa_is_xfb_active_and_unpaused(ctx)) {
+      _mesa_error(ctx, GL_INVALID_OPERATION,
+                  "%s(TransformFeedback is active but not paused)", name);
+   }
+
    /*
     * OpenGL ES 3.1 spec. section 10.5:
     * "An INVALID_OPERATION error is generated if zero is bound to
-- 
2.1.4



More information about the mesa-dev mailing list