<glx sop="108" handcode="true"/>
</function>
+ <!-- Shared contexts have to wait for glthread to finish execution after glFlush,
+ so that other contexts can see the effect of previous GL calls when glFlush returns.
+ This is harmless if the contexts run on different threads, because we only stall
+ 1 thread that's asynchronous anyway. It's worse when the contexts run on the same
+ thread, but that's not a good use of multiple contexts.
+ -->
<function name="Flush" es1="1.0" es2="2.0"
- marshal_call_after="_mesa_glthread_flush_batch(ctx);">
+ marshal_call_after="_mesa_glthread_flush_batch(ctx); if (ctx->Shared->RefCount > 1) _mesa_glthread_finish(ctx);">
<glx sop="142" handcode="true"/>
</function>