diff --git a/opencl/source/command_queue/command_queue.cpp b/opencl/source/command_queue/command_queue.cpp index 90988091d6..6f8c8f2dbe 100644 --- a/opencl/source/command_queue/command_queue.cpp +++ b/opencl/source/command_queue/command_queue.cpp @@ -1332,6 +1332,8 @@ bool CommandQueue::isWaitForTimestampsEnabled() const { auto enabled = CommandQueue::isTimestampWaitEnabled(); enabled &= gfxCoreHelper.isTimestampWaitSupportedForQueues(); enabled &= !productHelper.isDcFlushAllowed(); + enabled &= !getDevice().getRootDeviceEnvironment().isWddmOnLinux(); + enabled &= !this->isOOQEnabled(); // TSP for OOQ dispatch is optional. We need to wait for task count. switch (debugManager.flags.EnableTimestampWaitForQueues.get()) { case 0: @@ -1371,12 +1373,9 @@ WaitStatus CommandQueue::waitForAllEngines(bool blockedQueue, PrintfHandler *pri auto waitStatus = WaitStatus::notReady; bool waitedOnTimestamps = false; - // TSP for OOQ dispatch is optional. We need to wait for task count. - if (!isOOQEnabled()) { - waitedOnTimestamps = waitForTimestamps(activeBcsStates, waitStatus, this->timestampPacketContainer.get(), this->deferredTimestampPackets.get()); - if (waitStatus == WaitStatus::gpuHang) { - return WaitStatus::gpuHang; - } + waitedOnTimestamps = waitForTimestamps(activeBcsStates, waitStatus, this->timestampPacketContainer.get(), this->deferredTimestampPackets.get()); + if (waitStatus == WaitStatus::gpuHang) { + return WaitStatus::gpuHang; } TakeOwnershipWrapper queueOwnership(*this); diff --git a/shared/source/xe2_hpg_core/gfx_core_helper_xe2_hpg_core.cpp b/shared/source/xe2_hpg_core/gfx_core_helper_xe2_hpg_core.cpp index f6711eb4fd..d30c6cc0d7 100644 --- a/shared/source/xe2_hpg_core/gfx_core_helper_xe2_hpg_core.cpp +++ b/shared/source/xe2_hpg_core/gfx_core_helper_xe2_hpg_core.cpp @@ -100,7 +100,7 @@ uint32_t GfxCoreHelperHw::getMocsIndex(const GmmHelper &gmmHelper, bool template <> bool GfxCoreHelperHw::isTimestampWaitSupportedForQueues() const { - return false; + return true; } template <> diff --git a/shared/test/unit_test/xe2_hpg_core/gfx_core_helper_tests_xe2_hpg_core.cpp b/shared/test/unit_test/xe2_hpg_core/gfx_core_helper_tests_xe2_hpg_core.cpp index 3d1d1628d6..2174de9bf4 100644 --- a/shared/test/unit_test/xe2_hpg_core/gfx_core_helper_tests_xe2_hpg_core.cpp +++ b/shared/test/unit_test/xe2_hpg_core/gfx_core_helper_tests_xe2_hpg_core.cpp @@ -31,9 +31,9 @@ XE2_HPG_CORETEST_F(GfxCoreHelperTestsXe2HpgCore, givenGfxCoreHelperWhenAskingFor EXPECT_EQ(expectedAlignment, gfxCoreHelper.getTimestampPacketAllocatorAlignment()); } -XE2_HPG_CORETEST_F(GfxCoreHelperTestsXe2HpgCore, givenGfxCoreHelperWhenCheckTimestampWaitSupportThenReturnFalse) { +XE2_HPG_CORETEST_F(GfxCoreHelperTestsXe2HpgCore, givenGfxCoreHelperWhenCheckTimestampWaitSupportThenReturnTrue) { auto &gfxCoreHelper = getHelper(); - EXPECT_FALSE(gfxCoreHelper.isTimestampWaitSupportedForQueues()); + EXPECT_TRUE(gfxCoreHelper.isTimestampWaitSupportedForQueues()); } XE2_HPG_CORETEST_F(GfxCoreHelperTestsXe2HpgCore, givenXe2HpgCoreWhenAskedForMinimialSimdThen16IsReturned) {