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); }