diff --git a/shared/source/ail/ail_configuration_base.inl b/shared/source/ail/ail_configuration_base.inl index 2f31477fe0..3a793c9dc6 100644 --- a/shared/source/ail/ail_configuration_base.inl +++ b/shared/source/ail/ail_configuration_base.inl @@ -25,6 +25,15 @@ inline void AILConfigurationHw::forceFallbackToPatchtokensIfRequired(co if (sourcesContain(kernelSources, dummyKernelSource)) { requiresFallback = true; } + + for (const auto &name : {"Resolve", + "ArcControlAssist", + "ArcControl"}) { + if (processName == name) { + requiresFallback = true; + break; + } + } } template diff --git a/shared/test/unit_test/ail/ail_tests_base.cpp b/shared/test/unit_test/ail/ail_tests_base.cpp index 89c8f4ee46..f44d099922 100644 --- a/shared/test/unit_test/ail/ail_tests_base.cpp +++ b/shared/test/unit_test/ail/ail_tests_base.cpp @@ -6,6 +6,8 @@ */ #include "shared/source/ail/ail_configuration.h" +#include "shared/test/common/helpers/default_hw_info.h" +#include "shared/test/common/helpers/variable_backup.h" #include "shared/test/common/test_macros/hw_test.h" namespace NEO { @@ -32,4 +34,25 @@ HWTEST2_F(AILBaseTests, whenKernelSourceIsNotANGenDummyKernelThenDoNotEnforcePat EXPECT_FALSE(enforceRebuildToCTNI); } -} // namespace NEO \ No newline at end of file +HWTEST2_F(AILBaseTests, givenResolveApplicationNameWhenCheckingIfPatchtokenFallbackIsRequiredThenIsCorrectResult, IsAtLeastSkl) { + class AILMock : public AILConfigurationHw { + public: + using AILConfiguration::processName; + }; + + VariableBackup ailConfigurationBackup(&ailConfigurationTable[productFamily]); + AILMock ail; + ailConfigurationTable[productFamily] = &ail; + + for (const auto &name : {"Resolve", + "ArcControlAssist", + "ArcControl"}) { + ail.processName = name; + + ail.applyExt(defaultHwInfo->capabilityTable); + + EXPECT_FALSE(defaultHwInfo->capabilityTable.blitterOperationsSupported); + } +} + +} // namespace NEO