[igt-dev] [PATCH i-g-t 2/2] lib/intel_batchbuffer: Use COMPUTE instead RENDER engine for Xe on PVC

Zbigniew Kempczyński zbigniew.kempczynski at intel.com
Tue May 30 12:25:01 UTC 2023


On Tue, May 30, 2023 at 09:13:39AM +0200, Manszewski, Christoph wrote:
> Hi Zbigniew,
> 
> On 29.05.2023 18:54, Zbigniew Kempczyński wrote:
> > For gpgpu fill currently we select I915_EXEC_RENDER which is correct
> > as pipeline selection allows to submit compute job on it. However
> > newer platforms like PVC have no render engine so replacing to compute
> > engine is necessary. At the moment this is workaround - more rework
> > in intel-bb is necessary to better support both - i915 and xe.
> 
> [PATCH i-g-t v3] lib/intel_bb: Enable custom engine support for xe
> makes it possible to provide custom engines. Let me know what you think.

Still we're using intel_bb_exec(I915_EXEC_RENDER, ...) on gpgpu what
means we need to do conditionals there or introduce engine translation
layer in intel-bb. I'm going to convert current argument passing model
to designated initializers used in igt spin factory. But this doesn't
conflict your change which I'm going to review today.

--
Zbigniew

> 
> Christoph
> 
> 
> > 
> > Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> > Cc: Kamil Konieczny <kamil.konieczny at linux.intel.com>
> > ---
> >   lib/intel_batchbuffer.c | 5 ++++-
> >   1 file changed, 4 insertions(+), 1 deletion(-)
> > 
> > diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c
> > index 9f65536173..71f62973c8 100644
> > --- a/lib/intel_batchbuffer.c
> > +++ b/lib/intel_batchbuffer.c
> > @@ -2315,7 +2315,10 @@ __xe_bb_exec(struct intel_bb *ibb, uint64_t flags, bool sync)
> >   			inst.engine_class = DRM_XE_ENGINE_CLASS_VIDEO_DECODE;
> >   			break;
> >   		case I915_EXEC_RENDER:
> > -			inst.engine_class = DRM_XE_ENGINE_CLASS_RENDER;
> > +			if (IS_PONTEVECCHIO(xe_dev_id(ibb->fd)))
> > +				inst.engine_class = DRM_XE_ENGINE_CLASS_COMPUTE;
> > +			else
> > +				inst.engine_class = DRM_XE_ENGINE_CLASS_RENDER;
> >   			break;
> >   		case I915_EXEC_VEBOX:
> >   			inst.engine_class = DRM_XE_ENGINE_CLASS_VIDEO_ENHANCE;


More information about the igt-dev mailing list