mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
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:

committed by
sys_ocldev

parent
20aa362a7d
commit
6f26ced3b5
@ -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;
|
||||
|
@ -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 = "";
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
|
@ -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];
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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());
|
||||
|
||||
|
@ -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};
|
||||
|
@ -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) {
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
|
Reference in New Issue
Block a user