@@ -67,7 +67,8 @@ namespace driver
67
67
{
68
68
auto pNext = reinterpret_cast <ze_base_properties_t *>(pDriverProperties->pNext );
69
69
while (pNext) {
70
- if (pNext->stype == ZE_STRUCTURE_TYPE_DRIVER_DDI_HANDLES_EXT_PROPERTIES) {
70
+ auto ddi_test_disable = getenv_string ( " ZEL_TEST_NULL_DRIVER_DISABLE_DDI_EXT" );
71
+ if (pNext->stype == ZE_STRUCTURE_TYPE_DRIVER_DDI_HANDLES_EXT_PROPERTIES && ddi_test_disable != " 1" ) {
71
72
ze_driver_ddi_handles_ext_properties_t *pDdiHandlesExtProperties = reinterpret_cast <ze_driver_ddi_handles_ext_properties_t *>(pNext);
72
73
pDdiHandlesExtProperties->flags = ze_driver_ddi_handle_ext_flag_t ::ZE_DRIVER_DDI_HANDLE_EXT_FLAG_DDI_HANDLE_EXT_SUPPORTED;
73
74
context.ddiExtensionRequested = true ;
@@ -78,8 +79,6 @@ namespace driver
78
79
79
80
return ZE_RESULT_SUCCESS;
80
81
};
81
-
82
- // pfnGetIPCProperties
83
82
84
83
// ////////////////////////////////////////////////////////////////////////
85
84
zeDdiTable.Mem .pfnAllocShared = [](
@@ -129,14 +128,227 @@ namespace driver
129
128
return ZE_RESULT_SUCCESS;
130
129
};
131
130
132
- // pfnGetMemProperties
133
- // pfnGetMemAddressRange
134
- // pfnGetMemIpcHandle
135
- // pfnOpenMemIpcHandle
136
- // pfnCloseMemIpcHandle
131
+ // ////////////////////////////////////////////////////////////////////////
132
+ zeDdiTable.EventPool .pfnCreate = [](
133
+ ze_context_handle_t ,
134
+ const ze_event_pool_desc_t * desc,
135
+ uint32_t ,
136
+ ze_device_handle_t *,
137
+ ze_event_pool_handle_t * phEventPool )
138
+ {
139
+ *phEventPool = reinterpret_cast <ze_event_pool_handle_t >(context.get ());
140
+ return ZE_RESULT_SUCCESS;
141
+ };
142
+
143
+ // ////////////////////////////////////////////////////////////////////////
144
+ zeDdiTable.Event .pfnCreate = [](
145
+ ze_event_pool_handle_t ,
146
+ const ze_event_desc_t * desc,
147
+ ze_event_handle_t * phEvent )
148
+ {
149
+ *phEvent = reinterpret_cast <ze_event_handle_t >(context.get ());
150
+ return ZE_RESULT_SUCCESS;
151
+ };
152
+
153
+ // ////////////////////////////////////////////////////////////////////////
154
+ zeDdiTable.CommandList .pfnCreate = [](
155
+ ze_context_handle_t ,
156
+ ze_device_handle_t ,
157
+ const ze_command_list_desc_t * desc,
158
+ ze_command_list_handle_t * phCommandList )
159
+ {
160
+ *phCommandList = reinterpret_cast <ze_command_list_handle_t >(context.get ());
161
+ return ZE_RESULT_SUCCESS;
162
+ };
163
+
164
+ // ////////////////////////////////////////////////////////////////////////
165
+ zeDdiTable.CommandQueue .pfnCreate = [](
166
+ ze_context_handle_t ,
167
+ ze_device_handle_t ,
168
+ const ze_command_queue_desc_t * desc,
169
+ ze_command_queue_handle_t * phCommandQueue )
170
+ {
171
+ *phCommandQueue = reinterpret_cast <ze_command_queue_handle_t >(context.get ());
172
+ return ZE_RESULT_SUCCESS;
173
+ };
137
174
138
175
// ////////////////////////////////////////////////////////////////////////
139
- // pfnGetSubDevices
176
+ zeDdiTable.Context .pfnCreate = [](
177
+ ze_driver_handle_t ,
178
+ const ze_context_desc_t *,
179
+ ze_context_handle_t * phContext )
180
+ {
181
+ *phContext = reinterpret_cast <ze_context_handle_t >(context.get ());
182
+ return ZE_RESULT_SUCCESS;
183
+ };
184
+
185
+ // ////////////////////////////////////////////////////////////////////////
186
+ zeDdiTable.Context .pfnDestroy = [](
187
+ ze_context_handle_t )
188
+ {
189
+ return ZE_RESULT_SUCCESS;
190
+ };
191
+
192
+ // ////////////////////////////////////////////////////////////////////////
193
+ zeDdiTable.CommandList .pfnDestroy = [](
194
+ ze_command_list_handle_t )
195
+ {
196
+ return ZE_RESULT_SUCCESS;
197
+ };
198
+
199
+ // ////////////////////////////////////////////////////////////////////////
200
+ zeDdiTable.CommandQueue .pfnDestroy = [](
201
+ ze_command_queue_handle_t )
202
+ {
203
+ return ZE_RESULT_SUCCESS;
204
+ };
205
+
206
+ // ////////////////////////////////////////////////////////////////////////
207
+ zeDdiTable.EventPool .pfnDestroy = [](
208
+ ze_event_pool_handle_t )
209
+ {
210
+ return ZE_RESULT_SUCCESS;
211
+ };
212
+
213
+ // ////////////////////////////////////////////////////////////////////////
214
+ zeDdiTable.Event .pfnDestroy = [](
215
+ ze_event_handle_t )
216
+ {
217
+ return ZE_RESULT_SUCCESS;
218
+ };
219
+ // ////////////////////////////////////////////////////////////////////////
220
+ zeDdiTable.Module .pfnCreate = [](
221
+ ze_context_handle_t ,
222
+ ze_device_handle_t ,
223
+ const ze_module_desc_t *,
224
+ ze_module_handle_t * phModule,
225
+ ze_module_build_log_handle_t * phModuleBuildLog )
226
+ {
227
+ *phModule = reinterpret_cast <ze_module_handle_t >(context.get ());
228
+ if (phModuleBuildLog) {
229
+ *phModuleBuildLog = reinterpret_cast <ze_module_build_log_handle_t >(context.get ());
230
+ }
231
+ return ZE_RESULT_SUCCESS;
232
+ };
233
+
234
+ // ////////////////////////////////////////////////////////////////////////
235
+ zeDdiTable.Module .pfnDestroy = [](
236
+ ze_module_handle_t )
237
+ {
238
+ return ZE_RESULT_SUCCESS;
239
+ };
240
+
241
+ // ////////////////////////////////////////////////////////////////////////
242
+ zeDdiTable.ModuleBuildLog .pfnDestroy = [](
243
+ ze_module_build_log_handle_t )
244
+ {
245
+ return ZE_RESULT_SUCCESS;
246
+ };
247
+
248
+ // ////////////////////////////////////////////////////////////////////////
249
+ zeDdiTable.ModuleBuildLog .pfnGetString = [](
250
+ ze_module_build_log_handle_t ,
251
+ size_t * pSize,
252
+ char * pBuildLog )
253
+ {
254
+ const char * log = " Build log not available." ;
255
+ *pSize = strlen (log ) + 1 ;
256
+ if (pBuildLog) {
257
+ #if defined(_WIN32)
258
+ strncpy_s ( pBuildLog, *pSize, log , *pSize );
259
+ #else
260
+ strncpy ( pBuildLog, log , *pSize );
261
+ #endif
262
+ }
263
+ return ZE_RESULT_SUCCESS;
264
+ };
265
+
266
+ // ////////////////////////////////////////////////////////////////////////
267
+ zeDdiTable.PhysicalMem .pfnCreate = [](
268
+ ze_context_handle_t ,
269
+ ze_device_handle_t ,
270
+ ze_physical_mem_desc_t *,
271
+ ze_physical_mem_handle_t * phPhysicalMemory )
272
+ {
273
+ *phPhysicalMemory = reinterpret_cast <ze_physical_mem_handle_t >(context.get ());
274
+ return ZE_RESULT_SUCCESS;
275
+ };
276
+
277
+ // ////////////////////////////////////////////////////////////////////////
278
+ zeDdiTable.PhysicalMem .pfnDestroy = []( ze_context_handle_t ,
279
+ ze_physical_mem_handle_t )
280
+ {
281
+ return ZE_RESULT_SUCCESS;
282
+ };
283
+ // ////////////////////////////////////////////////////////////////////////
284
+ zeDdiTable.Fence .pfnCreate = [](
285
+ ze_command_queue_handle_t ,
286
+ const ze_fence_desc_t *,
287
+ ze_fence_handle_t * phFence )
288
+ {
289
+ *phFence = reinterpret_cast <ze_fence_handle_t >(context.get ());
290
+ return ZE_RESULT_SUCCESS;
291
+ };
292
+
293
+ // ////////////////////////////////////////////////////////////////////////
294
+ zeDdiTable.Fence .pfnDestroy = [](
295
+ ze_fence_handle_t )
296
+ {
297
+ return ZE_RESULT_SUCCESS;
298
+ };
299
+
300
+ // ////////////////////////////////////////////////////////////////////////
301
+ zeDdiTable.Image .pfnCreate = [](
302
+ ze_context_handle_t ,
303
+ ze_device_handle_t ,
304
+ const ze_image_desc_t *,
305
+ ze_image_handle_t * phImage )
306
+ {
307
+ *phImage = reinterpret_cast <ze_image_handle_t >(context.get ());
308
+ return ZE_RESULT_SUCCESS;
309
+ };
310
+
311
+ // ////////////////////////////////////////////////////////////////////////
312
+ zeDdiTable.Image .pfnDestroy = [](
313
+ ze_image_handle_t )
314
+ {
315
+ return ZE_RESULT_SUCCESS;
316
+ };
317
+
318
+ // ////////////////////////////////////////////////////////////////////////
319
+ zeDdiTable.Sampler .pfnCreate = [](
320
+ ze_context_handle_t ,
321
+ ze_device_handle_t ,
322
+ const ze_sampler_desc_t *,
323
+ ze_sampler_handle_t * phSampler )
324
+ {
325
+ *phSampler = reinterpret_cast <ze_sampler_handle_t >(context.get ());
326
+ return ZE_RESULT_SUCCESS;
327
+ };
328
+
329
+ // ////////////////////////////////////////////////////////////////////////
330
+ zeDdiTable.Sampler .pfnDestroy = [](
331
+ ze_sampler_handle_t )
332
+ {
333
+ return ZE_RESULT_SUCCESS;
334
+ };
335
+
336
+ // ////////////////////////////////////////////////////////////////////////
337
+ zeDdiTable.Kernel .pfnCreate = [](
338
+ ze_module_handle_t ,
339
+ const ze_kernel_desc_t *,
340
+ ze_kernel_handle_t * phKernel )
341
+ {
342
+ *phKernel = reinterpret_cast <ze_kernel_handle_t >(context.get ());
343
+ return ZE_RESULT_SUCCESS;
344
+ };
345
+
346
+ // ////////////////////////////////////////////////////////////////////////
347
+ zeDdiTable.Kernel .pfnDestroy = [](
348
+ ze_kernel_handle_t )
349
+ {
350
+ return ZE_RESULT_SUCCESS;
351
+ };
140
352
141
353
// ////////////////////////////////////////////////////////////////////////
142
354
zeDdiTable.Device .pfnGetProperties = [](
@@ -373,6 +585,18 @@ namespace driver
373
585
pCore.Driver = &zeDdiTable.Driver ;
374
586
pCore.Device = &zeDdiTable.Device ;
375
587
pCore.Mem = &zeDdiTable.Mem ;
588
+ pCore.CommandList = &zeDdiTable.CommandList ;
589
+ pCore.CommandQueue = &zeDdiTable.CommandQueue ;
590
+ pCore.Context = &zeDdiTable.Context ;
591
+ pCore.Event = &zeDdiTable.Event ;
592
+ pCore.EventPool = &zeDdiTable.EventPool ;
593
+ pCore.Module = &zeDdiTable.Module ;
594
+ pCore.ModuleBuildLog = &zeDdiTable.ModuleBuildLog ;
595
+ pCore.PhysicalMem = &zeDdiTable.PhysicalMem ;
596
+ pCore.Kernel = &zeDdiTable.Kernel ;
597
+ pCore.Fence = &zeDdiTable.Fence ;
598
+ pCore.Image = &zeDdiTable.Image ;
599
+ pCore.Sampler = &zeDdiTable.Sampler ;
376
600
pCore.isValidFlag = 1 ;
377
601
pCore.version = ZE_API_VERSION_CURRENT;
378
602
pTools.MetricGroup = &zetDdiTable.MetricGroup ;
0 commit comments