feature: extract indirect access buffer major version from ELF's notes

- use version from ELF to create correct layout of implcit args
Related-To: NEO-15574

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
Mateusz Hoppe
2025-07-25 12:07:26 +00:00
committed by Compute-Runtime-Automation
parent a755ad131d
commit be483491bf
17 changed files with 102 additions and 2 deletions

View File

@@ -158,6 +158,12 @@ bool validateTargetDevice(const Elf::Elf<numBits> &elf, const TargetDevice &targ
singleDeviceBinary.generatorFeatureVersions.indirectMemoryAccessDetection = static_cast<uint32_t>(*indirectDetectionVersion);
break;
}
case Elf::IntelGTSectionType::indirectAccessBufferMajorVersion: {
DEBUG_BREAK_IF(sizeof(uint32_t) != intelGTNote.data.size());
auto indirectDetectionVersion = reinterpret_cast<const uint32_t *>(intelGTNote.data.begin());
singleDeviceBinary.generatorFeatureVersions.indirectAccessBuffer = static_cast<uint32_t>(*indirectDetectionVersion);
break;
}
default:
outWarning.append("DeviceBinaryFormat::zebin : Unrecognized IntelGTNote type: " + std::to_string(intelGTNote.type) + "\n");
break;

View File

@@ -68,7 +68,8 @@ enum IntelGTSectionType : uint32_t {
vISAAbiVersion = 5, // for debugger only
productConfig = 6,
indirectAccessDetectionVersion = 7,
lastSupported = indirectAccessDetectionVersion
indirectAccessBufferMajorVersion = 8,
lastSupported = indirectAccessBufferMajorVersion
};
struct IntelGTNote {
IntelGTSectionType type;