Set missing field for buffer_address kernel arg type

Set missing pointerSize (basing on source size field) for buffer_address arg
type.
Signed-off-by: Nowak, Kacper <kacper.nowak@intel.com>
Related-To: NEO-7048
This commit is contained in:
Nowak, Kacper 2022-06-14 16:28:55 +00:00 committed by Compute-Runtime-Automation
parent 31ebf37091
commit b3d94add4b
2 changed files with 5 additions and 1 deletions

View File

@ -921,7 +921,9 @@ NEO::DecodeError populateArgDescriptor(const NEO::Elf::ZebinKernelMetadata::Type
}
case NEO::Elf::ZebinKernelMetadata::Types::Kernel::ArgTypeBufferAddress: {
dst.payloadMappings.explicitArgs[src.argIndex].as<ArgDescPointer>(true).stateless = src.offset;
auto &argAsPtr = dst.payloadMappings.explicitArgs[src.argIndex].as<ArgDescPointer>(true);
argAsPtr.stateless = src.offset;
argAsPtr.pointerSize = src.size;
break;
}

View File

@ -5023,6 +5023,7 @@ TEST(PopulateArgDescriptorCrossthreadPayload, givenPureStatefulArgWithBufferAddr
access_type: readwrite
- arg_type: buffer_address
offset: 32
size: 8
arg_index: 0
binding_table_indices:
- bti_value: 0
@ -5052,6 +5053,7 @@ TEST(PopulateArgDescriptorCrossthreadPayload, givenPureStatefulArgWithBufferAddr
const auto &arg = programInfo.kernelInfos[0]->kernelDescriptor.payloadMappings.explicitArgs[0].as<ArgDescPointer>();
EXPECT_EQ(32, arg.stateless);
EXPECT_EQ(8, arg.pointerSize);
EXPECT_FALSE(arg.accessedUsingStatelessAddressingMode);
EXPECT_TRUE(arg.isPureStateful());
}