fix: ensure queue completion on destruction

Related-To: HSD-22021388724

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
Bartosz Dunajski
2025-08-06 17:01:47 +00:00
committed by Compute-Runtime-Automation
parent 1d45562fe3
commit 21076b57df
4 changed files with 41 additions and 1 deletions

View File

@@ -449,6 +449,10 @@ void CommandQueue::releaseMainCopyEngine() {
}
}
bool CommandQueue::waitOnDestructionNeeded() const {
return (device && (getRefApiCount() == 1) && (taskCount < CompletionStamp::notReady));
}
Device &CommandQueue::getDevice() const noexcept {
return device->getDevice();
}

View File

@@ -433,6 +433,8 @@ class CommandQueue : public BaseObject<_cl_command_queue> {
return retVal;
}
bool waitOnDestructionNeeded() const;
protected:
void *enqueueReadMemObjForMap(TransferProperties &transferProperties, EventsRequest &eventsRequest, cl_int &errcodeRet);
cl_int enqueueWriteMemObjForUnmap(MemObj *memObj, void *mappedPtr, EventsRequest &eventsRequest);