mesa: Call TransformFeedback driver hooks before setting flags.
This way, the driver's EndTransformFeedback() hook can tell whether the transform feedback operation was paused. It's also convenient to have Paused remain false until the driver's PauseTransformFeedback hook finishes. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
parent
f7eb95a526
commit
47fbe178fa
|
@ -505,12 +505,12 @@ _mesa_EndTransformFeedback(void)
|
|||
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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1173,10 +1173,10 @@ _mesa_PauseTransformFeedback(void)
|
|||
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;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue