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 <marta.lofstedt@linux.intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
This commit is contained in:
Marta Lofstedt 2015-10-26 11:50:24 +01:00 committed by Marta Lofstedt
parent 2c91e08656
commit 3daa7e5147
1 changed files with 9 additions and 0 deletions

View File

@ -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: