Lines Matching defs:sctx
188 static void si_add_fence_dependency(struct si_context *sctx, struct pipe_fence_handle *fence)
190 struct radeon_winsys *ws = sctx->ws;
192 ws->cs_add_fence_dependency(&sctx->gfx_cs, fence, 0);
195 static void si_add_syncobj_signal(struct si_context *sctx, struct pipe_fence_handle *fence)
197 sctx->ws->cs_add_syncobj_signal(&sctx->gfx_cs, fence);
287 struct si_context *sctx;
291 sctx = (struct si_context *)(ctx ? ctx : NULL);
332 if (sctx && sfence->gfx_unflushed.ctx == sctx &&
333 sfence->gfx_unflushed.ib_index == sctx->num_gfx_cs_flushes) {
356 si_flush_gfx_cs(sctx, (timeout ? 0 : PIPE_FLUSH_ASYNC) | RADEON_FLUSH_START_NEXT_GFX_IB_NOW,
459 struct si_context *sctx = (struct si_context *)ctx;
460 struct radeon_winsys *ws = sctx->ws;
467 si_flush_implicit_resources(sctx);
477 si_fine_fence_set(sctx, &fine, flags);
481 sctx->initial_gfx_cs_size = 0;
484 if (!radeon_emitted(&sctx->gfx_cs, sctx->initial_gfx_cs_size)) {
486 ws->fence_reference(&gfx_fence, sctx->last_gfx_fence);
488 ws->cs_sync_flush(&sctx->gfx_cs);
490 tc_driver_internal_flush_notify(sctx->tc);
499 gfx_fence = sctx->ws->cs_get_next_fence(&sctx->gfx_cs);
502 si_flush_gfx_cs(sctx, rflags, fence ? &gfx_fence : NULL);
528 new_fence->gfx_unflushed.ctx = sctx;
529 new_fence->gfx_unflushed.ib_index = sctx->num_gfx_cs_flushes;
543 ws->cs_sync_flush(&sctx->gfx_cs);
555 struct si_context *sctx = (struct si_context *)ctx;
561 si_add_syncobj_signal(sctx, sfence->gfx);
583 struct si_context *sctx = (struct si_context *)ctx;
589 if (sfence->gfx_unflushed.ctx && sfence->gfx_unflushed.ctx == sctx)
603 si_add_fence_dependency(sctx, sfence->gfx);