fix: fail when invalid zebin is decoded

- bindless + bindful accesses in single kernel are not supported

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
Mateusz Hoppe
2024-05-09 14:02:14 +00:00
committed by Compute-Runtime-Automation
parent 1707434591
commit 77b817a15c
5 changed files with 17 additions and 37 deletions

View File

@@ -1000,7 +1000,8 @@ DecodeError decodeZeInfoKernelPayloadArguments(KernelDescriptor &dst, Yaml::Yaml
}
if ((bindlessBufferAccess && bindfulBufferAccess) ||
(bindlessImageAccess && bindfulImageAccess)) {
(bindlessImageAccess && bindfulImageAccess) ||
((bindlessBufferAccess || bindlessImageAccess) && dst.payloadMappings.bindingTable.numEntries > 0)) {
outErrReason.append("DeviceBinaryFormat::zebin::.ze_info : bindless and bindful addressing modes must not be mixed.\n");
return DecodeError::invalidBinary;
}