egl/dri2: Add display lock
authorRob Clark <robdclark@chromium.org>
Sat, 13 Aug 2022 17:41:46 +0000 (10:41 -0700)
committerRob Clark <robdclark@chromium.org>
Thu, 8 Sep 2022 04:21:25 +0000 (21:21 -0700)
commitf1efe037dfd82d95b025a3ddf58b669758b8d69a
treee396a614ffa51ee412dc3632bb80e783d039132e
parentfc5281286dd70cef27c07318e93ef9df8c00014e
egl/dri2: Add display lock

In preperation of relaxing eglapi to not hold a lock across driver
calls, but instead only for protecting it's own state, add our own
lock to protect code paths that need locking or have not been audited
yet.  The blocking calls (ClientWaitSyncKHR) or critical path and/or
blocking (MakeCurrent, SwapBuffers*) are lockless, as they have already
been audited for thread safety.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Acked-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18050>
src/egl/drivers/dri2/egl_dri2.c
src/egl/drivers/dri2/egl_dri2.h