[Intel-gfx] [PATCH libdrm 15/15] intel: Support passing of explicit fencing from execbuf

Chris Wilson chris at chris-wilson.co.uk
Sat Oct 1 08:36:20 UTC 2016


On Fri, Sep 30, 2016 at 01:53:06PM -0700, Rafael Antognolli wrote:
> Hi Chris,
> 
> On Thu, Aug 25, 2016 at 10:08:33AM +0100, Chris Wilson wrote:
> > Allow the caller to pass in an fd to an array of fences to control
> > serialisation of the execbuf in the kernel and on the GPU, and in return
> > allow creation of a fence fd for signaling the completion (and flushing)
> > of the batch. When the returned fence is signaled, all writes to the
> > buffers inside the batch will be complete and coherent from the cpu, or
> > other consumers. The return fence is a sync_file object and can be
> > passed to other users (such as atomic modesetting, or other drivers).
> > 
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > ---
> >  intel/intel_bufmgr.h     |  6 ++++++
> >  intel/intel_bufmgr_gem.c | 38 +++++++++++++++++++++++++++++++++-----
> >  2 files changed, 39 insertions(+), 5 deletions(-)
> > 
> > diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c
> > index 259543f..02ec757 100644
> > --- a/intel/intel_bufmgr_gem.c
> > +++ b/intel/intel_bufmgr_gem.c
> > @@ -2412,13 +2419,20 @@ do_exec2(drm_intel_bo *bo, int used, drm_intel_context *ctx,
> >  		i915_execbuffer2_set_context_id(execbuf, 0);
> >  	else
> >  		i915_execbuffer2_set_context_id(execbuf, ctx->ctx_id);
> > -	execbuf.rsvd2 = 0;
> > +	if (in_fence != -1) {
> > +		execbuf.rsvd2 = in_fence;
> > +		flags |= I915_EXEC_FENCE_IN;
> 
> The flags are being set here, but not really used anywhere.
> Maybe you meant something like:
> 
> execbuf.flags |= I915_EXEC_FENCE_IN;

Oops.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list