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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user