fix: pass rootDevice when creating secondary contexts

- fix initialization of gfxCoreHelper in drm and wddm

Related-To: NEO-7824, NEO-8171

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
Mateusz Hoppe
2025-03-17 11:54:26 +00:00
committed by Compute-Runtime-Automation
parent a5ee3b640b
commit 9d052cd8ee
5 changed files with 33 additions and 1 deletions

View File

@@ -489,6 +489,8 @@ bool Device::createEngine(EngineTypeUsage engineTypeUsage) {
osContext->setIsPrimaryEngine(isPrimaryEngine);
osContext->setIsDefaultEngine(isDefaultEngine);
DEBUG_BREAK_IF(getDeviceBitfield().count() > 1 && !osContext->isRootDevice());
commandStreamReceiver->setupContext(*osContext);
if (osContext->isImmediateContextInitializationEnabled(isDefaultEngine)) {
@@ -562,13 +564,15 @@ bool Device::createSecondaryEngine(CommandStreamReceiver *primaryCsr, EngineType
return false;
}
EngineDescriptor engineDescriptor(engineTypeUsage, getDeviceBitfield(), preemptionMode, false);
EngineDescriptor engineDescriptor(engineTypeUsage, getDeviceBitfield(), preemptionMode, primaryCsr->getOsContext().isRootDevice());
auto osContext = executionEnvironment->memoryManager->createAndRegisterSecondaryOsContext(&primaryCsr->getOsContext(), commandStreamReceiver.get(), engineDescriptor);
osContext->incRefInternal();
commandStreamReceiver->setupContext(*osContext);
commandStreamReceiver->setPrimaryCsr(primaryCsr);
DEBUG_BREAK_IF(getDeviceBitfield().count() > 1 && !osContext->isRootDevice());
EngineControl engine{commandStreamReceiver.get(), osContext};
secondaryEngines[engineTypeUsage.first].engines.push_back(engine);

View File

@@ -468,6 +468,7 @@ int Drm::setupHardwareInfo(const DeviceDescriptor *device, bool setupFeatureTabl
rootDeviceEnvironment.initProductHelper();
rootDeviceEnvironment.initGfxCoreHelper();
rootDeviceEnvironment.initializeGfxCoreHelperFromProductHelper();
rootDeviceEnvironment.initApiGfxCoreHelper();
rootDeviceEnvironment.initCompilerProductHelper();
rootDeviceEnvironment.initAilConfigurationHelper();

View File

@@ -116,6 +116,7 @@ bool Wddm::init() {
productHelper.adjustPlatformForProductFamily(hardwareInfo);
rootDeviceEnvironment.initApiGfxCoreHelper();
rootDeviceEnvironment.initGfxCoreHelper();
rootDeviceEnvironment.initializeGfxCoreHelperFromProductHelper();
rootDeviceEnvironment.initializeGfxCoreHelperFromHwInfo();
rootDeviceEnvironment.initAilConfigurationHelper();
if (false == rootDeviceEnvironment.initAilConfiguration()) {