From 3daa7e5147f164e822269f13c3bcccfa6446fa83 Mon Sep 17 00:00:00 2001 From: Marta Lofstedt Date: Mon, 26 Oct 2015 11:50:24 +0100 Subject: [PATCH] mesa: Draw indirect is not allowed when xfb is active and unpaused MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Ian Romanick Reviewed-by: Tapani Pälli --- src/mesa/main/api_validate.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c index e4cfc9bfdaf..e936d62d488 100644 --- a/src/mesa/main/api_validate.c +++ b/src/mesa/main/api_validate.c @@ -701,6 +701,15 @@ valid_draw_indirect(struct gl_context *ctx, if (!_mesa_valid_prim_mode(ctx, mode, name)) 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 and not paused)", name); + } /* From OpenGL version 4.4. section 10.5 * and OpenGL ES 3.1, section 10.6: -- 2.30.2