Lines Matching defs:fine
51 struct si_fine_fence fine;
210 si_resource_reference(&(*sdst)->fine.buf, NULL);
241 static bool si_fine_fence_signaled(struct radeon_winsys *rws, const struct si_fine_fence *fine)
244 rws->buffer_map(rws, fine->buf->buf, NULL, PIPE_MAP_READ | PIPE_MAP_UNSYNCHRONIZED);
248 uint32_t *fence = (uint32_t *)(map + fine->offset);
252 static void si_fine_fence_set(struct si_context *ctx, struct si_fine_fence *fine, unsigned flags)
259 u_upload_alloc(ctx->cached_gtt_allocator, 0, 4, 4, &fine->offset,
260 (struct pipe_resource **)&fine->buf, (void **)&fence_ptr);
261 if (!fine->buf)
269 si_cp_write_data(ctx, fine->buf, fine->offset, 4, V_370_MEM, V_370_PFP, &value);
271 uint64_t fence_va = fine->buf->gpu_address + fine->offset;
273 radeon_add_to_buffer_list(ctx, &ctx->gfx_cs, fine->buf, RADEON_USAGE_WRITE | RADEON_PRIO_QUERY);
325 if (sfence->fine.buf && si_fine_fence_signaled(rws, &sfence->fine)) {
327 si_resource_reference(&sfence->fine.buf, NULL);
374 * the fine-grained fence have completed. */
375 if (sfence->fine.buf && si_fine_fence_signaled(rws, &sfence->fine))
463 struct si_fine_fence fine = {};
477 si_fine_fence_set(sctx, &fine, flags);
532 new_fence->fine = fine;
533 fine.buf = NULL;
540 assert(!fine.buf);
593 * dependency is signalled. That's fine. Flushing is very expensive