Introducing kernel descriptor

Change-Id: I4ce6ebf27a81cf14b055817ebfe76d8427e349ab
This commit is contained in:
Jaroslaw Chodor
2020-02-24 22:07:46 +01:00
parent e453d2c04f
commit 915b80b1df
33 changed files with 1692 additions and 397 deletions

View File

@@ -32,8 +32,8 @@ TEST(KernelInfoFromPatchTokens, GivenValidKernelWithArgThenMetadataIsProperlyPop
NEO::KernelInfo dst = {};
NEO::populateKernelInfo(dst, src.kernels[0], 4);
ASSERT_EQ(1U, dst.kernelArgInfo.size());
EXPECT_EQ(NEO::KernelArgMetadata::AccessQualifier::ReadWrite, dst.kernelArgInfo[0].metadata.accessQualifier);
EXPECT_EQ(NEO::KernelArgMetadata::AddressSpaceQualifier::Global, dst.kernelArgInfo[0].metadata.addressQualifier);
EXPECT_EQ(NEO::KernelArgMetadata::AccessReadWrite, dst.kernelArgInfo[0].metadata.accessQualifier);
EXPECT_EQ(NEO::KernelArgMetadata::AddrGlobal, dst.kernelArgInfo[0].metadata.addressQualifier);
NEO::KernelArgMetadata::TypeQualifiers typeQualifiers = {};
typeQualifiers.constQual = true;
EXPECT_EQ(typeQualifiers.packed, dst.kernelArgInfo[0].metadata.typeQualifiers.packed);
@@ -55,7 +55,7 @@ TEST(KernelInfoFromPatchTokens, GivenValidKernelWithImageArgThenArgAccessQualifi
NEO::KernelInfo dst = {};
NEO::populateKernelInfo(dst, src.kernels[0], 4);
ASSERT_EQ(1U, dst.kernelArgInfo.size());
EXPECT_EQ(NEO::KernelArgMetadata::AccessQualifier::ReadWrite, dst.kernelArgInfo[0].metadata.accessQualifier);
EXPECT_EQ(NEO::KernelArgMetadata::AccessReadWrite, dst.kernelArgInfo[0].metadata.accessQualifier);
}
TEST(KernelInfoFromPatchTokens, GivenValidKernelWithImageArgWhenArgInfoIsMissingThenArgAccessQualifierIsPopulatedBasedOnImageArgWriteableFlag) {
@@ -69,7 +69,7 @@ TEST(KernelInfoFromPatchTokens, GivenValidKernelWithImageArgWhenArgInfoIsMissing
NEO::KernelInfo dst = {};
NEO::populateKernelInfo(dst, src.kernels[0], 4);
ASSERT_EQ(1U, dst.kernelArgInfo.size());
EXPECT_EQ(NEO::KernelArgMetadata::AccessQualifier::ReadOnly, dst.kernelArgInfo[0].metadata.accessQualifier);
EXPECT_EQ(NEO::KernelArgMetadata::AccessReadOnly, dst.kernelArgInfo[0].metadata.accessQualifier);
}
{
@@ -77,7 +77,7 @@ TEST(KernelInfoFromPatchTokens, GivenValidKernelWithImageArgWhenArgInfoIsMissing
NEO::KernelInfo dst = {};
NEO::populateKernelInfo(dst, src.kernels[0], 4);
ASSERT_EQ(1U, dst.kernelArgInfo.size());
EXPECT_EQ(NEO::KernelArgMetadata::AccessQualifier::ReadWrite, dst.kernelArgInfo[0].metadata.accessQualifier);
EXPECT_EQ(NEO::KernelArgMetadata::AccessReadWrite, dst.kernelArgInfo[0].metadata.accessQualifier);
}
}

View File

@@ -100,7 +100,7 @@ TEST(KernelInfo, decodeImageKernelArgument) {
EXPECT_EQ(sizeof(cl_mem), static_cast<size_t>(argInfo.metadata.argByValSize));
EXPECT_EQ(arg.Offset, argInfo.offsetHeap);
EXPECT_TRUE(argInfo.isImage);
EXPECT_EQ(KernelArgMetadata::AccessQualifier::ReadWrite, argInfo.metadata.accessQualifier);
EXPECT_EQ(KernelArgMetadata::AccessReadWrite, argInfo.metadata.accessQualifier);
EXPECT_TRUE(argInfo.metadata.typeQualifiers.empty());
}
@@ -188,9 +188,9 @@ TEST(KernelInfo, decodeSamplerKernelArgument) {
TEST(KernelInfo, whenStoringArgInfoThenMetadataIsProperlyPopulated) {
KernelInfo kernelInfo;
NEO::ArgTypeMetadata metadata;
metadata.accessQualifier = NEO::KernelArgMetadata::AccessQualifier::WriteOnly;
metadata.addressQualifier = NEO::KernelArgMetadata::AddressSpaceQualifier::Global;
NEO::ArgTypeTraits metadata;
metadata.accessQualifier = NEO::KernelArgMetadata::AccessWriteOnly;
metadata.addressQualifier = NEO::KernelArgMetadata::AddrGlobal;
metadata.argByValSize = sizeof(void *);
metadata.typeQualifiers.pipeQual = true;
auto metadataExtended = std::make_unique<NEO::ArgTypeMetadataExtended>();