[Intel-gfx] [PATCH 15/18] drm/i915/ringbuffer: Specialise SNB+ request emission for semaphores

Joonas Lahtinen joonas.lahtinen at linux.intel.com
Fri Jul 22 09:42:25 UTC 2016


On to, 2016-07-21 at 15:10 +0100, Chris Wilson wrote:
> On Thu, Jul 21, 2016 at 04:55:00PM +0300, Joonas Lahtinen wrote:
> > 
> > On ke, 2016-07-20 at 14:12 +0100, Chris Wilson wrote:
> > > +	engine->emit_request = gen6_sema_emit_request;
> > > +
> > >  	if (INTEL_GEN(dev_priv) >= 8) {
> > >  		u64 offset = i915_gem_obj_ggtt_offset(dev_priv->semaphore_obj);
> > >  
> > > @@ -2789,8 +2789,6 @@ static void intel_ring_default_vfuncs(struct drm_i915_private *dev_priv,
> > >  	engine->init_hw = init_ring_common;
> > >  
> > >  	engine->emit_request = i9xx_emit_request;
> > > -	if (INTEL_GEN(dev_priv) >= 6)
> > > -		engine->emit_request = gen6_emit_request;
> > Not sure if I would prefer the assignment here still. If overrides
> > happen from all around the codebase, it'll be harder to come up with
> > what are the possible values for a vfunc, right?
> It's definitely not a default function any more though. It needs to be
> conditional on the semaphore setup. We could move the init_semaphores
> earlier, and then do
> 
> engine->emit_request = i9xx_emit_request;
> if (i915.semaphores)
> 	engine->emit_request = gen6_sema_emit_request;
> 
> here?

Yeah, that's pretty much what I was after. 

Regards, Joonas

> -Chris
> 
-- 
Joonas Lahtinen
Open Source Technology Center
Intel Corporation


More information about the Intel-gfx mailing list