Don't store MockProgram as member of fixture

This is to prepare for adding argument to MockProgram constructor. It'll have
to be constructed after ExecutionEnvironment creation, for example after
DeviceFixture::SetUp.

Change-Id: I37b08f814679271820a07fb29cf1fb6b517c8376
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
This commit is contained in:
Maciej Dziuban
2018-08-09 11:34:50 +02:00
committed by sys_ocldev
parent 20aa362a7d
commit 6f26ced3b5
15 changed files with 92 additions and 79 deletions

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2017, Intel Corporation
* Copyright (c) 2017 - 2018, Intel Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@ -48,6 +48,7 @@ class MediaImageSetArgTest : public DeviceFixture,
void SetUp() override {
DeviceFixture::SetUp();
pKernelInfo = KernelInfo::create();
program = std::make_unique<MockProgram>();
kernelHeader.SurfaceStateHeapSize = sizeof(surfaceStateHeap);
pKernelInfo->heapInfo.pSsh = surfaceStateHeap;
@ -65,7 +66,7 @@ class MediaImageSetArgTest : public DeviceFixture,
pKernelInfo->kernelArgInfo[1].isImage = true;
pKernelInfo->kernelArgInfo[0].isImage = true;
pKernel = new MockKernel(&program, *pKernelInfo, *pDevice);
pKernel = new MockKernel(program.get(), *pKernelInfo, *pDevice);
ASSERT_NE(nullptr, pKernel);
ASSERT_EQ(CL_SUCCESS, pKernel->initialize());
@ -88,7 +89,7 @@ class MediaImageSetArgTest : public DeviceFixture,
cl_int retVal = CL_SUCCESS;
MockContext *context;
MockProgram program;
std::unique_ptr<MockProgram> program;
MockKernel *pKernel = nullptr;
SKernelBinaryHeaderCommon kernelHeader;
KernelInfo *pKernelInfo = nullptr;

View File

@ -35,6 +35,7 @@ struct AubSubCaptureTest : public DeviceFixture,
public ::testing::Test {
void SetUp() override {
DeviceFixture::SetUp();
program = std::make_unique<MockProgram>();
kernelInfo.name = "kernel_name";
dbgRestore = new DebugManagerStateRestore();
}
@ -44,7 +45,7 @@ struct AubSubCaptureTest : public DeviceFixture,
delete dbgRestore;
}
MockProgram program;
std::unique_ptr<MockProgram> program;
KernelInfo kernelInfo;
DebugManagerStateRestore *dbgRestore;
};
@ -151,7 +152,7 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenActivateSubCaptu
AubSubCaptureManagerMock aubSubCaptureManager("");
DispatchInfo dispatchInfo;
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
dispatchInfo.setKernel(&kernel);
MultiDispatchInfo multiDispatchInfo(dispatchInfo);
@ -165,7 +166,7 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenActivateSubCaptu
AubSubCaptureManagerMock aubSubCaptureManager("");
DispatchInfo dispatchInfo;
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
dispatchInfo.setKernel(&kernel);
MultiDispatchInfo multiDispatchInfo(dispatchInfo);
@ -180,7 +181,7 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenActivateSubCaptu
AubSubCaptureManagerMock aubSubCaptureManager("");
DispatchInfo dispatchInfo;
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
dispatchInfo.setKernel(&kernel);
MultiDispatchInfo multiDispatchInfo(dispatchInfo);
@ -195,7 +196,7 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenActivateSubCaptu
AubSubCaptureManagerMock aubSubCaptureManager("");
DispatchInfo dispatchInfo;
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
dispatchInfo.setKernel(&kernel);
MultiDispatchInfo multiDispatchInfo(dispatchInfo);
@ -211,7 +212,7 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenActivateSubCaptu
AubSubCaptureManagerMock aubSubCaptureManager("");
DispatchInfo dispatchInfo;
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
dispatchInfo.setKernel(&kernel);
MultiDispatchInfo multiDispatchInfo(dispatchInfo);
@ -226,7 +227,7 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenActivateSubCaptu
AubSubCaptureManagerMock aubSubCaptureManager("");
DispatchInfo dispatchInfo;
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
dispatchInfo.setKernel(&kernel);
MultiDispatchInfo multiDispatchInfo(dispatchInfo);
@ -252,7 +253,7 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerWhenSubCaptureKeepsInactiveThenM
AubSubCaptureManagerMock aubSubCaptureManager("");
DispatchInfo dispatchInfo;
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
dispatchInfo.setKernel(&kernel);
MultiDispatchInfo multiDispatchInfo(dispatchInfo);
@ -270,7 +271,7 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerWhenSubCaptureGetsActiveThenDont
AubSubCaptureManagerMock aubSubCaptureManager("");
DispatchInfo dispatchInfo;
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
dispatchInfo.setKernel(&kernel);
MultiDispatchInfo multiDispatchInfo(dispatchInfo);
@ -288,7 +289,7 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerWhenSubCaptureKeepsActiveThenDon
AubSubCaptureManagerMock aubSubCaptureManager("");
DispatchInfo dispatchInfo;
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
dispatchInfo.setKernel(&kernel);
MultiDispatchInfo multiDispatchInfo(dispatchInfo);
@ -306,7 +307,7 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerWhenSubCaptureGetsInactiveThenMa
AubSubCaptureManagerMock aubSubCaptureManager("");
DispatchInfo dispatchInfo;
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
dispatchInfo.setKernel(&kernel);
MultiDispatchInfo multiDispatchInfo(dispatchInfo);
@ -384,7 +385,7 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenGetSubCaptureFil
AubSubCaptureManagerMock aubSubCaptureManager("aubfile.aub");
DispatchInfo dispatchInfo;
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
dispatchInfo.setKernel(&kernel);
MultiDispatchInfo multiDispatchInfo(dispatchInfo);
std::string externalFileName = "";

