Lines Matching full:fence
42 struct r600_fence *fence = NULL;
52 R600_ERR("r600: failed to create bo for fence objects\n");
63 /* Try to find a freed fence that has been signalled */
67 fence = entry;
73 if (!fence) {
74 /* Allocate a new fence */
96 fence = &block->fences[index % FENCE_BLOCK_SIZE];
97 fence->index = index;
100 pipe_reference_init(&fence->reference, 1);
102 rscreen->fences.data[fence->index] = 0;
103 r600_context_emit_fence(rctx, rscreen->fences.bo, fence->index, 1);
106 fence->sleep_bo = (struct r600_resource*)
109 /* Add the fence as a dummy relocation. */
110 r600_context_bo_reloc(rctx, fence->sleep_bo, RADEON_USAGE_READWRITE);
114 return fence;
118 void r600_flush(struct pipe_context *ctx, struct pipe_fence_handle **fence,
122 struct r600_fence **rfence = (struct r600_fence**)fence;
145 struct pipe_fence_handle **fence)
147 r600_flush(ctx, fence, 0);
706 struct pipe_fence_handle *fence)
709 struct r600_fence *newf = (struct r600_fence*)fence;
719 *ptr = fence;
723 struct pipe_fence_handle *fence)
726 struct r600_fence *rfence = (struct r600_fence*)fence;
732 struct pipe_fence_handle *fence,
736 struct r600_fence *rfence = (struct r600_fence*)fence;
754 /* The dummy BO will be busy until the CS including the fence has completed, or