• Home
  • Raw
  • Download

Lines Matching refs:rfence

113 	struct si_multi_fence *rfence = (struct si_multi_fence *)fence;  in si_fence_server_sync()  local
115 util_queue_fence_wait(&rfence->ready); in si_fence_server_sync()
118 if (rfence->gfx_unflushed.ctx && in si_fence_server_sync()
119 rfence->gfx_unflushed.ctx == rctx) in si_fence_server_sync()
127 if (rfence->sdma) in si_fence_server_sync()
128 si_add_fence_dependency(rctx, rfence->sdma); in si_fence_server_sync()
129 if (rfence->gfx) in si_fence_server_sync()
130 si_add_fence_dependency(rctx, rfence->gfx); in si_fence_server_sync()
190 struct si_multi_fence *rfence = (struct si_multi_fence *)fence; in si_fence_finish() local
193 if (!util_queue_fence_is_signalled(&rfence->ready)) { in si_fence_finish()
194 if (rfence->tc_token) { in si_fence_finish()
203 threaded_context_flush(ctx, rfence->tc_token, in si_fence_finish()
211 util_queue_fence_wait(&rfence->ready); in si_fence_finish()
213 if (!util_queue_fence_wait_timeout(&rfence->ready, abs_timeout)) in si_fence_finish()
223 if (rfence->sdma) { in si_fence_finish()
224 if (!rws->fence_wait(rws, rfence->sdma, timeout)) in si_fence_finish()
234 if (!rfence->gfx) in si_fence_finish()
237 if (rfence->fine.buf && in si_fence_finish()
238 si_fine_fence_signaled(rws, &rfence->fine)) { in si_fence_finish()
239 rws->fence_reference(&rfence->gfx, NULL); in si_fence_finish()
240 r600_resource_reference(&rfence->fine.buf, NULL); in si_fence_finish()
245 if (ctx && rfence->gfx_unflushed.ctx) { in si_fence_finish()
249 if (rfence->gfx_unflushed.ctx == &sctx->b && in si_fence_finish()
250 rfence->gfx_unflushed.ib_index == sctx->b.num_gfx_cs_flushes) { in si_fence_finish()
275 rfence->gfx_unflushed.ctx = NULL; in si_fence_finish()
288 if (rws->fence_wait(rws, rfence->gfx, timeout)) in si_fence_finish()
293 if (rfence->fine.buf && in si_fence_finish()
294 si_fine_fence_signaled(rws, &rfence->fine)) in si_fence_finish()
305 struct si_multi_fence *rfence; in si_create_fence_fd() local
312 rfence = si_create_multi_fence(); in si_create_fence_fd()
313 if (!rfence) in si_create_fence_fd()
316 rfence->gfx = ws->fence_import_sync_file(ws, fd); in si_create_fence_fd()
317 if (!rfence->gfx) { in si_create_fence_fd()
318 FREE(rfence); in si_create_fence_fd()
322 *pfence = (struct pipe_fence_handle*)rfence; in si_create_fence_fd()
330 struct si_multi_fence *rfence = (struct si_multi_fence *)fence; in si_fence_get_fd() local
336 util_queue_fence_wait(&rfence->ready); in si_fence_get_fd()
339 assert(!rfence->gfx_unflushed.ctx); in si_fence_get_fd()
340 if (rfence->gfx_unflushed.ctx) in si_fence_get_fd()
343 if (rfence->sdma) { in si_fence_get_fd()
344 sdma_fd = ws->fence_export_sync_file(ws, rfence->sdma); in si_fence_get_fd()
348 if (rfence->gfx) { in si_fence_get_fd()
349 gfx_fd = ws->fence_export_sync_file(ws, rfence->gfx); in si_fence_get_fd()