Checking builtinParams passed to Multidispatch

Change-Id: Idb6c30dc5bb46403cea12acbf5174c6d9ddfbd3e
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
This commit is contained in:
Daria Hinz
2019-07-18 15:52:55 +02:00
committed by sys_ocldev
parent dcd8728519
commit 06d14cdcae
13 changed files with 309 additions and 98 deletions

View File

@@ -11,6 +11,7 @@
#include "unit_tests/gen_common/gen_commands_common_validation.h"
#include "unit_tests/helpers/unit_test_helper.h"
#include "unit_tests/mocks/mock_builtin_dispatch_info_builder.h"
#include "unit_tests/mocks/mock_builtins.h"
#include "reg_configs_common.h"
@@ -199,17 +200,18 @@ typedef EnqueueCopyImageMipMapTest MipMapCopyImageTest;
HWTEST_P(MipMapCopyImageTest, GivenImagesWithNonZeroMipLevelsWhenCopyImageIsCalledThenProperMipLevelsAreSet) {
cl_mem_object_type srcImageType, dstImageType;
std::tie(srcImageType, dstImageType) = GetParam();
auto &builtIns = *pCmdQ->getDevice().getExecutionEnvironment()->getBuiltIns();
auto &origBuilder = builtIns.getBuiltinDispatchInfoBuilder(
auto builtIns = new MockBuiltins();
pCmdQ->getDevice().getExecutionEnvironment()->builtins.reset(builtIns);
auto &origBuilder = builtIns->getBuiltinDispatchInfoBuilder(
EBuiltInOps::CopyImageToImage3d,
pCmdQ->getContext(),
pCmdQ->getDevice());
// substitute original builder with mock builder
auto oldBuilder = builtIns.setBuiltinDispatchInfoBuilder(
auto oldBuilder = builtIns->setBuiltinDispatchInfoBuilder(
EBuiltInOps::CopyImageToImage3d,
pCmdQ->getContext(),
pCmdQ->getDevice(),
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuiltinDispatchInfoBuilder(builtIns, &origBuilder)));
std::unique_ptr<NEO::BuiltinDispatchInfoBuilder>(new MockBuiltinDispatchInfoBuilder(*builtIns, &origBuilder)));
cl_int retVal = CL_SUCCESS;
cl_image_desc srcImageDesc = {};
@@ -295,16 +297,16 @@ HWTEST_P(MipMapCopyImageTest, GivenImagesWithNonZeroMipLevelsWhenCopyImageIsCall
EXPECT_EQ(CL_SUCCESS, retVal);
auto &mockBuilder = static_cast<MockBuiltinDispatchInfoBuilder &>(builtIns.getBuiltinDispatchInfoBuilder(EBuiltInOps::CopyImageToImage3d,
pCmdQ->getContext(),
pCmdQ->getDevice()));
auto &mockBuilder = static_cast<MockBuiltinDispatchInfoBuilder &>(builtIns->getBuiltinDispatchInfoBuilder(EBuiltInOps::CopyImageToImage3d,
pCmdQ->getContext(),
pCmdQ->getDevice()));
auto params = mockBuilder.getBuiltinOpParams();
EXPECT_EQ(expectedSrcMipLevel, params->srcMipLevel);
EXPECT_EQ(expectedDstMipLevel, params->dstMipLevel);
// restore original builder and retrieve mock builder
auto newBuilder = builtIns.setBuiltinDispatchInfoBuilder(
auto newBuilder = builtIns->setBuiltinDispatchInfoBuilder(
EBuiltInOps::CopyImageToImage3d,
pCmdQ->getContext(),
pCmdQ->getDevice(),