mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 20:38:06 +02:00
glthread: sync in glFlush for multiple contexts
See the code comment. Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5382>
This commit is contained in:
parent
90c34aed1d
commit
d76e8131ac
1 changed files with 7 additions and 1 deletions
|
|
@ -2390,8 +2390,14 @@
|
|||
<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>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue