• Home
  • Raw
  • Download

Lines Matching refs:sfence

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