diff --git a/opencl/source/command_queue/enqueue_svm.h b/opencl/source/command_queue/enqueue_svm.h index a2a30fe311..90daafc723 100644 --- a/opencl/source/command_queue/enqueue_svm.h +++ b/opencl/source/command_queue/enqueue_svm.h @@ -128,7 +128,10 @@ cl_int CommandQueueHw::enqueueSVMMap(cl_bool blockingMap, dc.direction = csrSelectionArgs.direction; MultiDispatchInfo dispatchInfo(dc); - const auto dispatchResult = dispatchBcsOrGpgpuEnqueue(dispatchInfo, surfaces, EBuiltInOps::copyBufferToBuffer, numEventsInWaitList, eventWaitList, event, blocking, csr); + const bool useStateless = forceStateless(svmData->size); + const bool useHeapless = this->getHeaplessModeEnabled(); + auto eBuiltInOps = EBuiltInOps::adjustBuiltinType(useStateless, useHeapless); + const auto dispatchResult = dispatchBcsOrGpgpuEnqueue(dispatchInfo, surfaces, eBuiltInOps, numEventsInWaitList, eventWaitList, event, blocking, csr); if (dispatchResult != CL_SUCCESS) { return dispatchResult; } @@ -216,7 +219,10 @@ cl_int CommandQueueHw::enqueueSVMUnmap(void *svmPtr, dc.direction = csrSelectionArgs.direction; MultiDispatchInfo dispatchInfo(dc); - const auto dispatchResult = dispatchBcsOrGpgpuEnqueue(dispatchInfo, surfaces, EBuiltInOps::copyBufferToBuffer, numEventsInWaitList, eventWaitList, event, false, csr); + const bool useStateless = forceStateless(svmData->size); + const bool useHeapless = this->getHeaplessModeEnabled(); + auto eBuiltInOps = EBuiltInOps::adjustBuiltinType(useStateless, useHeapless); + const auto dispatchResult = dispatchBcsOrGpgpuEnqueue(dispatchInfo, surfaces, eBuiltInOps, numEventsInWaitList, eventWaitList, event, false, csr); if (dispatchResult != CL_SUCCESS) { return dispatchResult; }