diff --git a/shared/source/device_binary_format/zebin_decoder.cpp b/shared/source/device_binary_format/zebin_decoder.cpp index 1a655676ec..1afafb921a 100644 --- a/shared/source/device_binary_format/zebin_decoder.cpp +++ b/shared/source/device_binary_format/zebin_decoder.cpp @@ -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(true).stateless = src.offset; + auto &argAsPtr = dst.payloadMappings.explicitArgs[src.argIndex].as(true); + argAsPtr.stateless = src.offset; + argAsPtr.pointerSize = src.size; break; } diff --git a/shared/test/unit_test/device_binary_format/zebin_decoder_tests.cpp b/shared/test/unit_test/device_binary_format/zebin_decoder_tests.cpp index d5b52f61f0..913a52c954 100644 --- a/shared/test/unit_test/device_binary_format/zebin_decoder_tests.cpp +++ b/shared/test/unit_test/device_binary_format/zebin_decoder_tests.cpp @@ -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(); EXPECT_EQ(32, arg.stateless); + EXPECT_EQ(8, arg.pointerSize); EXPECT_FALSE(arg.accessedUsingStatelessAddressingMode); EXPECT_TRUE(arg.isPureStateful()); }