diff --git a/level_zero/core/test/unit_tests/xe2_hpg_core/test_cmdqueue_xe2_hpg_core.cpp b/level_zero/core/test/unit_tests/xe2_hpg_core/test_cmdqueue_xe2_hpg_core.cpp index 239e7b5278..5a47dc9c53 100644 --- a/level_zero/core/test/unit_tests/xe2_hpg_core/test_cmdqueue_xe2_hpg_core.cpp +++ b/level_zero/core/test/unit_tests/xe2_hpg_core/test_cmdqueue_xe2_hpg_core.cpp @@ -22,10 +22,6 @@ namespace ult { using CommandQueueCommandsXe2HpgCore = Test; HWTEST2_F(CommandQueueCommandsXe2HpgCore, givenCommandQueueWhenExecutingCommandListsThenStateSystemMemFenceAddressCmdIsGenerated, IsXe2HpgCore) { - if (neoDevice->getHardwareInfo().capabilityTable.isIntegratedDevice) { - GTEST_SKIP(); - } - using STATE_SYSTEM_MEM_FENCE_ADDRESS = typename FamilyType::STATE_SYSTEM_MEM_FENCE_ADDRESS; ze_command_queue_desc_t desc = {}; auto csr = neoDevice->getDefaultEngine().commandStreamReceiver; diff --git a/opencl/test/unit_test/xe2_hpg_core/command_stream_receiver_hw_tests_xe2_hpg_core.cpp b/opencl/test/unit_test/xe2_hpg_core/command_stream_receiver_hw_tests_xe2_hpg_core.cpp index 1b28df88b9..d84f1f8407 100644 --- a/opencl/test/unit_test/xe2_hpg_core/command_stream_receiver_hw_tests_xe2_hpg_core.cpp +++ b/opencl/test/unit_test/xe2_hpg_core/command_stream_receiver_hw_tests_xe2_hpg_core.cpp @@ -246,15 +246,13 @@ XE2_HPG_CORETEST_F(SystemMemoryFenceViaMiMemFenceTestXe2HpgCore, givenSystemMemo commandStreamReceiver.flushBcsTask(blitPropertiesContainer, false, false, *pDevice); EXPECT_TRUE(commandStreamReceiver.isEnginePrologueSent); - if (!pClDevice->getHardwareInfo().capabilityTable.isIntegratedDevice) { - HardwareParse hwParser; - hwParser.parseCommands(cmdStream); - auto itorSystemMemFenceAddress = find(hwParser.cmdList.begin(), hwParser.cmdList.end()); - ASSERT_NE(hwParser.cmdList.end(), itorSystemMemFenceAddress); + HardwareParse hwParser; + hwParser.parseCommands(cmdStream); + auto itorSystemMemFenceAddress = find(hwParser.cmdList.begin(), hwParser.cmdList.end()); + ASSERT_NE(hwParser.cmdList.end(), itorSystemMemFenceAddress); - auto systemMemFenceAddressCmd = genCmdCast(*itorSystemMemFenceAddress); - EXPECT_EQ(commandStreamReceiver.globalFenceAllocation->getGpuAddress(), systemMemFenceAddressCmd->getSystemMemoryFenceAddress()); - } + auto systemMemFenceAddressCmd = genCmdCast(*itorSystemMemFenceAddress); + EXPECT_EQ(commandStreamReceiver.globalFenceAllocation->getGpuAddress(), systemMemFenceAddressCmd->getSystemMemoryFenceAddress()); } struct SystemMemoryFenceViaComputeWalkerTest : public UltCommandStreamReceiverTest { @@ -284,15 +282,13 @@ XE2_HPG_CORETEST_F(SystemMemoryFenceViaComputeWalkerTestXe2HpgCore, givenSystemM commandStreamReceiver.programEnginePrologue(cmdStream); EXPECT_TRUE(commandStreamReceiver.isEnginePrologueSent); - if (!pClDevice->getHardwareInfo().capabilityTable.isIntegratedDevice) { - HardwareParse hwParser; - hwParser.parseCommands(cmdStream); - auto itorSystemMemFenceAddress = find(hwParser.cmdList.begin(), hwParser.cmdList.end()); - ASSERT_NE(hwParser.cmdList.end(), itorSystemMemFenceAddress); + HardwareParse hwParser; + hwParser.parseCommands(cmdStream); + auto itorSystemMemFenceAddress = find(hwParser.cmdList.begin(), hwParser.cmdList.end()); + ASSERT_NE(hwParser.cmdList.end(), itorSystemMemFenceAddress); - auto systemMemFenceAddressCmd = genCmdCast(*itorSystemMemFenceAddress); - EXPECT_EQ(commandStreamReceiver.globalFenceAllocation->getGpuAddress(), systemMemFenceAddressCmd->getSystemMemoryFenceAddress()); - } + auto systemMemFenceAddressCmd = genCmdCast(*itorSystemMemFenceAddress); + EXPECT_EQ(commandStreamReceiver.globalFenceAllocation->getGpuAddress(), systemMemFenceAddressCmd->getSystemMemoryFenceAddress()); } XE2_HPG_CORETEST_F(SystemMemoryFenceViaComputeWalkerTestXe2HpgCore, givenSystemMemoryFenceGeneratedAsPostSyncOperationInComputeWalkerWhenDispatchWalkerIsCalledThenSystemMemoryFenceRequestInPostSyncDataIsProgrammed) { @@ -350,15 +346,13 @@ XE2_HPG_CORETEST_F(SystemMemoryFenceViaKernelInstructionTestXe2HpgCore, givenSys commandStreamReceiver.programEnginePrologue(cmdStream); EXPECT_TRUE(commandStreamReceiver.isEnginePrologueSent); - if (!pDevice->getHardwareInfo().capabilityTable.isIntegratedDevice) { - HardwareParse hwParser; - hwParser.parseCommands(cmdStream); - auto itorSystemMemFenceAddress = find(hwParser.cmdList.begin(), hwParser.cmdList.end()); - ASSERT_NE(hwParser.cmdList.end(), itorSystemMemFenceAddress); + HardwareParse hwParser; + hwParser.parseCommands(cmdStream); + auto itorSystemMemFenceAddress = find(hwParser.cmdList.begin(), hwParser.cmdList.end()); + ASSERT_NE(hwParser.cmdList.end(), itorSystemMemFenceAddress); - auto systemMemFenceAddressCmd = genCmdCast(*itorSystemMemFenceAddress); - EXPECT_EQ(commandStreamReceiver.globalFenceAllocation->getGpuAddress(), systemMemFenceAddressCmd->getSystemMemoryFenceAddress()); - } + auto systemMemFenceAddressCmd = genCmdCast(*itorSystemMemFenceAddress); + EXPECT_EQ(commandStreamReceiver.globalFenceAllocation->getGpuAddress(), systemMemFenceAddressCmd->getSystemMemoryFenceAddress()); } struct SystemMemoryFenceInDefaultConfigurationTest : public UltCommandStreamReceiverTest { @@ -379,9 +373,6 @@ XE2_HPG_CORETEST_F(SystemMemoryFenceInDefaultConfigurationTestXe2HpgCore, using STATE_SYSTEM_MEM_FENCE_ADDRESS = typename FamilyType::STATE_SYSTEM_MEM_FENCE_ADDRESS; using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER; using MI_MEM_FENCE = typename FamilyType::MI_MEM_FENCE; - if (pClDevice->getHardwareInfo().capabilityTable.isIntegratedDevice) { - GTEST_SKIP(); - } MockKernelWithInternals kernel(*pClDevice); MockContext context(pClDevice); @@ -405,11 +396,13 @@ XE2_HPG_CORETEST_F(SystemMemoryFenceInDefaultConfigurationTestXe2HpgCore, auto &postSyncData = walkerCmd->getPostSync(); EXPECT_FALSE(postSyncData.getSystemMemoryFenceRequest()); - auto itorMiMemFence = find(hwParser.cmdList.begin(), hwParser.cmdList.end()); - ASSERT_NE(hwParser.cmdList.end(), itorMiMemFence); - auto fenceCmd = genCmdCast(*itorMiMemFence); - ASSERT_NE(nullptr, fenceCmd); - EXPECT_EQ(MI_MEM_FENCE::FENCE_TYPE::FENCE_TYPE_RELEASE, fenceCmd->getFenceType()); + if (MemorySynchronizationCommands::getSizeForAdditonalSynchronization(pClDevice->getRootDeviceEnvironment()) > 0) { + auto itorMiMemFence = find(hwParser.cmdList.begin(), hwParser.cmdList.end()); + ASSERT_NE(hwParser.cmdList.end(), itorMiMemFence); + auto fenceCmd = genCmdCast(*itorMiMemFence); + ASSERT_NE(nullptr, fenceCmd); + EXPECT_EQ(MI_MEM_FENCE::FENCE_TYPE::FENCE_TYPE_RELEASE, fenceCmd->getFenceType()); + } } XE2_HPG_CORETEST_F(SystemMemoryFenceInDefaultConfigurationTestXe2HpgCore, @@ -417,9 +410,6 @@ XE2_HPG_CORETEST_F(SystemMemoryFenceInDefaultConfigurationTestXe2HpgCore, using STATE_SYSTEM_MEM_FENCE_ADDRESS = typename FamilyType::STATE_SYSTEM_MEM_FENCE_ADDRESS; using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER; using MI_MEM_FENCE = typename FamilyType::MI_MEM_FENCE; - if (pClDevice->getHardwareInfo().capabilityTable.isIntegratedDevice) { - GTEST_SKIP(); - } MockKernelWithInternals kernel(*pClDevice); MockContext context(pClDevice); @@ -444,11 +434,13 @@ XE2_HPG_CORETEST_F(SystemMemoryFenceInDefaultConfigurationTestXe2HpgCore, auto &postSyncData = walkerCmd->getPostSync(); EXPECT_FALSE(postSyncData.getSystemMemoryFenceRequest()); - auto itorMiMemFence = find(hwParser.cmdList.begin(), hwParser.cmdList.end()); - ASSERT_NE(hwParser.cmdList.end(), itorMiMemFence); - auto fenceCmd = genCmdCast(*itorMiMemFence); - ASSERT_NE(nullptr, fenceCmd); - EXPECT_EQ(MI_MEM_FENCE::FENCE_TYPE::FENCE_TYPE_RELEASE, fenceCmd->getFenceType()); + if (MemorySynchronizationCommands::getSizeForAdditonalSynchronization(pClDevice->getRootDeviceEnvironment()) > 0) { + auto itorMiMemFence = find(hwParser.cmdList.begin(), hwParser.cmdList.end()); + ASSERT_NE(hwParser.cmdList.end(), itorMiMemFence); + auto fenceCmd = genCmdCast(*itorMiMemFence); + ASSERT_NE(nullptr, fenceCmd); + EXPECT_EQ(MI_MEM_FENCE::FENCE_TYPE::FENCE_TYPE_RELEASE, fenceCmd->getFenceType()); + } } XE2_HPG_CORETEST_F(SystemMemoryFenceInDefaultConfigurationTestXe2HpgCore, @@ -456,9 +448,6 @@ XE2_HPG_CORETEST_F(SystemMemoryFenceInDefaultConfigurationTestXe2HpgCore, using STATE_SYSTEM_MEM_FENCE_ADDRESS = typename FamilyType::STATE_SYSTEM_MEM_FENCE_ADDRESS; using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER; using MI_MEM_FENCE = typename FamilyType::MI_MEM_FENCE; - if (pClDevice->getHardwareInfo().capabilityTable.isIntegratedDevice) { - GTEST_SKIP(); - } MockKernelWithInternals kernel(*pClDevice); MockContext context(pClDevice); @@ -483,11 +472,13 @@ XE2_HPG_CORETEST_F(SystemMemoryFenceInDefaultConfigurationTestXe2HpgCore, auto &postSyncData = walkerCmd->getPostSync(); EXPECT_FALSE(postSyncData.getSystemMemoryFenceRequest()); - auto itorMiMemFence = find(hwParser.cmdList.begin(), hwParser.cmdList.end()); - ASSERT_NE(hwParser.cmdList.end(), itorMiMemFence); - auto fenceCmd = genCmdCast(*itorMiMemFence); - ASSERT_NE(nullptr, fenceCmd); - EXPECT_EQ(MI_MEM_FENCE::FENCE_TYPE::FENCE_TYPE_RELEASE, fenceCmd->getFenceType()); + if (MemorySynchronizationCommands::getSizeForAdditonalSynchronization(pClDevice->getRootDeviceEnvironment()) > 0) { + auto itorMiMemFence = find(hwParser.cmdList.begin(), hwParser.cmdList.end()); + ASSERT_NE(hwParser.cmdList.end(), itorMiMemFence); + auto fenceCmd = genCmdCast(*itorMiMemFence); + ASSERT_NE(nullptr, fenceCmd); + EXPECT_EQ(MI_MEM_FENCE::FENCE_TYPE::FENCE_TYPE_RELEASE, fenceCmd->getFenceType()); + } auto event = castToObject(kernelEvent); event->release(); @@ -498,9 +489,6 @@ XE2_HPG_CORETEST_F(SystemMemoryFenceInDefaultConfigurationTestXe2HpgCore, using STATE_SYSTEM_MEM_FENCE_ADDRESS = typename FamilyType::STATE_SYSTEM_MEM_FENCE_ADDRESS; using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER; using MI_MEM_FENCE = typename FamilyType::MI_MEM_FENCE; - if (pClDevice->getHardwareInfo().capabilityTable.isIntegratedDevice) { - GTEST_SKIP(); - } MockKernelWithInternals kernel(*pClDevice); MockContext context(pClDevice); @@ -526,11 +514,13 @@ XE2_HPG_CORETEST_F(SystemMemoryFenceInDefaultConfigurationTestXe2HpgCore, auto &postSyncData = walkerCmd->getPostSync(); EXPECT_TRUE(postSyncData.getSystemMemoryFenceRequest()); - auto itorMiMemFence = find(hwParser.cmdList.begin(), hwParser.cmdList.end()); - ASSERT_NE(hwParser.cmdList.end(), itorMiMemFence); - auto fenceCmd = genCmdCast(*itorMiMemFence); - ASSERT_NE(nullptr, fenceCmd); - EXPECT_EQ(MI_MEM_FENCE::FENCE_TYPE::FENCE_TYPE_RELEASE, fenceCmd->getFenceType()); + if (MemorySynchronizationCommands::getSizeForAdditonalSynchronization(pClDevice->getRootDeviceEnvironment()) > 0) { + auto itorMiMemFence = find(hwParser.cmdList.begin(), hwParser.cmdList.end()); + ASSERT_NE(hwParser.cmdList.end(), itorMiMemFence); + auto fenceCmd = genCmdCast(*itorMiMemFence); + ASSERT_NE(nullptr, fenceCmd); + EXPECT_EQ(MI_MEM_FENCE::FENCE_TYPE::FENCE_TYPE_RELEASE, fenceCmd->getFenceType()); + } auto event = castToObject(kernelEvent); event->release(); @@ -542,10 +532,6 @@ XE2_HPG_CORETEST_F(SystemMemoryFenceInDefaultConfigurationTestXe2HpgCore, using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER; using MI_MEM_FENCE = typename FamilyType::MI_MEM_FENCE; - if (pClDevice->getHardwareInfo().capabilityTable.isIntegratedDevice) { - GTEST_SKIP(); - } - MockKernelWithInternals kernel(*pClDevice); MockContext context(pClDevice); MockCommandQueueHw commandQueue(&context, pClDevice, nullptr); @@ -571,11 +557,13 @@ XE2_HPG_CORETEST_F(SystemMemoryFenceInDefaultConfigurationTestXe2HpgCore, auto &postSyncData = walkerCmd->getPostSync(); EXPECT_TRUE(postSyncData.getSystemMemoryFenceRequest()); - auto itorMiMemFence = find(hwParser.cmdList.begin(), hwParser.cmdList.end()); - ASSERT_NE(hwParser.cmdList.end(), itorMiMemFence); - auto fenceCmd = genCmdCast(*itorMiMemFence); - ASSERT_NE(nullptr, fenceCmd); - EXPECT_EQ(MI_MEM_FENCE::FENCE_TYPE::FENCE_TYPE_RELEASE, fenceCmd->getFenceType()); + if (MemorySynchronizationCommands::getSizeForAdditonalSynchronization(pClDevice->getRootDeviceEnvironment()) > 0) { + auto itorMiMemFence = find(hwParser.cmdList.begin(), hwParser.cmdList.end()); + ASSERT_NE(hwParser.cmdList.end(), itorMiMemFence); + auto fenceCmd = genCmdCast(*itorMiMemFence); + ASSERT_NE(nullptr, fenceCmd); + EXPECT_EQ(MI_MEM_FENCE::FENCE_TYPE::FENCE_TYPE_RELEASE, fenceCmd->getFenceType()); + } auto event = castToObject(kernelEvent); event->release(); diff --git a/shared/source/helpers/gfx_core_helper_pvc_and_later.inl b/shared/source/helpers/gfx_core_helper_pvc_and_later.inl index 6783a6b4ac..77dae69b1d 100644 --- a/shared/source/helpers/gfx_core_helper_pvc_and_later.inl +++ b/shared/source/helpers/gfx_core_helper_pvc_and_later.inl @@ -17,7 +17,7 @@ bool GfxCoreHelperHw::isFenceAllocationRequired(const HardwareInfo &hwIn (debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.get() == 0)) { return false; } - return !hwInfo.capabilityTable.isIntegratedDevice; + return true; } template diff --git a/shared/test/unit_test/command_stream/command_stream_receiver_tests.cpp b/shared/test/unit_test/command_stream/command_stream_receiver_tests.cpp index 82616f71a4..c458dbd92b 100644 --- a/shared/test/unit_test/command_stream/command_stream_receiver_tests.cpp +++ b/shared/test/unit_test/command_stream/command_stream_receiver_tests.cpp @@ -4234,9 +4234,6 @@ HWTEST2_F(CommandStreamReceiverHwTest, givenImmediateFlushTaskWhenOneTimeContextSystemFenceRequiredThenExpectOneTimeSystemFenceCommand, IsAtLeastXeHpcCore) { using STATE_SYSTEM_MEM_FENCE_ADDRESS = typename FamilyType::STATE_SYSTEM_MEM_FENCE_ADDRESS; - if (pDevice->getHardwareInfo().capabilityTable.isIntegratedDevice) { - GTEST_SKIP(); - } auto &commandStreamReceiver = pDevice->getUltCommandStreamReceiver(); commandStreamReceiver.storeMakeResidentAllocations = true; diff --git a/shared/test/unit_test/direct_submission/direct_submission_tests_2.cpp b/shared/test/unit_test/direct_submission/direct_submission_tests_2.cpp index 33cb7c0e0b..42ac528096 100644 --- a/shared/test/unit_test/direct_submission/direct_submission_tests_2.cpp +++ b/shared/test/unit_test/direct_submission/direct_submission_tests_2.cpp @@ -199,7 +199,7 @@ HWTEST_F(DirectSubmissionDispatchMiMemFenceTest, givenDebugFlagSetToTrueWhenCrea DebugManagerStateRestore restorer; debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(1); - if (heaplessStateInit || pDevice->getHardwareInfo().capabilityTable.isIntegratedDevice) { + if (heaplessStateInit) { GTEST_SKIP(); } 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 befaa042cd..95874eb8da 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 @@ -391,7 +391,7 @@ XE2_HPG_CORETEST_F(GfxCoreHelperTestsXe2HpgCore, givenGfxCoreHelperWhenAskedIfFe debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(-1); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(-1); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(-1); - EXPECT_EQ(gfxCoreHelper.isFenceAllocationRequired(hwInfo), !hwInfo.capabilityTable.isIntegratedDevice); + EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo)); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(0); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(0); @@ -401,17 +401,17 @@ XE2_HPG_CORETEST_F(GfxCoreHelperTestsXe2HpgCore, givenGfxCoreHelperWhenAskedIfFe debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(1); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(0); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(0); - EXPECT_EQ(gfxCoreHelper.isFenceAllocationRequired(hwInfo), !hwInfo.capabilityTable.isIntegratedDevice); + EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo)); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(0); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(1); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(0); - EXPECT_EQ(gfxCoreHelper.isFenceAllocationRequired(hwInfo), !hwInfo.capabilityTable.isIntegratedDevice); + EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo)); debugManager.flags.ProgramGlobalFenceAsMiMemFenceCommandInCommandStream.set(0); debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(0); debugManager.flags.ProgramGlobalFenceAsKernelInstructionInEUKernel.set(1); - EXPECT_EQ(gfxCoreHelper.isFenceAllocationRequired(hwInfo), !hwInfo.capabilityTable.isIntegratedDevice); + EXPECT_TRUE(gfxCoreHelper.isFenceAllocationRequired(hwInfo)); } XE2_HPG_CORETEST_F(GfxCoreHelperTestsXe2HpgCore, givenDefaultMemorySynchronizationCommandsWhenGettingSizeForAdditionalSynchronizationThenCorrectValueIsReturned) {