FLUSH_VERTICES(ctx, 0);
ctx->NewDriverState |= ctx->DriverFlags.NewTransformFeedback;
+ assert(ctx->Driver.EndTransformFeedback);
+ ctx->Driver.EndTransformFeedback(ctx, obj);
+
ctx->TransformFeedback.CurrentObject->Active = GL_FALSE;
ctx->TransformFeedback.CurrentObject->Paused = GL_FALSE;
ctx->TransformFeedback.CurrentObject->EndedAnytime = GL_TRUE;
-
- assert(ctx->Driver.EndTransformFeedback);
- ctx->Driver.EndTransformFeedback(ctx, obj);
}
FLUSH_VERTICES(ctx, 0);
ctx->NewDriverState |= ctx->DriverFlags.NewTransformFeedback;
- obj->Paused = GL_TRUE;
-
assert(ctx->Driver.PauseTransformFeedback);
ctx->Driver.PauseTransformFeedback(ctx, obj);
+
+ obj->Paused = GL_TRUE;
}
return;
}
+ compute_transform_feedback_buffer_sizes(obj);
switch(pname) {
case GL_TRANSFORM_FEEDBACK_BUFFER_START:
*param = obj->Offset[index];
break;
case GL_TRANSFORM_FEEDBACK_BUFFER_SIZE:
- *param = obj->RequestedSize[index];
+ *param = obj->Size[index];
break;
default:
_mesa_error(ctx, GL_INVALID_ENUM,