mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 16:08:04 +02:00
st/egl: Use resource reference count for egl_g3d_sync.
This commit is contained in:
parent
0d43cbed2f
commit
6c13fdf60e
2 changed files with 2 additions and 5 deletions
|
|
@ -106,8 +106,6 @@ _EGL_DRIVER_TYPECAST(egl_g3d_image, _EGLImage, obj)
|
|||
struct egl_g3d_sync {
|
||||
_EGLSync base;
|
||||
|
||||
int refs;
|
||||
|
||||
/* the mutex protects only the condvar, not the struct */
|
||||
pipe_mutex mutex;
|
||||
pipe_condvar condvar;
|
||||
|
|
|
|||
|
|
@ -128,13 +128,13 @@ egl_g3d_wait_fence_sync(struct egl_g3d_sync *gsync, EGLTimeKHR timeout)
|
|||
static INLINE void
|
||||
egl_g3d_ref_sync(struct egl_g3d_sync *gsync)
|
||||
{
|
||||
p_atomic_inc(&gsync->refs);
|
||||
_eglGetSync(&gsync->base);
|
||||
}
|
||||
|
||||
static INLINE void
|
||||
egl_g3d_unref_sync(struct egl_g3d_sync *gsync)
|
||||
{
|
||||
if (p_atomic_dec_zero(&gsync->refs)) {
|
||||
if (_eglPutSync(&gsync->base)) {
|
||||
pipe_condvar_destroy(gsync->condvar);
|
||||
pipe_mutex_destroy(gsync->mutex);
|
||||
|
||||
|
|
@ -194,7 +194,6 @@ egl_g3d_create_sync(_EGLDriver *drv, _EGLDisplay *dpy,
|
|||
|
||||
pipe_mutex_init(gsync->mutex);
|
||||
pipe_condvar_init(gsync->condvar);
|
||||
p_atomic_set(&gsync->refs, 1);
|
||||
|
||||
return &gsync->base;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue