SWDEV-470008 - Fix AMD_SERIALIZE_KERNEL

- awaitCompletion code may do a endless spin wait for cases where we
dont submit a handler. One such case can be the hipExt*Launch API which
takes a stop event. In that case we optimize the stop event by attaching
a signal to the dispatch packet but dont submit a handler when we attach
the signal. That means if awaitCompletion() is called after that, we
would keep on waiting on command status on the host rather than simply
checking signal value.

Change-Id: Ie8bf175aeefa3f9e4299b1ae7ae9108dad67e283


[ROCm/clr commit: 561fb8a459]
Este commit está contenido en:
Saleel Kudchadker
2024-06-27 01:09:31 +00:00
padre 58d27f6f47
commit bbef85714e
+1 -1
Ver fichero
@@ -388,7 +388,7 @@ void Command::enqueue() {
if ((queue_->device().settings().waitCommand_ && (type_ != 0)) ||
((commandWaitBits_ & 0x2) != 0)) {
awaitCompletion();
queue_->finish();
}
// set this queue status is active