From 7fcdc07aaa7c95c585068bd050d8b45ee480983a Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Thu, 11 Aug 2022 10:01:01 -0700 Subject: [PATCH] egl: Add some locking asserts Make it obvious if we screw up while reworking locking. Signed-off-by: Rob Clark Reviewed-by: Eric Engestrom Part-of: --- src/egl/main/eglapi.c | 2 ++ src/egl/main/egldisplay.c | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c index 2fdf5d73a61..95a5e76adf1 100644 --- a/src/egl/main/eglapi.c +++ b/src/egl/main/eglapi.c @@ -934,6 +934,8 @@ _eglNativeSurfaceAlreadyUsed(_EGLDisplay *disp, void *native_surface) { _EGLResource *list; + simple_mtx_assert_locked(&disp->Mutex); + list = disp->ResourceLists[_EGL_RESOURCE_SURFACE]; while (list) { _EGLSurface *surf = (_EGLSurface *) list; diff --git a/src/egl/main/egldisplay.c b/src/egl/main/egldisplay.c index 9afa0e3d1a2..db90b2b2dc7 100644 --- a/src/egl/main/egldisplay.c +++ b/src/egl/main/egldisplay.c @@ -313,6 +313,8 @@ _eglReleaseDisplayResources(_EGLDisplay *display) _EGLResource *list; const _EGLDriver *drv = display->Driver; + simple_mtx_assert_locked(&display->Mutex); + list = display->ResourceLists[_EGL_RESOURCE_CONTEXT]; while (list) { _EGLContext *ctx = (_EGLContext *) list; @@ -400,6 +402,8 @@ _eglCheckResource(void *res, _EGLResourceType type, _EGLDisplay *disp) { _EGLResource *list = disp->ResourceLists[type]; + simple_mtx_assert_locked(&disp->Mutex); + if (!res) return EGL_FALSE; @@ -462,6 +466,7 @@ void _eglLinkResource(_EGLResource *res, _EGLResourceType type) { assert(res->Display); + simple_mtx_assert_locked(&res->Display->Mutex); res->IsLinked = EGL_TRUE; res->Next = res->Display->ResourceLists[type]; @@ -478,6 +483,8 @@ _eglUnlinkResource(_EGLResource *res, _EGLResourceType type) { _EGLResource *prev; + simple_mtx_assert_locked(&res->Display->Mutex); + prev = res->Display->ResourceLists[type]; if (prev != res) { while (prev) {