SWDEV-365048 - extra marker is required for HW event check, which is done before the callback is finished.

Change-Id: Ib46bfc4e060a60fb14aa782688d35b34534cca65
Этот коммит содержится в:
Jaydeep Patel
2022-11-02 14:46:18 +00:00
коммит произвёл Jaydeepkumar Patel
родитель 55d085ca8c
Коммит e7a34f9efe
+12 -1
Просмотреть файл
@@ -587,10 +587,21 @@ hipError_t streamCallback_common(hipStream_t stream, StreamCallback* cbo, void*
if (last_command != nullptr) {
last_command->release();
}
// Extra marker is required for HW event check, which is done before the callback is finished.
// Add the new barrier to stall the stream, until the callback is done
eventWaitList.clear();
eventWaitList.push_back(command);
amd::Command* block_command = new amd::Marker(*hostQueue, !kMarkerDisableFlush, eventWaitList);
if (block_command == nullptr) {
return hipErrorInvalidValue;
}
block_command->enqueue();
block_command->release();
// Release the callback marker
command->release();
// Notify the command queue about a possible waiter for the calback
command->notifyCmdQueue();
block_command->notifyCmdQueue();
return hipSuccess;
}