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

Change-Id: Ib46bfc4e060a60fb14aa782688d35b34534cca65
이 커밋은 다음에 포함됨:
Jaydeep Patel 작성하고 Jaydeepkumar Patel가 2022-11-04 00:34:14 -04:00를 커밋함
1 부모 55d085ca8c
커밋 e7a34f9efe
1 파일이 변경됨
+12 -1
+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;
}