From 146411a83f534c928c790ef1e7d3ddb576ee33f7 Mon Sep 17 00:00:00 2001 From: Alexis Hetu Date: Tue, 23 Jun 2015 11:33:20 -0400 Subject: [PATCH] Added proper transform feedback checks to glDrawRangeElements MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit It is illegal to start a new draw operation while a transform feedback is active. Change-Id: I5ebb01889ce5154162a51f5e6cfbc8431554c879 Reviewed-on: https://swiftshader-review.googlesource.com/3549 Tested-by: Alexis Hétu Reviewed-by: Nicolas Capens --- src/OpenGL/libGLESv2/libGLESv3.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/OpenGL/libGLESv2/libGLESv3.cpp b/src/OpenGL/libGLESv2/libGLESv3.cpp index 60912104c..ef9eefff6 100644 --- a/src/OpenGL/libGLESv2/libGLESv3.cpp +++ b/src/OpenGL/libGLESv2/libGLESv3.cpp @@ -549,6 +549,12 @@ GL_APICALL void GL_APIENTRY glDrawRangeElements(GLenum mode, GLuint start, GLuin if(context) { + es2::TransformFeedback* transformFeedback = context->getTransformFeedback(); + if(transformFeedback && transformFeedback->isActive() && !transformFeedback->isPaused()) + { + return error(GL_INVALID_OPERATION); + } + context->drawElements(mode, start, end, count, type, indices); } } -- 2.11.0