Skip to content

Commit b3d94ad

Browse files
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 <[email protected]> Related-To: NEO-7048
1 parent 31ebf37 commit b3d94ad

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

shared/source/device_binary_format/zebin_decoder.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -921,7 +921,9 @@ NEO::DecodeError populateArgDescriptor(const NEO::Elf::ZebinKernelMetadata::Type
921921
}
922922

923923
case NEO::Elf::ZebinKernelMetadata::Types::Kernel::ArgTypeBufferAddress: {
924-
dst.payloadMappings.explicitArgs[src.argIndex].as<ArgDescPointer>(true).stateless = src.offset;
924+
auto &argAsPtr = dst.payloadMappings.explicitArgs[src.argIndex].as<ArgDescPointer>(true);
925+
argAsPtr.stateless = src.offset;
926+
argAsPtr.pointerSize = src.size;
925927
break;
926928
}
927929

shared/test/unit_test/device_binary_format/zebin_decoder_tests.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5023,6 +5023,7 @@ TEST(PopulateArgDescriptorCrossthreadPayload, givenPureStatefulArgWithBufferAddr
50235023
access_type: readwrite
50245024
- arg_type: buffer_address
50255025
offset: 32
5026+
size: 8
50265027
arg_index: 0
50275028
binding_table_indices:
50285029
- bti_value: 0
@@ -5052,6 +5053,7 @@ TEST(PopulateArgDescriptorCrossthreadPayload, givenPureStatefulArgWithBufferAddr
50525053

50535054
const auto &arg = programInfo.kernelInfos[0]->kernelDescriptor.payloadMappings.explicitArgs[0].as<ArgDescPointer>();
50545055
EXPECT_EQ(32, arg.stateless);
5056+
EXPECT_EQ(8, arg.pointerSize);
50555057
EXPECT_FALSE(arg.accessedUsingStatelessAddressingMode);
50565058
EXPECT_TRUE(arg.isPureStateful());
50575059
}

0 commit comments

Comments
 (0)