test: Correct mock kernel setArgumentValue function
Only use explicit args when proper flag is set. Related-To: NEO-14946 Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
This commit is contained in:
parent
b9ab3df910
commit
30af50404e
|
@ -119,15 +119,18 @@ struct Mock<::L0::KernelImp> : public WhiteBox<::L0::KernelImp> {
|
||||||
|
|
||||||
if (checkPassedArgumentValues) {
|
if (checkPassedArgumentValues) {
|
||||||
UNRECOVERABLE_IF(argIndex >= passedArgumentValues.size());
|
UNRECOVERABLE_IF(argIndex >= passedArgumentValues.size());
|
||||||
auto &explicitArgs = getImmutableData()->getDescriptor().payloadMappings.explicitArgs;
|
if (useExplicitArgs) {
|
||||||
if (explicitArgs[argIndex].type == NEO::ArgDescriptor::argTValue) {
|
auto &explicitArgs = getImmutableData()->getDescriptor().payloadMappings.explicitArgs;
|
||||||
|
UNRECOVERABLE_IF(argIndex >= explicitArgs.size());
|
||||||
|
if (explicitArgs[argIndex].type == NEO::ArgDescriptor::argTValue) {
|
||||||
|
|
||||||
size_t maxArgSize = 0u;
|
size_t maxArgSize = 0u;
|
||||||
|
|
||||||
for (const auto &element : explicitArgs[argIndex].as<NEO::ArgDescValue>().elements) {
|
for (const auto &element : explicitArgs[argIndex].as<NEO::ArgDescValue>().elements) {
|
||||||
maxArgSize += element.size;
|
maxArgSize += element.size;
|
||||||
|
}
|
||||||
|
argSize = std::min(maxArgSize, argSize);
|
||||||
}
|
}
|
||||||
argSize = std::min(maxArgSize, argSize);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
passedArgumentValues[argIndex].resize(argSize);
|
passedArgumentValues[argIndex].resize(argSize);
|
||||||
|
@ -150,6 +153,7 @@ struct Mock<::L0::KernelImp> : public WhiteBox<::L0::KernelImp> {
|
||||||
bool enableForcingOfGenerateLocalIdByHw = false;
|
bool enableForcingOfGenerateLocalIdByHw = false;
|
||||||
bool forceGenerateLocalIdByHw = false;
|
bool forceGenerateLocalIdByHw = false;
|
||||||
bool checkPassedArgumentValues = false;
|
bool checkPassedArgumentValues = false;
|
||||||
|
bool useExplicitArgs = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ult
|
} // namespace ult
|
||||||
|
|
|
@ -3386,6 +3386,7 @@ TEST_F(CommandListAppendLaunchKernelWithArgumentsTests, whenAppendLaunchKernelWi
|
||||||
|
|
||||||
EXPECT_EQ(ZE_RESULT_SUCCESS, kernel.initialize(&desc));
|
EXPECT_EQ(ZE_RESULT_SUCCESS, kernel.initialize(&desc));
|
||||||
kernel.checkPassedArgumentValues = true;
|
kernel.checkPassedArgumentValues = true;
|
||||||
|
kernel.useExplicitArgs = true;
|
||||||
kernel.passedArgumentValues.resize(5);
|
kernel.passedArgumentValues.resize(5);
|
||||||
|
|
||||||
void *argBuffer = reinterpret_cast<void *>(0xDEADF00);
|
void *argBuffer = reinterpret_cast<void *>(0xDEADF00);
|
||||||
|
|
Loading…
Reference in New Issue