From 7ba2784b0a4bbed36a75488d4b73a314aafaedf1 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Thu, 18 Aug 2022 10:59:50 -0700 Subject: [PATCH] egl: Make RefCount atomic Once we relax the locking, we will be doing _eglPutFoo() outside of the big display lock. Signed-off-by: Rob Clark Acked-by: Eric Engestrom Reviewed-by: Adam Jackson Part-of: --- src/egl/main/egldisplay.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/egl/main/egldisplay.c b/src/egl/main/egldisplay.c index db90b2b2dc7..ddbcbf0061d 100644 --- a/src/egl/main/egldisplay.c +++ b/src/egl/main/egldisplay.c @@ -442,8 +442,7 @@ void _eglGetResource(_EGLResource *res) { assert(res && res->RefCount > 0); - /* hopefully a resource is always manipulated with its display locked */ - res->RefCount++; + p_atomic_inc(&res->RefCount); } @@ -454,8 +453,7 @@ EGLBoolean _eglPutResource(_EGLResource *res) { assert(res && res->RefCount > 0); - res->RefCount--; - return (!res->RefCount); + return p_atomic_dec_zero(&res->RefCount); }