mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-11 16:45:25 +08:00
fix: Re-generate metada on every program build
Related-To: NEO-8927 Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
f553d9f76b
commit
e4c162c572
@@ -373,7 +373,7 @@ void Program::callPopulateZebinExtendedArgsMetadataOnce(uint32_t rootDeviceIndex
|
||||
PRINT_DEBUG_STRING(NEO::DebugManager.flags.PrintDebugMessages.get(), stderr, "Error in decodeAndPopulateKernelMiscInfo: %s\n", errors.c_str());
|
||||
}
|
||||
};
|
||||
std::call_once(extractAndDecodeMetadataOnce, extractAndDecodeMetadata);
|
||||
std::call_once(metadataGenerationFlags->extractAndDecodeMetadataOnce, extractAndDecodeMetadata);
|
||||
}
|
||||
|
||||
void Program::callGenerateDefaultExtendedArgsMetadataOnce(uint32_t rootDeviceIndex) {
|
||||
@@ -466,7 +466,7 @@ void Program::callGenerateDefaultExtendedArgsMetadataOnce(uint32_t rootDeviceInd
|
||||
}
|
||||
}
|
||||
};
|
||||
std::call_once(generateDefaultMetadataOnce, generateDefaultMetadata);
|
||||
std::call_once(metadataGenerationFlags->generateDefaultMetadataOnce, generateDefaultMetadata);
|
||||
}
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -57,6 +57,7 @@ Program::Program(Context *context, bool isBuiltIn, const ClDeviceVector &clDevic
|
||||
|
||||
buildInfos.resize(maxRootDeviceIndex + 1);
|
||||
debuggerInfos.resize(maxRootDeviceIndex + 1);
|
||||
metadataGenerationFlags = std::make_unique<MetadataGenerationFlags>();
|
||||
}
|
||||
|
||||
std::string Program::getInternalOptions() const {
|
||||
@@ -339,6 +340,7 @@ void Program::cleanCurrentKernelInfo(uint32_t rootDeviceIndex) {
|
||||
delete kernelInfo;
|
||||
}
|
||||
buildInfo.kernelInfoArray.clear();
|
||||
metadataGenerationFlags.reset(new MetadataGenerationFlags());
|
||||
}
|
||||
|
||||
void Program::updateNonUniformFlag() {
|
||||
|
||||
@@ -380,8 +380,11 @@ class Program : public BaseObject<_cl_program> {
|
||||
|
||||
size_t exportedFunctionsKernelId = std::numeric_limits<size_t>::max();
|
||||
|
||||
std::once_flag extractAndDecodeMetadataOnce;
|
||||
std::once_flag generateDefaultMetadataOnce;
|
||||
struct MetadataGenerationFlags {
|
||||
std::once_flag extractAndDecodeMetadataOnce;
|
||||
std::once_flag generateDefaultMetadataOnce;
|
||||
};
|
||||
std::unique_ptr<MetadataGenerationFlags> metadataGenerationFlags;
|
||||
};
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
Reference in New Issue
Block a user