Lines Matching full:fence
59 struct r600_fence *fence = NULL;
69 R600_ERR("r600: failed to create bo for fence objects\n");
80 /* Try to find a freed fence that has been signalled */
84 fence = entry;
90 if (!fence) {
91 /* Allocate a new fence */
113 fence = &block->fences[index % FENCE_BLOCK_SIZE];
114 fence->index = index;
117 pipe_reference_init(&fence->reference, 1);
119 rscreen->fences.data[fence->index] = 0;
120 si_context_emit_fence(rctx, rscreen->fences.bo, fence->index, 1);
123 fence->sleep_bo = si_resource_create_custom(&rctx->screen->screen, PIPE_USAGE_STAGING, 1);
125 /* Add the fence as a dummy relocation. */
126 r600_context_bo_reloc(rctx, fence->sleep_bo, RADEON_USAGE_READWRITE);
130 return fence;
134 void radeonsi_flush(struct pipe_context *ctx, struct pipe_fence_handle **fence,
138 struct r600_fence **rfence = (struct r600_fence**)fence;
161 struct pipe_fence_handle **fence)
163 radeonsi_flush(ctx, fence, 0);
520 struct pipe_fence_handle *fence)
523 struct r600_fence *newf = (struct r600_fence*)fence;
533 *ptr = fence;
537 struct pipe_fence_handle *fence)
540 struct r600_fence *rfence = (struct r600_fence*)fence;
546 struct pipe_fence_handle *fence,
550 struct r600_fence *rfence = (struct r600_fence*)fence;
568 /* The dummy BO will be busy until the CS including the fence has completed, or