Correct getting engines from device with sub devices

use first sub device to take engine for low priority or blit operations

Related-To: NEO-3691

Change-Id: I29737df06cc764a10a22a41017ab827cde7960b8
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2019-10-15 16:17:12 +02:00
committed by sys_ocldev
parent dbad1d7081
commit 37bd67e791
4 changed files with 49 additions and 2 deletions

View File

@@ -72,7 +72,7 @@ CommandQueue::CommandQueue(Context *context, Device *deviceId, const cl_queue_pr
timestampPacketContainer = std::make_unique<TimestampPacketContainer>();
}
if (device->getExecutionEnvironment()->getHardwareInfo()->capabilityTable.blitterOperationsSupported) {
bcsEngine = &device->getEngine(aub_stream::EngineType::ENGINE_BCS, false);
bcsEngine = &device->getDeviceById(0)->getEngine(aub_stream::EngineType::ENGINE_BCS, false);
}
}

View File

@@ -38,7 +38,7 @@ class CommandQueueHw : public CommandQueue {
if (clPriority & static_cast<cl_queue_priority_khr>(CL_QUEUE_PRIORITY_LOW_KHR)) {
priority = QueuePriority::LOW;
this->gpgpuEngine = &device->getEngine(HwHelperHw<GfxFamily>::lowPriorityEngineType, true);
this->gpgpuEngine = &device->getDeviceById(0)->getEngine(HwHelperHw<GfxFamily>::lowPriorityEngineType, true);
} else if (clPriority & static_cast<cl_queue_priority_khr>(CL_QUEUE_PRIORITY_MED_KHR)) {
priority = QueuePriority::MEDIUM;
} else if (clPriority & static_cast<cl_queue_priority_khr>(CL_QUEUE_PRIORITY_HIGH_KHR)) {