P4 to Git Change 2000368 by gandryey@gera-hip-lnx on 2019/09/18 11:16:59

SWDEV-86035 - Swtich PAL to the new interface 533
	- Correct the logic for compute queues detection. Linux doesn't support realtime queues with CU reservation.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#163 edit
This commit is contained in:
foreman
2019-09-18 11:35:19 -04:00
parent 2b6ba8d35b
commit 29a33d4eb7
+18 -20
View File
@@ -909,29 +909,27 @@ bool Device::create(Pal::IDevice* device) {
}
// Find the number of available engines
if (properties().engineProperties[Pal::EngineTypeCompute].maxNumDedicatedCu > 0) {
for (uint i = 0; i < properties().engineProperties[Pal::EngineTypeCompute].engineCount;
++i) {
if (properties().engineProperties[Pal::EngineTypeCompute].capabilities[i].flags.exclusive) {
if (properties()
.engineProperties[Pal::EngineTypeCompute]
.capabilities[i]
.queuePrioritySupport == Pal::SupportQueuePriorityRealtime) {
if (exclusiveComputeEnginesId_.find(ExclusiveQueueType::RealTime0) !=
for (uint i = 0; i < properties().engineProperties[Pal::EngineTypeCompute].engineCount; ++i) {
if (properties().engineProperties[Pal::EngineTypeCompute].capabilities[i].flags.exclusive) {
if ((properties()
.engineProperties[Pal::EngineTypeCompute]
.capabilities[i]
.queuePrioritySupport == Pal::SupportQueuePriorityRealtime) &&
(properties().engineProperties[Pal::EngineTypeCompute].maxNumDedicatedCu > 0)) {
if (exclusiveComputeEnginesId_.find(ExclusiveQueueType::RealTime0) !=
exclusiveComputeEnginesId_.end()) {
exclusiveComputeEnginesId_.insert({ExclusiveQueueType::RealTime1, i});
} else {
exclusiveComputeEnginesId_.insert({ExclusiveQueueType::RealTime0, i});
}
} else if (properties()
.engineProperties[Pal::EngineTypeCompute]
.capabilities[i]
.queuePrioritySupport == Pal::SupportQueuePriorityMedium) {
exclusiveComputeEnginesId_.insert({ExclusiveQueueType::Medium, i});
exclusiveComputeEnginesId_.insert({ExclusiveQueueType::RealTime1, i});
} else {
exclusiveComputeEnginesId_.insert({ExclusiveQueueType::RealTime0, i});
}
} else {
computeEnginesId_.push_back(i);
} else if (properties()
.engineProperties[Pal::EngineTypeCompute]
.capabilities[i]
.queuePrioritySupport == Pal::SupportQueuePriorityMedium) {
exclusiveComputeEnginesId_.insert({ExclusiveQueueType::Medium, i});
}
} else {
computeEnginesId_.push_back(i);
}
}
numDmaEngines_ = properties().engineProperties[Pal::EngineTypeDma].engineCount;