Lines Matching refs:sfence

286    struct si_fence *sfence = (struct si_fence *)fence;
293 if (!util_queue_fence_is_signalled(&sfence->ready)) {
294 if (sfence->tc_token) {
303 threaded_context_flush(ctx, sfence->tc_token, timeout == 0);
310 util_queue_fence_wait(&sfence->ready);
312 if (!util_queue_fence_wait_timeout(&sfence->ready, abs_timeout))
322 if (!sfence->gfx)
325 if (sfence->fine.buf && si_fine_fence_signaled(rws, &sfence->fine)) {
326 rws->fence_reference(&sfence->gfx, NULL);
327 si_resource_reference(&sfence->fine.buf, NULL);
332 if (sctx && sfence->gfx_unflushed.ctx == sctx &&
333 sfence->gfx_unflushed.ib_index == sctx->num_gfx_cs_flushes) {
358 sfence->gfx_unflushed.ctx = NULL;
370 if (rws->fence_wait(rws, sfence->gfx, timeout))
375 if (sfence->fine.buf && si_fine_fence_signaled(rws, &sfence->fine))
386 struct si_fence *sfence;
390 sfence = si_create_multi_fence();
391 if (!sfence)
399 sfence->gfx = ws->fence_import_sync_file(ws, fd);
406 sfence->gfx = ws->fence_import_syncobj(ws, fd);
414 if (!sfence->gfx) {
415 FREE(sfence);
419 *pfence = (struct pipe_fence_handle *)sfence;
426 struct si_fence *sfence = (struct si_fence *)fence;
432 util_queue_fence_wait(&sfence->ready);
435 assert(!sfence->gfx_unflushed.ctx);
436 if (sfence->gfx_unflushed.ctx)
439 if (sfence->gfx) {
440 gfx_fd = ws->fence_export_sync_file(ws, sfence->gfx);
556 struct si_fence *sfence = (struct si_fence *)fence;
558 assert(sfence->gfx);
560 if (sfence->gfx)
561 si_add_syncobj_signal(sctx, sfence->gfx);
584 struct si_fence *sfence = (struct si_fence *)fence;
586 util_queue_fence_wait(&sfence->ready);
589 if (sfence->gfx_unflushed.ctx && sfence->gfx_unflushed.ctx == sctx)
602 if (sfence->gfx)
603 si_add_fence_dependency(sctx, sfence->gfx);