Skip to content

Commit 8647e0c

Browse files
Improve KernelInfo handling:
Remove wrapper for KernelInfo constructor Switch to unique pointer where possible Change-Id: Ib3f323e34836e1d189d836fd539ab45518609610
1 parent ff683eb commit 8647e0c

36 files changed

+155
-196
lines changed

runtime/program/kernel_info.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -209,10 +209,6 @@ void WorkSizeInfo::checkRatio(const size_t workItems[3]) {
209209
}
210210
}
211211

212-
KernelInfo *KernelInfo::create() {
213-
return new KernelInfo();
214-
}
215-
216212
KernelInfo::~KernelInfo() {
217213
kernelArgInfo.clear();
218214

runtime/program/kernel_info.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,6 @@ struct DebugData {
128128

129129
struct KernelInfo {
130130
public:
131-
static KernelInfo *create();
132131
KernelInfo() {
133132
heapInfo = {};
134133
patchInfo = {};

runtime/program/process_gen_binary.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ size_t Program::processKernel(
8080
size_t sizeProcessed = 0;
8181

8282
do {
83-
auto pKernelInfo = KernelInfo::create();
83+
auto pKernelInfo = new KernelInfo();
8484
if (!pKernelInfo) {
8585
retVal = CL_OUT_OF_HOST_MEMORY;
8686
break;
@@ -113,7 +113,6 @@ size_t Program::processKernel(
113113
retVal = parsePatchList(*pKernelInfo);
114114
if (retVal != CL_SUCCESS) {
115115
delete pKernelInfo;
116-
117116
sizeProcessed = ptrDiff(pCurKernelPtr, pKernelBlob);
118117
break;
119118
}

unit_tests/accelerators/media_image_arg_tests.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ class MediaImageSetArgTest : public DeviceFixture,
4747
protected:
4848
void SetUp() override {
4949
DeviceFixture::SetUp();
50-
pKernelInfo = KernelInfo::create();
50+
51+
pKernelInfo = std::make_unique<KernelInfo>();
5152
program = std::make_unique<MockProgram>(*pDevice->getExecutionEnvironment());
5253

5354
kernelHeader.SurfaceStateHeapSize = sizeof(surfaceStateHeap);
@@ -82,7 +83,7 @@ class MediaImageSetArgTest : public DeviceFixture,
8283
void TearDown() override {
8384
delete srcImage;
8485
delete pKernel;
85-
delete pKernelInfo;
86+
8687
delete context;
8788
DeviceFixture::TearDown();
8889
}
@@ -92,7 +93,7 @@ class MediaImageSetArgTest : public DeviceFixture,
9293
std::unique_ptr<MockProgram> program;
9394
MockKernel *pKernel = nullptr;
9495
SKernelBinaryHeaderCommon kernelHeader;
95-
KernelInfo *pKernelInfo = nullptr;
96+
std::unique_ptr<KernelInfo> pKernelInfo;
9697
char surfaceStateHeap[0x80];
9798
Image *srcImage = nullptr;
9899
};

unit_tests/api/cl_create_kernel_tests.inl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ TEST_F(clCreateKernelTests, returnsSuccess) {
8989

9090
TEST_F(clCreateKernelTests, givenInvalidKernelWhenCreatingNewKernelThenReturnClInvalidProgramExecutable) {
9191
cl_kernel kernel = nullptr;
92-
KernelInfo *pKernelInfo = KernelInfo::create();
92+
KernelInfo *pKernelInfo = new KernelInfo();
9393
pKernelInfo->isValid = false;
9494

9595
std::unique_ptr<MockProgram> pMockProg = std::make_unique<MockProgram>(*pPlatform->peekExecutionEnvironment(), pContext, false);
@@ -170,7 +170,7 @@ TEST_F(clCreateKernelTests, nullProgram) {
170170

171171
TEST_F(clCreateKernelTests, givenNullKernelNameWhenCreatingNewKernelThenReturnClInvalidValue) {
172172
cl_kernel kernel = nullptr;
173-
KernelInfo *pKernelInfo = KernelInfo::create();
173+
KernelInfo *pKernelInfo = new KernelInfo();
174174
pKernelInfo->isValid = true;
175175

176176
std::unique_ptr<MockProgram> pMockProg = std::make_unique<MockProgram>(*pPlatform->peekExecutionEnvironment(), pContext, false);

unit_tests/api/cl_set_kernel_arg_svm_pointer_tests.inl

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class KernelArgSvmFixture : public api_fixture, public DeviceFixture {
4040
DeviceFixture::SetUp();
4141

4242
// define kernel info
43-
pKernelInfo = KernelInfo::create();
43+
pKernelInfo = std::make_unique<KernelInfo>();
4444

4545
// setup kernel arg offsets
4646
KernelArgPatchInfo kernelArgPatchInfo;
@@ -66,15 +66,14 @@ class KernelArgSvmFixture : public api_fixture, public DeviceFixture {
6666

6767
void TearDown() override {
6868
delete pMockKernel;
69-
delete pKernelInfo;
7069

7170
DeviceFixture::TearDown();
7271
api_fixture::TearDown();
7372
}
7473

7574
cl_int retVal = CL_SUCCESS;
7675
MockKernel *pMockKernel = nullptr;
77-
KernelInfo *pKernelInfo = nullptr;
76+
std::unique_ptr<KernelInfo> pKernelInfo;
7877
SKernelBinaryHeaderCommon kernelHeader;
7978
char pSshLocal[64];
8079
char pCrossThreadData[64];

unit_tests/api/cl_set_kernel_exec_info_tests.inl

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class KernelExecInfoFixture : public api_fixture {
3131
void SetUp() override {
3232
api_fixture::SetUp();
3333

34-
pKernelInfo = KernelInfo::create();
34+
pKernelInfo = std::make_unique<KernelInfo>();
3535

3636
pMockKernel = new MockKernel(pProgram, *pKernelInfo, *pPlatform->getDevice(0));
3737
ASSERT_EQ(CL_SUCCESS, pMockKernel->initialize());
@@ -48,14 +48,13 @@ class KernelExecInfoFixture : public api_fixture {
4848
}
4949

5050
delete pMockKernel;
51-
delete pKernelInfo;
5251

5352
api_fixture::TearDown();
5453
}
5554

5655
cl_int retVal = CL_SUCCESS;
5756
MockKernel *pMockKernel = nullptr;
58-
KernelInfo *pKernelInfo = nullptr;
57+
std::unique_ptr<KernelInfo> pKernelInfo;
5958
void *ptrSvm = nullptr;
6059
cl_device_svm_capabilities svmCapabilities = 0;
6160
};

unit_tests/fixtures/kernel_arg_fixture.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
*/
2222

2323
#include "unit_tests/fixtures/kernel_arg_fixture.h"
24+
#include "runtime/program/kernel_info.h"
2425

2526
#include "unit_tests/fixtures/image_fixture.h"
2627
#include "unit_tests/mocks/mock_context.h"
@@ -31,7 +32,7 @@
3132
KernelImageArgTest::~KernelImageArgTest() = default;
3233

3334
void KernelImageArgTest::SetUp() {
34-
pKernelInfo.reset(OCLRT::KernelInfo::create());
35+
pKernelInfo = std::make_unique<OCLRT::KernelInfo>();
3536
KernelArgPatchInfo kernelArgPatchInfo;
3637
kernelHeader.reset(new iOpenCL::SKernelBinaryHeaderCommon{});
3738

unit_tests/fixtures/preemption_fixture.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ void DevicePreemptionTests::SetUp() {
4949
dbgRestore.reset(new DebugManagerStateRestore());
5050
}
5151
const cl_queue_properties properties[3] = {CL_QUEUE_PROPERTIES, 0, 0};
52-
kernelInfo.reset(KernelInfo::create());
52+
kernelInfo = std::make_unique<KernelInfo>();
5353
device.reset(MockDevice::createWithNewExecutionEnvironment<MockDevice>(nullptr));
5454
context.reset(new MockContext(device.get()));
5555
cmdQ.reset(new MockCommandQueue(context.get(), device.get(), properties));

unit_tests/gtpin/gtpin_tests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2257,7 +2257,7 @@ TEST_F(GTPinTests, givenInitializedGTPinInterfaceWhenOnKernelSubitIsCalledThenCo
22572257
std::unique_ptr<MockContext> context(new MockContext(pDevice));
22582258

22592259
EXPECT_EQ(CL_SUCCESS, retVal);
2260-
std::unique_ptr<KernelInfo> pKernelInfo(KernelInfo::create());
2260+
auto pKernelInfo = std::make_unique<KernelInfo>();
22612261
kernelHeader.SurfaceStateHeapSize = sizeof(surfaceStateHeap);
22622262
pKernelInfo->heapInfo.pSsh = surfaceStateHeap;
22632263
pKernelInfo->heapInfo.pKernelHeader = &kernelHeader;

unit_tests/helpers/dispatch_info_builder_tests.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ class DispatchInfoBuilderFixture : public ContextFixture, public DeviceFixture {
4545
DeviceFixture::SetUp();
4646
cl_device_id device = pDevice;
4747
ContextFixture::SetUp(1, &device);
48-
pKernelInfo = KernelInfo::create();
48+
pKernelInfo = std::make_unique<KernelInfo>();
4949

5050
pMediaVFEstate = new SPatchMediaVFEState();
5151
pMediaVFEstate->PerThreadScratchSpace = 1024;
@@ -96,13 +96,12 @@ class DispatchInfoBuilderFixture : public ContextFixture, public DeviceFixture {
9696
delete pExecutionEnvironment;
9797
delete pMediaVFEstate;
9898
delete pProgram;
99-
delete pKernelInfo;
10099

101100
ContextFixture::TearDown();
102101
DeviceFixture::TearDown();
103102
}
104103

105-
KernelInfo *pKernelInfo = nullptr;
104+
std::unique_ptr<KernelInfo> pKernelInfo;
106105
SPatchMediaVFEState *pMediaVFEstate = nullptr;
107106
SPatchExecutionEnvironment *pExecutionEnvironment;
108107
SPatchAllocateStatelessPrintfSurface *pPrintfSurface = nullptr;

unit_tests/helpers/dispatch_info_tests.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class DispatchInfoFixture : public ContextFixture, public DeviceFixture {
4343
DeviceFixture::SetUp();
4444
cl_device_id device = pDevice;
4545
ContextFixture::SetUp(1, &device);
46-
pKernelInfo = KernelInfo::create();
46+
pKernelInfo = std::make_unique<KernelInfo>();
4747

4848
pMediaVFEstate = new SPatchMediaVFEState();
4949
pMediaVFEstate->PerThreadScratchSpace = 1024;
@@ -61,13 +61,12 @@ class DispatchInfoFixture : public ContextFixture, public DeviceFixture {
6161
delete pPrintfSurface;
6262
delete pMediaVFEstate;
6363
delete pProgram;
64-
delete pKernelInfo;
6564

6665
ContextFixture::TearDown();
6766
DeviceFixture::TearDown();
6867
}
6968

70-
KernelInfo *pKernelInfo = nullptr;
69+
std::unique_ptr<KernelInfo> pKernelInfo;
7170
SPatchMediaVFEState *pMediaVFEstate = nullptr;
7271
SPatchAllocateStatelessPrintfSurface *pPrintfSurface = nullptr;
7372
MockProgram *pProgram = nullptr;

unit_tests/helpers/kernel_commands_tests.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,10 @@ HWTEST_F(KernelCommandsTest, givenSendCrossThreadDataWhenWhenAddPatchInfoComment
183183
CommandQueueHw<FamilyType> cmdQ(pContext, pDevice, 0);
184184

185185
MockContext context;
186+
186187
MockProgram program(*pDevice->getExecutionEnvironment(), &context, false);
187-
std::unique_ptr<KernelInfo> kernelInfo(KernelInfo::create());
188+
auto kernelInfo = std::make_unique<KernelInfo>();
189+
188190
std::unique_ptr<MockKernel> kernel(new MockKernel(&program, *kernelInfo, *pDevice));
189191

190192
auto &indirectHeap = cmdQ.getIndirectHeap(IndirectHeap::INDIRECT_OBJECT, 8192);
@@ -238,8 +240,10 @@ HWTEST_F(KernelCommandsTest, givenSendCrossThreadDataWhenWhenAddPatchInfoComment
238240
CommandQueueHw<FamilyType> cmdQ(pContext, pDevice, 0);
239241

240242
MockContext context;
243+
241244
MockProgram program(*pDevice->getExecutionEnvironment(), &context, false);
242-
std::unique_ptr<KernelInfo> kernelInfo(KernelInfo::create());
245+
auto kernelInfo = std::make_unique<KernelInfo>();
246+
243247
std::unique_ptr<MockKernel> kernel(new MockKernel(&program, *kernelInfo, *pDevice));
244248

245249
auto &indirectHeap = cmdQ.getIndirectHeap(IndirectHeap::INDIRECT_OBJECT, 8192);
@@ -588,7 +592,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, KernelCommandsTest, usedBindingTableStatePointersFor
588592
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
589593

590594
// define kernel info
591-
KernelInfo *pKernelInfo = KernelInfo::create();
595+
auto pKernelInfo = std::make_unique<KernelInfo>();
592596

593597
SPatchExecutionEnvironment tokenEE;
594598
tokenEE.CompiledSIMD8 = false;
@@ -748,13 +752,12 @@ HWCMDTEST_F(IGFX_GEN8_CORE, KernelCommandsTest, usedBindingTableStatePointersFor
748752
}
749753
alignedFree(surfaceStateHeap);
750754
delete pKernel;
751-
delete pKernelInfo;
752755
}
753756

754757
HWTEST_F(KernelCommandsTest, setBindingTableStatesForKernelWithBuffersNotRequiringSSHDoesNotTouchSSH) {
755758

756759
// define kernel info
757-
KernelInfo *pKernelInfo = KernelInfo::create();
760+
auto pKernelInfo = std::make_unique<KernelInfo>();
758761

759762
// create program with valid context
760763
MockContext context;
@@ -807,13 +810,12 @@ HWTEST_F(KernelCommandsTest, setBindingTableStatesForKernelWithBuffersNotRequiri
807810
EXPECT_EQ(usedAfter, ssh.getUsed());
808811

809812
delete pKernel;
810-
delete pKernelInfo;
811813
}
812814

813815
HWTEST_F(KernelCommandsTest, setBindingTableStatesForNoSurfaces) {
814816

815817
// define kernel info
816-
KernelInfo *pKernelInfo = KernelInfo::create();
818+
auto pKernelInfo = std::make_unique<KernelInfo>();
817819

818820
// create program with valid context
819821
MockContext context;
@@ -863,7 +865,6 @@ HWTEST_F(KernelCommandsTest, setBindingTableStatesForNoSurfaces) {
863865
pKernelInfo->patchInfo.bindingTableState = nullptr;
864866

865867
delete pKernel;
866-
delete pKernelInfo;
867868
}
868869

869870
HWTEST_F(KernelCommandsTest, slmValueScenarios) {

unit_tests/kernel/clone_kernel_tests.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ class CloneKernelFixture : public ContextFixture, public DeviceFixture {
5757
ContextFixture::SetUp(1, &device);
5858

5959
// define kernel info
60-
pKernelInfo = KernelInfo::create();
60+
pKernelInfo = std::make_unique<KernelInfo>();
6161

6262
// setup kernel arg offsets
6363
KernelArgPatchInfo kernelArgPatchInfo;
@@ -110,7 +110,7 @@ class CloneKernelFixture : public ContextFixture, public DeviceFixture {
110110
void TearDown() override {
111111
delete pSourceKernel;
112112
delete pClonedKernel;
113-
delete pKernelInfo;
113+
114114
delete pProgram;
115115
ContextFixture::TearDown();
116116
DeviceFixture::TearDown();
@@ -120,7 +120,7 @@ class CloneKernelFixture : public ContextFixture, public DeviceFixture {
120120
MockProgram *pProgram = nullptr;
121121
MockKernel *pSourceKernel = nullptr;
122122
MockKernel *pClonedKernel = nullptr;
123-
KernelInfo *pKernelInfo = nullptr;
123+
std::unique_ptr<KernelInfo> pKernelInfo;
124124
SKernelBinaryHeaderCommon kernelHeader;
125125
char surfaceStateHeap[128];
126126
};

unit_tests/kernel/image_transformer_tests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class ImageTransformerTest : public ::testing::Test {
3131
public:
3232
void SetUp() override {
3333
using SimpleKernelArgInfo = Kernel::SimpleKernelArgInfo;
34-
pKernelInfo.reset(KernelInfo::create());
34+
pKernelInfo = std::make_unique<KernelInfo>();
3535
pKernelInfo->kernelArgInfo.resize(2);
3636
pKernelInfo->kernelArgInfo[0].isTransformable = true;
3737
pKernelInfo->kernelArgInfo[0].offsetHeap = firstImageOffset;

unit_tests/kernel/kernel_accelerator_arg_tests.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ class KernelArgAcceleratorFixture : public ContextFixture, public DeviceFixture
5959
cl_device_id device = pDevice;
6060
ContextFixture::SetUp(1, &device);
6161

62-
pKernelInfo = KernelInfo::create();
62+
pKernelInfo = std::make_unique<KernelInfo>();
6363
KernelArgPatchInfo kernelArgPatchInfo;
6464

6565
pKernelInfo->kernelArgInfo.resize(1);
@@ -91,7 +91,7 @@ class KernelArgAcceleratorFixture : public ContextFixture, public DeviceFixture
9191

9292
void TearDown() override {
9393
delete pKernel;
94-
delete pKernelInfo;
94+
9595
delete pProgram;
9696
ContextFixture::TearDown();
9797
DeviceFixture::TearDown();
@@ -100,7 +100,7 @@ class KernelArgAcceleratorFixture : public ContextFixture, public DeviceFixture
100100
cl_motion_estimation_desc_intel desc;
101101
MockProgram *pProgram = nullptr;
102102
MockKernel *pKernel = nullptr;
103-
KernelInfo *pKernelInfo = nullptr;
103+
std::unique_ptr<KernelInfo> pKernelInfo;
104104
char pCrossThreadData[64];
105105
};
106106

unit_tests/kernel/kernel_arg_buffer_fixture.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ void KernelArgBufferFixture::SetUp() {
4343
ContextFixture::SetUp(1, &device);
4444

4545
// define kernel info
46-
pKernelInfo = KernelInfo::create();
46+
pKernelInfo = std::make_unique<KernelInfo>();
4747

4848
// setup kernel arg offsets
4949
KernelArgPatchInfo kernelArgPatchInfo;
@@ -71,7 +71,7 @@ void KernelArgBufferFixture::SetUp() {
7171

7272
void KernelArgBufferFixture::TearDown() {
7373
delete pKernel;
74-
delete pKernelInfo;
74+
7575
delete pProgram;
7676
ContextFixture::TearDown();
7777
DeviceFixture::TearDown();

unit_tests/kernel/kernel_arg_buffer_fixture.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class KernelArgBufferFixture : public ContextFixture, public DeviceFixture {
5252
cl_int retVal;
5353
MockProgram *pProgram;
5454
MockKernel *pKernel;
55-
KernelInfo *pKernelInfo;
55+
std::unique_ptr<KernelInfo> pKernelInfo;
5656
SKernelBinaryHeaderCommon kernelHeader;
5757
char pSshLocal[64];
5858
char pCrossThreadData[64];

0 commit comments

Comments
 (0)