Allow for zebin rebuild when IR is present

This commits adds rebuilding zebin binary.
If zebin is built for different device and has SPIRV, then new ze binary
will be built using SPIRV.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
This commit is contained in:
Krystian Chmielewski
2022-04-07 12:29:43 +00:00
committed by Compute-Runtime-Automation
parent e9ebd10ab8
commit 01a719cf33
8 changed files with 55 additions and 19 deletions

View File

@@ -48,8 +48,8 @@ class MockProgram : public Program {
using Program::options;
using Program::packDeviceBinary;
using Program::Program;
using Program::requiresRebuild;
using Program::setBuildStatus;
using Program::shouldWarnAboutRebuild;
using Program::sourceCode;
using Program::specConstantsIds;
using Program::specConstantsSizes;
@@ -130,7 +130,7 @@ class MockProgram : public Program {
cl_int rebuildProgramFromIr() {
this->isCreatedFromBinary = false;
this->shouldWarnAboutRebuild = true;
this->requiresRebuild = true;
setBuildStatus(CL_BUILD_NONE);
std::unordered_map<std::string, BuiltinDispatchInfoBuilder *> builtins;
return this->build(getDevices(), this->options.c_str(), false, builtins);
@@ -138,7 +138,7 @@ class MockProgram : public Program {
cl_int recompile() {
this->isCreatedFromBinary = false;
this->shouldWarnAboutRebuild = true;
this->requiresRebuild = true;
setBuildStatus(CL_BUILD_NONE);
return this->compile(getDevices(), this->options.c_str(), 0, nullptr, nullptr);
}