fix: check icbe version only once when patchtoken

- set by default flag ZebinIgnoreIcbeVersion to true
- for zebin icbe version check is only inside flag
- only when use patchtoken then check icbe version is mandatory

Resolves: NEO-7904
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
This commit is contained in:
Cencelewska, Katarzyna
2023-04-25 15:12:25 +00:00
committed by Compute-Runtime-Automation
parent a32a1d549e
commit 861ec524c6
11 changed files with 428 additions and 60 deletions

View File

@@ -7,6 +7,7 @@
#include "shared/source/program/program_info.h"
#include "shared/source/compiler_interface/compiler_interface.h"
#include "shared/source/compiler_interface/compiler_options.h"
#include "shared/source/compiler_interface/external_functions.h"
#include "shared/source/compiler_interface/linker.h"
@@ -52,10 +53,7 @@ bool isRebuiltToPatchtokensRequired(Device *neoDevice, ArrayRef<const uint8_t> a
auto isSourceLevelDebuggerActive = (nullptr != neoDevice->getSourceLevelDebugger());
auto isZebinFormat = NEO::isDeviceBinaryFormat<NEO::DeviceBinaryFormat::Zebin>(archive);
if ((isSourceLevelDebuggerActive || isVmeUsed) && isZebinFormat) {
auto pos = optionsString.find(NEO::CompilerOptions::enableZebin.str());
optionsString.erase(pos, pos + NEO::CompilerOptions::enableZebin.length());
optionsString += " " + NEO::CompilerOptions::disableZebin.str();
return true;
return neoDevice->getCompilerInterface()->disableZebin(optionsString, optionsString);
}
return false;
}