Program refactor

* Decouple binary program handling from Program object
* Add binary formats multiplexer
* Improve Elf format support

Change-Id: Ic22aff40173532e14825d70b82ec53fcc5fa9fdf
This commit is contained in:
Jaroslaw Chodor
2020-01-25 19:18:48 +01:00
parent cb964f9e72
commit a53e26342a
96 changed files with 3917 additions and 2023 deletions

View File

@@ -18,4 +18,24 @@ ProgramInfo::~ProgramInfo() {
kernelInfos.clear();
}
size_t getMaxInlineSlmNeeded(const ProgramInfo &programInfo) {
uint32_t ret = 0U;
for (const auto &kernelInfo : programInfo.kernelInfos) {
if (nullptr == kernelInfo->patchInfo.localsurface) {
continue;
}
ret = std::max(ret, kernelInfo->patchInfo.localsurface->TotalInlineLocalMemorySize);
}
return ret;
}
bool requiresLocalMemoryWindowVA(const ProgramInfo &programInfo) {
for (const auto &kernelInfo : programInfo.kernelInfos) {
if (WorkloadInfo::undefinedOffset != kernelInfo->workloadInfo.localMemoryStatelessWindowStartAddressOffset) {
return true;
}
}
return false;
}
} // namespace NEO