fix: unregister CSR client on OCL sync points

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
This commit is contained in:
Dunajski, Bartosz
2023-08-11 10:22:19 +00:00
committed by Compute-Runtime-Automation
parent 998e0a5833
commit 3cf1f5c462
9 changed files with 111 additions and 41 deletions

View File

@@ -377,7 +377,7 @@ class CommandQueue : public BaseObject<_cl_command_queue> {
const std::array<CopyEngineState, bcsInfoMaskSize> &peekActiveBcsStates() const { return bcsStates; }
void tryReleaseDeferredNodes(bool checkEventsState);
void handlePostCompletionOperations(bool checkQueueCompletion);
protected:
void *enqueueReadMemObjForMap(TransferProperties &transferProperties, EventsRequest &eventsRequest, cl_int &errcodeRet);
@@ -414,6 +414,14 @@ class CommandQueue : public BaseObject<_cl_command_queue> {
virtual bool obtainTimestampPacketForCacheFlush(bool isCacheFlushRequired) const = 0;
void assignDataToOverwrittenBcsNode(TagNodeBase *node);
void registerGpgpuCsrClient();
void registerBcsCsrClient(CommandStreamReceiver &bcsCsr);
void unregisterGpgpuCsrClient();
void unregisterBcsCsrClient(CommandStreamReceiver &bcsCsr);
void unregisterGpgpuAndBcsCsrClients();
Context *context = nullptr;
ClDevice *device = nullptr;
mutable EngineControl *gpgpuEngine = nullptr;
@@ -463,6 +471,7 @@ class CommandQueue : public BaseObject<_cl_command_queue> {
bool stallingCommandsOnNextFlushRequired = false;
bool dcFlushRequiredOnStallingCommandsOnNextFlush = false;
bool splitBarrierRequired = false;
bool gpgpuCsrClientRegistered = false;
};
template <typename PtrType>