feat(AIL): Enforce patchtokens fallback for applications that require it

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
This commit is contained in:
Konstanty Misiak 2023-02-15 12:49:45 +00:00 committed by Compute-Runtime-Automation
parent 4e19807783
commit 33426b9cc5
2 changed files with 47 additions and 0 deletions

View File

@ -69,6 +69,27 @@ void AILConfigurationHw<IGFX_DG2>::modifyKernelIfRequired(std::string &kernelsSo
}
}
template <>
inline void AILConfigurationHw<IGFX_DG2>::forceFallbackToPatchtokensIfRequired(const std::string &kernelSources, bool &requiresFallback) {
std::string_view dummyKernelSource{"kernel void _(){}"};
if (sourcesContain(kernelSources, dummyKernelSource)) {
requiresFallback = true;
}
for (const auto &name : {"Wondershare Filmora 11",
"perf_check",
"tlb_player_gui",
"Wondershare Filmora",
"Resolve",
"ArcControlAssist",
"ArcControl"}) {
if (processName == name) {
requiresFallback = true;
break;
}
}
}
template class AILConfigurationHw<IGFX_DG2>;
} // namespace NEO

View File

@ -36,6 +36,32 @@ HWTEST2_F(AILTestsDg2, givenApplicationNamesThatRequireAILWhenApplyExtThenCorrec
}
}
HWTEST2_F(AILTestsDg2, givenApplicationNamesThatRequirAILWhenCheckingIfPatchtokenFallbackIsRequiredThenIsCorrectResult, IsDG2) {
class AILMock : public AILConfigurationHw<productFamily> {
public:
using AILConfiguration::processName;
};
VariableBackup<AILConfiguration *> ailConfigurationBackup(&ailConfigurationTable[productFamily]);
AILMock ail;
ailConfigurationTable[productFamily] = &ail;
for (const auto &name : {"perf_check",
"tlb_player_gui",
"Wondershare Filmora",
"Wondershare Filmora 11",
"Resolve",
"ArcControlAssist",
"ArcControl"}) {
ail.processName = name;
bool fallbackRequired;
ail.forceFallbackToPatchtokensIfRequired("", fallbackRequired);
EXPECT_TRUE(fallbackRequired);
}
}
HWTEST2_F(AILTestsDg2, givenFixesForApplicationsWhenModifyKernelIfRequiredIsCalledThenReturnCorrectResults, IsDG2) {
class AILMock : public AILConfigurationHw<productFamily> {