• Home
  • Raw
  • Download

Lines Matching refs:fences

61 	pipe_mutex_lock(rscreen->fences.mutex);  in r600_create_fence()
63 if (!rscreen->fences.bo) { in r600_create_fence()
65 rscreen->fences.bo = si_resource_create_custom(&rscreen->screen, in r600_create_fence()
68 if (!rscreen->fences.bo) { in r600_create_fence()
72 rscreen->fences.data = rctx->ws->buffer_map(rscreen->fences.bo->cs_buf, in r600_create_fence()
77 if (!LIST_IS_EMPTY(&rscreen->fences.pool)) { in r600_create_fence()
81 LIST_FOR_EACH_ENTRY(entry, &rscreen->fences.pool, head) { in r600_create_fence()
82 if (rscreen->fences.data[entry->index] != 0) { in r600_create_fence()
95 if ((rscreen->fences.next_index + 1) >= 1024) { in r600_create_fence()
100 index = rscreen->fences.next_index++; in r600_create_fence()
108 LIST_ADD(&block->head, &rscreen->fences.blocks); in r600_create_fence()
110 block = LIST_ENTRY(struct r600_fence_block, rscreen->fences.blocks.next, head); in r600_create_fence()
113 fence = &block->fences[index % FENCE_BLOCK_SIZE]; in r600_create_fence()
119 rscreen->fences.data[fence->index] = 0; in r600_create_fence()
120 si_context_emit_fence(rctx, rscreen->fences.bo, fence->index, 1); in r600_create_fence()
129 pipe_mutex_unlock(rscreen->fences.mutex); in r600_create_fence()
501 if (rscreen->fences.bo) { in r600_destroy_screen()
504 LIST_FOR_EACH_ENTRY_SAFE(entry, tmp, &rscreen->fences.blocks, head) { in r600_destroy_screen()
509 rscreen->ws->buffer_unmap(rscreen->fences.bo->cs_buf); in r600_destroy_screen()
510 si_resource_reference(&rscreen->fences.bo, NULL); in r600_destroy_screen()
512 pipe_mutex_destroy(rscreen->fences.mutex); in r600_destroy_screen()
527 pipe_mutex_lock(rscreen->fences.mutex); in r600_fence_reference()
529 LIST_ADDTAIL(&(*oldf)->head, &rscreen->fences.pool); in r600_fence_reference()
530 pipe_mutex_unlock(rscreen->fences.mutex); in r600_fence_reference()
542 return rscreen->fences.data[rfence->index]; in r600_fence_signalled()
561 while (rscreen->fences.data[rfence->index] == 0) { in r600_fence_finish()
586 return rscreen->fences.data[rfence->index] != 0; in r600_fence_finish()
707 rscreen->fences.bo = NULL; in radeonsi_screen_create()
708 rscreen->fences.data = NULL; in radeonsi_screen_create()
709 rscreen->fences.next_index = 0; in radeonsi_screen_create()
710 LIST_INITHEAD(&rscreen->fences.pool); in radeonsi_screen_create()
711 LIST_INITHEAD(&rscreen->fences.blocks); in radeonsi_screen_create()
712 pipe_mutex_init(rscreen->fences.mutex); in radeonsi_screen_create()