[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
Mon May 29 16:54:17 UTC 2023


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.

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;
-- 
2.34.1



More information about the igt-dev mailing list