fix: set runalone mode in xe only for render and compute

Runalone mode in XE is supported only for RENDER and COMPUTE.

Related-To: NEO-9139

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
This commit is contained in:
Jitendra Sharma
2024-02-01 12:47:02 +00:00
committed by Compute-Runtime-Automation
parent 2cad595a0d
commit 00b1f1c5b5
2 changed files with 41 additions and 6 deletions

View File

@@ -1225,13 +1225,15 @@ int IoctlHelperXe::createDrmContext(Drm &drm, OsContextLinux &osContext, uint32_
struct drm_xe_ext_set_property ext {};
auto &gfxCoreHelper = drm.getRootDeviceEnvironment().getHelper<GfxCoreHelper>();
if (gfxCoreHelper.isRunaloneModeRequired(drm.getRootDeviceEnvironment().executionEnvironment.getDebuggingMode())) {
ext.base.next_extension = 0;
ext.base.name = DRM_XE_EXEC_QUEUE_EXTENSION_SET_PROPERTY;
ext.property = getRunaloneExtProperty();
ext.value = 1;
if ((engine[0].engine_class == DRM_XE_ENGINE_CLASS_RENDER) || (engine[0].engine_class == DRM_XE_ENGINE_CLASS_COMPUTE)) {
if (gfxCoreHelper.isRunaloneModeRequired(drm.getRootDeviceEnvironment().executionEnvironment.getDebuggingMode())) {
ext.base.next_extension = 0;
ext.base.name = DRM_XE_EXEC_QUEUE_EXTENSION_SET_PROPERTY;
ext.property = getRunaloneExtProperty();
ext.value = 1;
create.extensions = castToUint64(&ext);
create.extensions = castToUint64(&ext);
}
}
int ret = IoctlHelper::ioctl(DrmIoctl::gemContextCreateExt, &create);