12
12
#include " shared/source/helpers/file_io.h"
13
13
#include " shared/source/memory_manager/allocation_properties.h"
14
14
#include " shared/source/program/kernel_info.h"
15
- #include " shared/test/common/device_binary_format/zebin_tests.h"
16
15
#include " shared/test/common/helpers/debug_manager_state_restore.h"
17
16
#include " shared/test/common/helpers/test_files.h"
18
17
#include " shared/test/common/mocks/mock_compilers.h"
19
18
#include " shared/test/common/mocks/mock_graphics_allocation.h"
20
19
#include " shared/test/common/mocks/mock_memory_manager.h"
20
+ #include " shared/test/common/mocks/mock_modules_zebin.h"
21
21
22
22
#include " level_zero/core/source/module/module.h"
23
23
#include " level_zero/core/source/module/module_imp.h"
@@ -156,22 +156,15 @@ struct ModuleImmutableDataFixture : public DeviceFixture {
156
156
DeviceFixture::setupWithExecutionEnvironment (*executionEnvironment);
157
157
}
158
158
159
- void createModuleFromBinary (uint32_t perHwThreadPrivateMemorySize, bool isInternal, MockImmutableData *mockKernelImmData) {
160
- std::string testFile;
161
- retrieveBinaryKernelFilenameApiSpecific (testFile, binaryFilename + " _" , " .bin" );
162
-
163
- size_t size = 0 ;
164
- auto src = loadDataFromFile (
165
- testFile.c_str (),
166
- size);
167
-
168
- ASSERT_NE (0u , size);
169
- ASSERT_NE (nullptr , src);
159
+ void createModuleFromMockBinary (uint32_t perHwThreadPrivateMemorySize, bool isInternal, MockImmutableData *mockKernelImmData,
160
+ std::initializer_list<ZebinTestData::appendElfAdditionalSection> additionalSections = {}) {
161
+ zebinData = std::make_unique<ZebinTestData::ZebinWithL0TestCommonModule>(device->getHwInfo (), additionalSections);
162
+ const auto &src = zebinData->storage ;
170
163
171
164
ze_module_desc_t moduleDesc = {};
172
165
moduleDesc.format = ZE_MODULE_FORMAT_NATIVE;
173
- moduleDesc.pInputModule = reinterpret_cast <const uint8_t *>(src.get ());
174
- moduleDesc.inputSize = size;
166
+ moduleDesc.pInputModule = reinterpret_cast <const uint8_t *>(src.data ());
167
+ moduleDesc.inputSize = src. size () ;
175
168
176
169
ModuleBuildLog *moduleBuildLog = nullptr ;
177
170
@@ -201,32 +194,25 @@ struct ModuleImmutableDataFixture : public DeviceFixture {
201
194
const std::string kernelName = " test" ;
202
195
const uint32_t numKernelArguments = 6 ;
203
196
std::unique_ptr<MockModule> module ;
197
+ std::unique_ptr<ZebinTestData::ZebinWithL0TestCommonModule> zebinData;
204
198
MockImmutableMemoryManager *memoryManager;
205
199
};
206
200
207
201
struct ModuleFixture : public DeviceFixture {
208
202
void setUp () {
209
203
NEO::MockCompilerEnableGuard mock (true );
210
204
DeviceFixture::setUp ();
211
- createModuleFromBinary ();
205
+ createModuleFromMockBinary ();
212
206
}
213
207
214
- void createModuleFromBinary (ModuleType type = ModuleType::User) {
215
- std::string testFile;
216
- retrieveBinaryKernelFilenameApiSpecific (testFile, binaryFilename + " _" , " .bin" );
217
-
218
- size_t size = 0 ;
219
- auto src = loadDataFromFile (
220
- testFile.c_str (),
221
- size);
222
-
223
- ASSERT_NE (0u , size);
224
- ASSERT_NE (nullptr , src);
208
+ void createModuleFromMockBinary (ModuleType type = ModuleType::User) {
209
+ zebinData = std::make_unique<ZebinTestData::ZebinWithL0TestCommonModule>(device->getHwInfo ());
210
+ const auto &src = zebinData->storage ;
225
211
226
212
ze_module_desc_t moduleDesc = {};
227
213
moduleDesc.format = ZE_MODULE_FORMAT_NATIVE;
228
- moduleDesc.pInputModule = reinterpret_cast <const uint8_t *>(src.get ());
229
- moduleDesc.inputSize = size;
214
+ moduleDesc.pInputModule = reinterpret_cast <const uint8_t *>(src.data ());
215
+ moduleDesc.inputSize = src. size () ;
230
216
231
217
ModuleBuildLog *moduleBuildLog = nullptr ;
232
218
@@ -248,11 +234,11 @@ struct ModuleFixture : public DeviceFixture {
248
234
DeviceFixture::tearDown ();
249
235
}
250
236
251
- const std::string binaryFilename = " test_kernel" ;
252
237
const std::string kernelName = " test" ;
253
238
const uint32_t numKernelArguments = 6 ;
254
239
std::unique_ptr<L0::Module> module ;
255
240
std::unique_ptr<WhiteBox<::L0::Kernel>> kernel;
241
+ std::unique_ptr<ZebinTestData::ZebinWithL0TestCommonModule> zebinData;
256
242
};
257
243
258
244
struct MultiDeviceModuleFixture : public MultiDeviceFixture {
@@ -261,24 +247,18 @@ struct MultiDeviceModuleFixture : public MultiDeviceFixture {
261
247
modules.resize (numRootDevices);
262
248
}
263
249
264
- void createModuleFromBinary (uint32_t rootDeviceIndex) {
265
- std::string testFile;
266
- retrieveBinaryKernelFilenameApiSpecific (testFile, binaryFilename + " _" , " .bin" );
267
-
268
- size_t size = 0 ;
269
- auto src = loadDataFromFile (testFile.c_str (), size);
270
-
271
- ASSERT_NE (0u , size);
272
- ASSERT_NE (nullptr , src);
250
+ void createModuleFromMockBinary (uint32_t rootDeviceIndex) {
251
+ auto device = driverHandle->devices [rootDeviceIndex];
252
+ zebinData = std::make_unique<ZebinTestData::ZebinWithL0TestCommonModule>(device->getHwInfo ());
253
+ const auto &src = zebinData->storage ;
273
254
274
255
ze_module_desc_t moduleDesc = {};
275
256
moduleDesc.format = ZE_MODULE_FORMAT_NATIVE;
276
- moduleDesc.pInputModule = reinterpret_cast <const uint8_t *>(src.get ());
277
- moduleDesc.inputSize = size;
257
+ moduleDesc.pInputModule = reinterpret_cast <const uint8_t *>(src.data ());
258
+ moduleDesc.inputSize = src. size () ;
278
259
279
260
ModuleBuildLog *moduleBuildLog = nullptr ;
280
261
281
- auto device = driverHandle->devices [rootDeviceIndex];
282
262
modules[rootDeviceIndex].reset (Module::create (device,
283
263
&moduleDesc,
284
264
moduleBuildLog, ModuleType::User));
@@ -301,11 +281,11 @@ struct MultiDeviceModuleFixture : public MultiDeviceFixture {
301
281
MultiDeviceFixture::tearDown ();
302
282
}
303
283
304
- const std::string binaryFilename = " test_kernel" ;
305
284
const std::string kernelName = " test" ;
306
285
const uint32_t numKernelArguments = 6 ;
307
286
std::vector<std::unique_ptr<L0::Module>> modules;
308
287
std::unique_ptr<WhiteBox<::L0::Kernel>> kernel;
288
+ std::unique_ptr<ZebinTestData::ZebinWithL0TestCommonModule> zebinData;
309
289
};
310
290
311
291
struct ModuleWithZebinFixture : public DeviceFixture {
@@ -428,7 +408,7 @@ struct MultiTileModuleFixture : public MultiDeviceModuleFixture {
428
408
MultiDeviceFixture::numSubDevices = 2u ;
429
409
430
410
MultiDeviceModuleFixture::setUp ();
431
- createModuleFromBinary (0 );
411
+ createModuleFromMockBinary (0 );
432
412
433
413
device = driverHandle->devices [0 ];
434
414
}
0 commit comments