diff --git a/opencl/source/command_queue/enqueue_common.h b/opencl/source/command_queue/enqueue_common.h index 6ee0ade950..512982a0bf 100644 --- a/opencl/source/command_queue/enqueue_common.h +++ b/opencl/source/command_queue/enqueue_common.h @@ -255,8 +255,7 @@ cl_int CommandQueueHw::enqueueHandler(Surface **surfacesForResidency, } CompletionStamp completionStamp = {CompletionStamp::notReady, taskLevel, 0}; - bool svmMapNeedsDcFlush = commandType == CL_COMMAND_SVM_MAP && computeCommandStreamReceiver.isDirectSubmissionEnabled() && computeCommandStreamReceiver.isUpdateTagFromWaitEnabled(); - const EnqueueProperties enqueueProperties(false, !multiDispatchInfo.empty(), isCacheFlushCommand(commandType) || svmMapNeedsDcFlush, + const EnqueueProperties enqueueProperties(false, !multiDispatchInfo.empty(), isCacheFlushCommand(commandType), flushDependenciesForNonKernelCommand, isMarkerWithProfiling, &blitPropertiesContainer); if (!blockQueue && isOOQEnabled()) { diff --git a/opencl/test/unit_test/command_queue/command_queue_hw_1_tests.cpp b/opencl/test/unit_test/command_queue/command_queue_hw_1_tests.cpp index ac7a6478f6..a2f4a37c4e 100644 --- a/opencl/test/unit_test/command_queue/command_queue_hw_1_tests.cpp +++ b/opencl/test/unit_test/command_queue/command_queue_hw_1_tests.cpp @@ -1161,58 +1161,3 @@ HWTEST_F(CommandQueueHwTest, givenNoGpuHangWhenFinishingCommandQueueHwThenWaitFo EXPECT_EQ(1, mockCmdQueueHw.waitForAllEnginesCalledCount); EXPECT_EQ(CL_SUCCESS, finishResult); } - -HWTEST2_F(CommandQueueHwTest, givenDirectSubmissionEnabledAndUpdateTagFromWaitEnabledWhenEnqueueSvmMapThenOperationTypeIsExplicitCacheFlush, IsAtLeastXeHpCore) { - DebugManagerStateRestore restorer; - RootDeviceIndicesContainer rootDeviceIndices = {rootDeviceIndex, rootDeviceIndex}; - std::map deviceBitfields{{rootDeviceIndex, pDevice->getDeviceBitfield()}}; - - MockCommandQueueHw mockCmdQueueHw{context, pClDevice, nullptr}; - auto allocation = context->getSVMAllocsManager()->createSVMAlloc(1, SVMAllocsManager::SvmAllocationProperties{}, rootDeviceIndices, deviceBitfields); - - { - mockCmdQueueHw.getUltCommandStreamReceiver().directSubmissionAvailable = false; - ASSERT_FALSE(mockCmdQueueHw.getUltCommandStreamReceiver().isDirectSubmissionEnabled()); - DebugManager.flags.UpdateTaskCountFromWait.set(0); - ASSERT_FALSE(mockCmdQueueHw.getUltCommandStreamReceiver().isUpdateTagFromWaitEnabled()); - - auto status = mockCmdQueueHw.enqueueSVMMap(true, 0, allocation, 1, 0, nullptr, nullptr, false); - ASSERT_EQ(status, CL_SUCCESS); - EXPECT_EQ(mockCmdQueueHw.latestSentEnqueueType, EnqueueProperties::Operation::EnqueueWithoutSubmission); - } - - { - mockCmdQueueHw.getUltCommandStreamReceiver().directSubmissionAvailable = true; - ASSERT_TRUE(mockCmdQueueHw.getUltCommandStreamReceiver().isDirectSubmissionEnabled()); - DebugManager.flags.UpdateTaskCountFromWait.set(0); - ASSERT_FALSE(mockCmdQueueHw.getUltCommandStreamReceiver().isUpdateTagFromWaitEnabled()); - - auto status = mockCmdQueueHw.enqueueSVMMap(true, 0, allocation, 1, 0, nullptr, nullptr, false); - ASSERT_EQ(status, CL_SUCCESS); - EXPECT_EQ(mockCmdQueueHw.latestSentEnqueueType, EnqueueProperties::Operation::EnqueueWithoutSubmission); - } - - { - mockCmdQueueHw.getUltCommandStreamReceiver().directSubmissionAvailable = false; - ASSERT_FALSE(mockCmdQueueHw.getUltCommandStreamReceiver().isDirectSubmissionEnabled()); - DebugManager.flags.UpdateTaskCountFromWait.set(3); - ASSERT_TRUE(mockCmdQueueHw.getUltCommandStreamReceiver().isUpdateTagFromWaitEnabled()); - - auto status = mockCmdQueueHw.enqueueSVMMap(true, 0, allocation, 1, 0, nullptr, nullptr, false); - ASSERT_EQ(status, CL_SUCCESS); - EXPECT_EQ(mockCmdQueueHw.latestSentEnqueueType, EnqueueProperties::Operation::EnqueueWithoutSubmission); - } - - { - mockCmdQueueHw.getUltCommandStreamReceiver().directSubmissionAvailable = true; - ASSERT_TRUE(mockCmdQueueHw.getUltCommandStreamReceiver().isDirectSubmissionEnabled()); - DebugManager.flags.UpdateTaskCountFromWait.set(3); - ASSERT_TRUE(mockCmdQueueHw.getUltCommandStreamReceiver().isUpdateTagFromWaitEnabled()); - - auto status = mockCmdQueueHw.enqueueSVMMap(true, 0, allocation, 1, 0, nullptr, nullptr, false); - ASSERT_EQ(status, CL_SUCCESS); - EXPECT_EQ(mockCmdQueueHw.latestSentEnqueueType, EnqueueProperties::Operation::ExplicitCacheFlush); - } - - context->getSVMAllocsManager()->freeSVMAlloc(allocation); -} \ No newline at end of file