View File

@ -42,7 +42,7 @@ void KernelDataTest::buildAndDecode() {
kernelNameSize + sshSize + dshSize + gshSize + kernelHeapSize + patchListSize;
kernelDataSize += sizeof(SPatchDataParameterStream);
program.setDevice(pDevice);
program->setDevice(pDevice);
pKernelData = reinterpret_cast<char *>(alignedMalloc(kernelDataSize, MemoryConstants::cacheLineSize));
ASSERT_NE(nullptr, pKernelData);
@ -92,11 +92,11 @@ void KernelDataTest::buildAndDecode() {
pCurPtr += sizeof(SPatchDataParameterStream);
// now build a program with this kernel data
error = program.build(pKernelData, kernelDataSize);
error = program->build(pKernelData, kernelDataSize);
EXPECT_EQ(CL_SUCCESS, error);
// extract the kernel info
pKernelInfo = program.Program::getKernelInfo(kernelName.c_str());
pKernelInfo = program->Program::getKernelInfo(kernelName.c_str());
// validate kernel info
// vaidate entire set of data

View File

@ -64,6 +64,7 @@ class KernelDataTest : public testing::Test {
void SetUp() override {
kernelBinaryHeader.KernelNameSize = kernelNameSize;
pDevice = MockDevice::createWithNewExecutionEnvironment<MockDevice>(nullptr);
program = std::make_unique<MockProgram>();
}
void TearDown() override {
@ -97,7 +98,7 @@ class KernelDataTest : public testing::Test {
uint64_t shaderHashCode;
uint32_t kernelUnpaddedSize;
MockProgram program;
std::unique_ptr<MockProgram> program;
MockDevice *pDevice;
const KernelInfo *pKernelInfo;
};

View File

@ -50,7 +50,8 @@ struct KernelArgDevQueueTest : public DeviceFixture,
pKernelInfo->kernelArgInfo[0].kernelArgPatchInfoVector.push_back(kernelArgPatchInfo);
pKernel = new MockKernel(&program, *pKernelInfo, *pDevice);
program = std::make_unique<MockProgram>();
pKernel = new MockKernel(program.get(), *pKernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, pKernel->initialize());
uint8_t pCrossThreadData[crossThreadDataSize];
@ -80,7 +81,7 @@ struct KernelArgDevQueueTest : public DeviceFixture,
static const uint32_t crossThreadDataSize = 0x10;
static const char crossThreadDataInit = 0x7e;
MockProgram program;
std::unique_ptr<MockProgram> program;
DeviceQueue *pDeviceQueue = nullptr;
MockKernel *pKernel = nullptr;
KernelInfo *pKernelInfo = nullptr;

View File

@ -69,7 +69,8 @@ class KernelArgImmediateTest : public Test<DeviceFixture> {
pKernelInfo->kernelArgInfo[1].kernelArgPatchInfoVector[0].size = sizeof(T);
pKernelInfo->kernelArgInfo[0].kernelArgPatchInfoVector[0].size = sizeof(T);
pKernel = new MockKernel(&program, *pKernelInfo, *pDevice);
program = std::make_unique<MockProgram>();
pKernel = new MockKernel(program.get(), *pKernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, pKernel->initialize());
pKernel->setCrossThreadData(pCrossThreadData, sizeof(pCrossThreadData));
@ -86,7 +87,7 @@ class KernelArgImmediateTest : public Test<DeviceFixture> {
}
cl_int retVal = CL_SUCCESS;
MockProgram program;
std::unique_ptr<MockProgram> program;
MockKernel *pKernel = nullptr;
KernelInfo *pKernelInfo;
char pCrossThreadData[0x60];

View File

@ -56,7 +56,8 @@ class KernelSlmArgTest : public Test<DeviceFixture> {
pKernelInfo->kernelArgInfo[2].slmAlignment = 0x400;
pKernelInfo->workloadInfo.slmStaticSize = 3 * KB;
pKernel = new MockKernel(&program, *pKernelInfo, *pDevice);
program = std::make_unique<MockProgram>();
pKernel = new MockKernel(program.get(), *pKernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, pKernel->initialize());
pKernel->setKernelArgHandler(0, &Kernel::setArgLocal);
@ -75,7 +76,7 @@ class KernelSlmArgTest : public Test<DeviceFixture> {
}
cl_int retVal = CL_SUCCESS;
MockProgram program;
std::unique_ptr<MockProgram> program;
MockKernel *pKernel = nullptr;
KernelInfo *pKernelInfo;

View File

@ -36,6 +36,7 @@ struct KernelSLMAndBarrierTest : public DeviceFixture,
public ::testing::TestWithParam<uint32_t> {
void SetUp() override {
DeviceFixture::SetUp();
program = std::make_unique<MockProgram>();
memset(&kernelHeader, 0, sizeof(kernelHeader));
kernelHeader.KernelHeapSize = sizeof(kernelIsa);
@ -66,7 +67,7 @@ struct KernelSLMAndBarrierTest : public DeviceFixture,
uint32_t simd;
uint32_t numChannels;
MockProgram program;
std::unique_ptr<MockProgram> program;
SKernelBinaryHeaderCommon kernelHeader;
SPatchDataParameterStream dataParameterStream;
@ -90,7 +91,7 @@ HWCMDTEST_P(IGFX_GEN8_CORE, KernelSLMAndBarrierTest, test_SLMProgramming) {
executionEnvironment.HasBarriers = 1;
kernelInfo.workloadInfo.slmStaticSize = GetParam() * KB;
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, kernel.initialize());
// After creating Mock Kernel now create Indirect Heap

View File

@ -1731,10 +1731,11 @@ HWTEST_F(KernelResidencyTest, test_MakeArgsResidentCheckImageFromImage) {
struct KernelExecutionEnvironmentTest : public Test<DeviceFixture> {
void SetUp() override {
DeviceFixture::SetUp();
program = std::make_unique<MockProgram>();
pKernelInfo = KernelInfo::create();
pKernelInfo->patchInfo.executionEnvironment = &executionEnvironment;
pKernel = new MockKernel(&program, *pKernelInfo, *pDevice);
pKernel = new MockKernel(program.get(), *pKernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, pKernel->initialize());
}
@ -1745,7 +1746,7 @@ struct KernelExecutionEnvironmentTest : public Test<DeviceFixture> {
}
MockKernel *pKernel;
MockProgram program;
std::unique_ptr<MockProgram> program;
KernelInfo *pKernelInfo;
SPatchExecutionEnvironment executionEnvironment;
};
@ -1856,6 +1857,7 @@ struct KernelCrossThreadTests : Test<DeviceFixture> {
void SetUp() override {
DeviceFixture::SetUp();
program = std::make_unique<MockProgram>();
patchDataParameterStream.DataParameterStreamSize = 64 * sizeof(uint8_t);
pKernelInfo = KernelInfo::create();
@ -1869,7 +1871,7 @@ struct KernelCrossThreadTests : Test<DeviceFixture> {
DeviceFixture::TearDown();
}
MockProgram program;
std::unique_ptr<MockProgram> program;
KernelInfo *pKernelInfo = nullptr;
SPatchDataParameterStream patchDataParameterStream;
SPatchExecutionEnvironment executionEnvironment;
@ -1879,7 +1881,7 @@ TEST_F(KernelCrossThreadTests, globalWorkOffset) {
pKernelInfo->workloadInfo.globalWorkOffsetOffsets[1] = 4;
MockKernel kernel(&program, *pKernelInfo, *pDevice);
MockKernel kernel(program.get(), *pKernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, kernel.initialize());
EXPECT_EQ(&Kernel::dummyPatchLocation, kernel.globalWorkOffsetX);
@ -1892,7 +1894,7 @@ TEST_F(KernelCrossThreadTests, localWorkSize) {
pKernelInfo->workloadInfo.localWorkSizeOffsets[0] = 0xc;
MockKernel kernel(&program, *pKernelInfo, *pDevice);
MockKernel kernel(program.get(), *pKernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, kernel.initialize());
EXPECT_NE(nullptr, kernel.localWorkSizeX);
@ -1905,7 +1907,7 @@ TEST_F(KernelCrossThreadTests, localWorkSize2) {
pKernelInfo->workloadInfo.localWorkSizeOffsets2[1] = 0xd;
MockKernel kernel(&program, *pKernelInfo, *pDevice);
MockKernel kernel(program.get(), *pKernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, kernel.initialize());
EXPECT_EQ(&Kernel::dummyPatchLocation, kernel.localWorkSizeX2);
@ -1918,7 +1920,7 @@ TEST_F(KernelCrossThreadTests, globalWorkSize) {
pKernelInfo->workloadInfo.globalWorkSizeOffsets[2] = 8;
MockKernel kernel(&program, *pKernelInfo, *pDevice);
MockKernel kernel(program.get(), *pKernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, kernel.initialize());
EXPECT_EQ(&Kernel::dummyPatchLocation, kernel.globalWorkSizeX);
@ -1931,7 +1933,7 @@ TEST_F(KernelCrossThreadTests, workDim) {
pKernelInfo->workloadInfo.workDimOffset = 12;
MockKernel kernel(&program, *pKernelInfo, *pDevice);
MockKernel kernel(program.get(), *pKernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, kernel.initialize());
EXPECT_NE(nullptr, kernel.workDim);
@ -1944,7 +1946,7 @@ TEST_F(KernelCrossThreadTests, numWorkGroups) {
pKernelInfo->workloadInfo.numWorkGroupsOffset[1] = 1 * sizeof(uint32_t);
pKernelInfo->workloadInfo.numWorkGroupsOffset[2] = 2 * sizeof(uint32_t);
MockKernel kernel(&program, *pKernelInfo, *pDevice);
MockKernel kernel(program.get(), *pKernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, kernel.initialize());
EXPECT_NE(nullptr, kernel.numWorkGroupsX);
@ -1959,7 +1961,7 @@ TEST_F(KernelCrossThreadTests, enqueuedLocalWorkSize) {
pKernelInfo->workloadInfo.enqueuedLocalWorkSizeOffsets[0] = 0;
MockKernel kernel(&program, *pKernelInfo, *pDevice);
MockKernel kernel(program.get(), *pKernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, kernel.initialize());
EXPECT_NE(nullptr, kernel.enqueuedLocalWorkSizeX);
@ -1972,7 +1974,7 @@ TEST_F(KernelCrossThreadTests, maxWorkGroupSize) {
pKernelInfo->workloadInfo.maxWorkGroupSizeOffset = 12;
MockKernel kernel(&program, *pKernelInfo, *pDevice);
MockKernel kernel(program.get(), *pKernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, kernel.initialize());
EXPECT_NE(nullptr, kernel.maxWorkGroupSize);
@ -1984,7 +1986,7 @@ TEST_F(KernelCrossThreadTests, maxWorkGroupSize) {
TEST_F(KernelCrossThreadTests, dataParameterSimdSize) {
pKernelInfo->workloadInfo.simdSizeOffset = 16;
MockKernel kernel(&program, *pKernelInfo, *pDevice);
MockKernel kernel(program.get(), *pKernelInfo, *pDevice);
executionEnvironment.CompiledSIMD32 = false;
executionEnvironment.CompiledSIMD16 = false;
executionEnvironment.CompiledSIMD8 = true;
@ -1998,7 +2000,7 @@ TEST_F(KernelCrossThreadTests, dataParameterSimdSize) {
TEST_F(KernelCrossThreadTests, GIVENparentEventOffsetWHENinitializeKernelTHENparentEventInitWithInvalid) {
pKernelInfo->workloadInfo.parentEventOffset = 16;
MockKernel kernel(&program, *pKernelInfo, *pDevice);
MockKernel kernel(program.get(), *pKernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, kernel.initialize());
EXPECT_NE(nullptr, kernel.parentEventOffset);
@ -2009,13 +2011,13 @@ TEST_F(KernelCrossThreadTests, GIVENparentEventOffsetWHENinitializeKernelTHENpar
TEST_F(KernelCrossThreadTests, kernelAddRefCountToProgram) {
auto refCount = program.getReference();
MockKernel *kernel = new MockKernel(&program, *pKernelInfo, *pDevice);
auto refCount2 = program.getReference();
auto refCount = program->getReference();
MockKernel *kernel = new MockKernel(program.get(), *pKernelInfo, *pDevice);
auto refCount2 = program->getReference();
EXPECT_EQ(refCount2, refCount + 1);
delete kernel;
auto refCount3 = program.getReference();
auto refCount3 = program->getReference();
EXPECT_EQ(refCount, refCount3);
}
@ -2023,7 +2025,7 @@ TEST_F(KernelCrossThreadTests, kernelSetsTotalSLMSize) {
pKernelInfo->workloadInfo.slmStaticSize = 1024;
MockKernel *kernel = new MockKernel(&program, *pKernelInfo, *pDevice);
MockKernel *kernel = new MockKernel(program.get(), *pKernelInfo, *pDevice);
EXPECT_EQ(1024u, kernel->slmTotalSize);
@ -2037,7 +2039,7 @@ TEST_F(KernelCrossThreadTests, givenKernelWithPrivateMemoryWhenItIsCreatedThenCu
allocatePrivate.PerThreadPrivateMemorySize = 1;
pKernelInfo->patchInfo.pAllocateStatelessPrivateSurface = &allocatePrivate;
MockKernel *kernel = new MockKernel(&program, *pKernelInfo, *pDevice);
MockKernel *kernel = new MockKernel(program.get(), *pKernelInfo, *pDevice);
kernel->initialize();
@ -2056,7 +2058,7 @@ TEST_F(KernelCrossThreadTests, givenKernelWithPrivateMemoryWhenItIsCreatedThenCu
TEST_F(KernelCrossThreadTests, givenKernelWithPrefferedWkgMultipleWhenItIsCreatedThenCurbeIsPatchedProperly) {
pKernelInfo->workloadInfo.prefferedWkgMultipleOffset = 8;
MockKernel *kernel = new MockKernel(&program, *pKernelInfo, *pDevice);
MockKernel *kernel = new MockKernel(program.get(), *pKernelInfo, *pDevice);
kernel->initialize();

View File

@ -60,7 +60,8 @@ class KernelTransformableTest : public ::testing::Test {
pKernelInfo->kernelArgInfo[3].isImage = true;
pKernelInfo->argumentsToPatchNum = 4;
pKernel.reset(new MockKernel(&program, *pKernelInfo, *context.getDevice(0)));
program = std::make_unique<MockProgram>();
pKernel.reset(new MockKernel(program.get(), *pKernelInfo, *context.getDevice(0)));
ASSERT_EQ(CL_SUCCESS, pKernel->initialize());
pKernel->setKernelArgHandler(0, &Kernel::setArgSampler);
@ -81,7 +82,7 @@ class KernelTransformableTest : public ::testing::Test {
cl_int retVal = CL_SUCCESS;
MockContext context;
MockProgram program;
std::unique_ptr<MockProgram> program;
std::unique_ptr<MockKernel> pKernel;
std::unique_ptr<KernelInfo> pKernelInfo;

View File

@ -95,7 +95,8 @@ class ImageSetArgTest : public DeviceFixture,
pKernelInfo->kernelArgInfo[1].isImage = true;
pKernelInfo->kernelArgInfo[0].isImage = true;
pKernel = new MockKernel(&program, *pKernelInfo, *pDevice);
program = std::make_unique<MockProgram>();
pKernel = new MockKernel(program.get(), *pKernelInfo, *pDevice);
ASSERT_NE(nullptr, pKernel);
ASSERT_EQ(CL_SUCCESS, pKernel->initialize());
@ -120,7 +121,7 @@ class ImageSetArgTest : public DeviceFixture,
cl_int retVal = CL_SUCCESS;
MockContext *context;
MockProgram program;
std::unique_ptr<MockProgram> program;
MockKernel *pKernel = nullptr;
SKernelBinaryHeaderCommon kernelHeader;
KernelInfo *pKernelInfo = nullptr;
@ -772,7 +773,8 @@ class ImageMediaBlockSetArgTest : public ImageSetArgTest {
pKernelInfo->kernelArgInfo[1].isMediaBlockImage = true;
pKernelInfo->kernelArgInfo[0].isMediaBlockImage = true;
pKernel = new MockKernel(&program, *pKernelInfo, *pDevice);
program = std::make_unique<MockProgram>();
pKernel = new MockKernel(program.get(), *pKernelInfo, *pDevice);
ASSERT_NE(nullptr, pKernel);
ASSERT_EQ(CL_SUCCESS, pKernel->initialize());

View File

@ -46,6 +46,7 @@ struct ProfilingTests : public CommandEnqueueFixture,
public ::testing::Test {
void SetUp() override {
CommandEnqueueFixture::SetUp(CL_QUEUE_PROFILING_ENABLE);
program = std::make_unique<MockProgram>();
memset(&kernelHeader, 0, sizeof(kernelHeader));
kernelHeader.KernelHeapSize = sizeof(kernelIsa);
@ -74,7 +75,7 @@ struct ProfilingTests : public CommandEnqueueFixture,
CommandEnqueueFixture::TearDown();
}
MockProgram program;
std::unique_ptr<MockProgram> program;
SKernelBinaryHeaderCommon kernelHeader;
SPatchDataParameterStream dataParameterStream;
@ -130,7 +131,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, ProfilingTests, GIVENCommandQueueWithProfilingAndFor
uint64_t requiredSize = 2 * sizeof(PIPE_CONTROL) + 4 * sizeof(MI_STORE_REGISTER_MEM) + KernelCommandsHelper<FamilyType>::getSizeRequiredCS();
requiredSize += 2 * sizeof(GPGPU_WALKER);
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
DispatchInfo dispatchInfo;
dispatchInfo.setKernel(&kernel);
MultiDispatchInfo multiDispatchInfo(dispatchInfo);
@ -149,7 +150,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, ProfilingTests, GIVENCommandQueueWithProfolingWHENWa
typedef typename FamilyType::PIPE_CONTROL PIPE_CONTROL;
typedef typename FamilyType::GPGPU_WALKER GPGPU_WALKER;
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, kernel.initialize());
size_t globalOffsets[3] = {0, 0, 0};
@ -203,7 +204,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, ProfilingTests, GIVENCommandQueueWithProflingWHENWal
typedef typename FamilyType::MI_STORE_REGISTER_MEM MI_STORE_REGISTER_MEM;
typedef typename FamilyType::GPGPU_WALKER GPGPU_WALKER;
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, kernel.initialize());
size_t globalOffsets[3] = {0, 0, 0};
@ -257,7 +258,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, ProfilingTests, GIVENCommandQueueBlockedWithProfilin
typedef typename FamilyType::PIPE_CONTROL PIPE_CONTROL;
typedef typename FamilyType::GPGPU_WALKER GPGPU_WALKER;
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, kernel.initialize());
size_t globalOffsets[3] = {0, 0, 0};
@ -313,7 +314,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, ProfilingTests, GIVENCommandQueueBlockedWithProfilin
typedef typename FamilyType::MI_STORE_REGISTER_MEM MI_STORE_REGISTER_MEM;
typedef typename FamilyType::GPGPU_WALKER GPGPU_WALKER;
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, kernel.initialize());
size_t globalOffsets[3] = {0, 0, 0};
@ -543,7 +544,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, ProfilingWithPerfCountersTests, GIVENCommandQueueWit
//end perf cmds
requiredSize += 2 * sizeof(PIPE_CONTROL) + 3 * sizeof(MI_STORE_REGISTER_MEM) + OCLRT::INSTR_GENERAL_PURPOSE_COUNTERS_COUNT * sizeof(MI_STORE_REGISTER_MEM) + sizeof(MI_REPORT_PERF_COUNT) + pCmdQ->getPerfCountersUserRegistersNumber() * sizeof(MI_STORE_REGISTER_MEM);
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
DispatchInfo dispatchInfo;
dispatchInfo.setKernel(&kernel);
MultiDispatchInfo multiDispatchInfo(dispatchInfo);
@ -563,7 +564,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, ProfilingWithPerfCountersTests, GIVENCommandQueueWit
pCmdQ->setPerfCountersEnabled(true, 1);
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, kernel.initialize());
size_t globalOffsets[3] = {0, 0, 0};
@ -626,7 +627,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, ProfilingWithPerfCountersTests, GIVENCommandQueueWit
pCmdQ->setPerfCountersEnabled(true, 2);
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, kernel.initialize());
size_t globalOffsets[3] = {0, 0, 0};
@ -689,7 +690,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, ProfilingWithPerfCountersTests, GIVENCommandQueueBlo
pCmdQ->setPerfCountersEnabled(true, 1);
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, kernel.initialize());
size_t globalOffsets[3] = {0, 0, 0};
@ -752,7 +753,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, ProfilingWithPerfCountersTests, GIVENCommandQueueWit
pCmdQ->setPerfCountersEnabled(true, 1);
MockKernel kernel(&program, kernelInfo, *pDevice);
MockKernel kernel(program.get(), kernelInfo, *pDevice);
ASSERT_EQ(CL_SUCCESS, kernel.initialize());
size_t globalOffsets[3] = {0, 0, 0};

View File

@ -378,7 +378,7 @@ TEST_F(KernelDataTest, ExecutionEnvironmentDoesntHaveDeviceEnqueue) {
buildAndDecode();
EXPECT_EQ_CONST(PATCH_TOKEN_EXECUTION_ENVIRONMENT, pKernelInfo->patchInfo.executionEnvironment->Token);
EXPECT_EQ_VAL(0u, program.getParentKernelInfoArray().size());
EXPECT_EQ_VAL(0u, program->getParentKernelInfoArray().size());
}
TEST_F(KernelDataTest, ExecutionEnvironmentHasDeviceEnqueue) {
@ -393,7 +393,7 @@ TEST_F(KernelDataTest, ExecutionEnvironmentHasDeviceEnqueue) {
buildAndDecode();
EXPECT_EQ_CONST(PATCH_TOKEN_EXECUTION_ENVIRONMENT, pKernelInfo->patchInfo.executionEnvironment->Token);
EXPECT_EQ_VAL(1u, program.getParentKernelInfoArray().size());
EXPECT_EQ_VAL(1u, program->getParentKernelInfoArray().size());
}
TEST_F(KernelDataTest, ExecutionEnvironmentDoesntRequireSubgroupIndependentForwardProgress) {
@ -408,7 +408,7 @@ TEST_F(KernelDataTest, ExecutionEnvironmentDoesntRequireSubgroupIndependentForwa
buildAndDecode();
EXPECT_EQ_CONST(PATCH_TOKEN_EXECUTION_ENVIRONMENT, pKernelInfo->patchInfo.executionEnvironment->Token);
EXPECT_EQ_VAL(0u, program.getSubgroupKernelInfoArray().size());
EXPECT_EQ_VAL(0u, program->getSubgroupKernelInfoArray().size());
}
TEST_F(KernelDataTest, ExecutionEnvironmentRequiresSubgroupIndependentForwardProgress) {
@ -423,7 +423,7 @@ TEST_F(KernelDataTest, ExecutionEnvironmentRequiresSubgroupIndependentForwardPro
buildAndDecode();
EXPECT_EQ_CONST(PATCH_TOKEN_EXECUTION_ENVIRONMENT, pKernelInfo->patchInfo.executionEnvironment->Token);
EXPECT_EQ_VAL(1u, program.getSubgroupKernelInfoArray().size());
EXPECT_EQ_VAL(1u, program->getSubgroupKernelInfoArray().size());
}
TEST_F(KernelDataTest, KernelAttributesInfo) {

View File

@ -44,7 +44,7 @@ class PrintFormatterTest : public testing::Test {
MockGraphicsAllocation *data;
MockKernel *kernel;
MockProgram program;
std::unique_ptr<MockProgram> program;
KernelInfo *kernelInfo;
Device *device;
@ -61,7 +61,8 @@ class PrintFormatterTest : public testing::Test {
kernelInfo = KernelInfo::create();
device = MockDevice::createWithNewExecutionEnvironment<Device>(nullptr);
kernel = new MockKernel(&program, *kernelInfo, *device);
program = std::make_unique<MockProgram>();
kernel = new MockKernel(program.get(), *kernelInfo, *device);
printFormatter = new PrintFormatter(*kernel, *data);

View File

@ -69,7 +69,8 @@ class SamplerSetArgFixture : public DeviceFixture {
pKernelInfo->kernelArgInfo[1].offsetHeap = 0x40;
pKernelInfo->kernelArgInfo[1].isSampler = true;
pKernel = new MockKernel(&program, *pKernelInfo, *pDevice);
program = std::make_unique<MockProgram>();
pKernel = new MockKernel(program.get(), *pKernelInfo, *pDevice);
ASSERT_NE(nullptr, pKernel);
ASSERT_EQ(CL_SUCCESS, pKernel->initialize());
@ -111,16 +112,14 @@ class SamplerSetArgFixture : public DeviceFixture {
static const uint32_t crossThreadDataSize = 0x40;
// clang-format off
cl_int retVal = CL_SUCCESS;
MockProgram program;
MockKernel *pKernel = nullptr;
cl_int retVal = CL_SUCCESS;
std::unique_ptr<MockProgram> program;
MockKernel *pKernel = nullptr;
SKernelBinaryHeaderCommon kernelHeader;
KernelInfo *pKernelInfo = nullptr;
char samplerStateHeap[0x80];
MockContext *context;
Sampler *sampler = nullptr;
// clang-format on
KernelInfo *pKernelInfo = nullptr;
char samplerStateHeap[0x80];
MockContext *context;
Sampler *sampler = nullptr;
};
typedef Test<SamplerSetArgFixture> SamplerSetArgTest;