From: Marta Lofstedt Date: Mon, 26 Oct 2015 10:50:24 +0000 (+0100) Subject: mesa: Draw indirect is not allowed when xfb is active and unpaused X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3daa7e5147f164e822269f13c3bcccfa6446fa83;p=mesa.git mesa: Draw indirect is not allowed when xfb is active and unpaused 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 --- 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: