Просмотр исходного кода

winsys/svga: use c11 thread types/functions

Gallium no longer has wrappers for mutexes and condition variables.

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
tags/17.1-branchpoint
Brian Paul 8 лет назад
Родитель
Сommit
e000b17f87

+ 7
- 7
src/gallium/winsys/svga/drm/vmw_context.c Просмотреть файл

@@ -196,17 +196,17 @@ vmw_swc_flush(struct svga_winsys_context *swc,

ret = pb_validate_validate(vswc->validate);
if (ret != PIPE_OK) {
pipe_mutex_lock(vws->cs_mutex);
mtx_lock(&vws->cs_mutex);
while (ret == PIPE_ERROR_RETRY) {
ret = pb_validate_validate(vswc->validate);
if (ret == PIPE_ERROR_RETRY) {
pipe_condvar_wait(vws->cs_cond, vws->cs_mutex);
cnd_wait(&vws->cs_cond, &vws->cs_mutex);
}
}
if (ret != PIPE_OK) {
pipe_condvar_broadcast(vws->cs_cond);
cnd_broadcast(&vws->cs_cond);
}
pipe_mutex_unlock(vws->cs_mutex);
mtx_unlock(&vws->cs_mutex);
}

assert(ret == PIPE_OK);
@@ -243,9 +243,9 @@ vmw_swc_flush(struct svga_winsys_context *swc,
&fence);

pb_validate_fence(vswc->validate, fence);
pipe_mutex_lock(vws->cs_mutex);
pipe_condvar_broadcast(vws->cs_cond);
pipe_mutex_unlock(vws->cs_mutex);
mtx_lock(&vws->cs_mutex);
cnd_broadcast(&vws->cs_cond);
mtx_unlock(&vws->cs_mutex);
}

vswc->command.used = 0;

+ 4
- 4
src/gallium/winsys/svga/drm/vmw_screen.c Просмотреть файл

@@ -109,8 +109,8 @@ vmw_winsys_create( int fd )
if (util_hash_table_set(dev_hash, &vws->device, vws) != PIPE_OK)
goto out_no_hash_insert;

pipe_condvar_init(vws->cs_cond);
pipe_mutex_init(vws->cs_mutex);
cnd_init(&vws->cs_cond);
mtx_init(&vws->cs_mutex, mtx_plain);

return vws;
out_no_hash_insert:
@@ -136,8 +136,8 @@ vmw_winsys_destroy(struct vmw_winsys_screen *vws)
vws->fence_ops->destroy(vws->fence_ops);
vmw_ioctl_cleanup(vws);
close(vws->ioctl.drm_fd);
pipe_mutex_destroy(vws->cs_mutex);
pipe_condvar_destroy(vws->cs_cond);
mtx_destroy(&vws->cs_mutex);
cnd_destroy(&vws->cs_cond);
FREE(vws);
}
}

+ 2
- 2
src/gallium/winsys/svga/drm/vmw_screen.h Просмотреть файл

@@ -100,8 +100,8 @@ struct vmw_winsys_screen
dev_t device;
int open_count;

pipe_condvar cs_cond;
pipe_mutex cs_mutex;
cnd_t cs_cond;
mtx_t cs_mutex;
};



Загрузка…
Отмена
Сохранить