Skip to content

Commit 1413421

Browse files
Fix backwards compatibility usage of Get*ProcAddrTable (#231)
Make the results of certain Get*ProcAddrTable calls in ze_libddi.cpp ignored as not all drivers will implement these functions. These functions populate different sections of DDI tables in the lib component. Fixes #196 Relates to VLCLJ-2339 Signed-off-by: Lisanna Dettwyler <[email protected]>
1 parent 3575f4a commit 1413421

File tree

3 files changed

+96
-48
lines changed

3 files changed

+96
-48
lines changed

source/lib/ze_libddi.cpp

Lines changed: 44 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,18 @@ namespace ze_lib
3030

3131
if( ZE_RESULT_SUCCESS == result )
3232
{
33+
// Optional
3334
auto getTable = reinterpret_cast<ze_pfnGetRTASBuilderExpProcAddrTable_t>(
3435
GET_FUNCTION_PTR(loader, "zeGetRTASBuilderExpProcAddrTable") );
35-
result = getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.RTASBuilderExp );
36+
getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.RTASBuilderExp );
3637
}
3738

3839
if( ZE_RESULT_SUCCESS == result )
3940
{
41+
// Optional
4042
auto getTable = reinterpret_cast<ze_pfnGetRTASParallelOperationExpProcAddrTable_t>(
4143
GET_FUNCTION_PTR(loader, "zeGetRTASParallelOperationExpProcAddrTable") );
42-
result = getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.RTASParallelOperationExp );
44+
getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.RTASParallelOperationExp );
4345
}
4446

4547
if( ZE_RESULT_SUCCESS == result )
@@ -51,9 +53,10 @@ namespace ze_lib
5153

5254
if( ZE_RESULT_SUCCESS == result )
5355
{
56+
// Optional
5457
auto getTable = reinterpret_cast<ze_pfnGetDriverExpProcAddrTable_t>(
5558
GET_FUNCTION_PTR(loader, "zeGetDriverExpProcAddrTable") );
56-
result = getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.DriverExp );
59+
getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.DriverExp );
5760
}
5861

5962
if( ZE_RESULT_SUCCESS == result )
@@ -65,9 +68,10 @@ namespace ze_lib
6568

6669
if( ZE_RESULT_SUCCESS == result )
6770
{
71+
// Optional
6872
auto getTable = reinterpret_cast<ze_pfnGetDeviceExpProcAddrTable_t>(
6973
GET_FUNCTION_PTR(loader, "zeGetDeviceExpProcAddrTable") );
70-
result = getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.DeviceExp );
74+
getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.DeviceExp );
7175
}
7276

7377
if( ZE_RESULT_SUCCESS == result )
@@ -93,9 +97,10 @@ namespace ze_lib
9397

9498
if( ZE_RESULT_SUCCESS == result )
9599
{
100+
// Optional
96101
auto getTable = reinterpret_cast<ze_pfnGetCommandListExpProcAddrTable_t>(
97102
GET_FUNCTION_PTR(loader, "zeGetCommandListExpProcAddrTable") );
98-
result = getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.CommandListExp );
103+
getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.CommandListExp );
99104
}
100105

101106
if( ZE_RESULT_SUCCESS == result )
@@ -107,9 +112,10 @@ namespace ze_lib
107112

108113
if( ZE_RESULT_SUCCESS == result )
109114
{
115+
// Optional
110116
auto getTable = reinterpret_cast<ze_pfnGetEventExpProcAddrTable_t>(
111117
GET_FUNCTION_PTR(loader, "zeGetEventExpProcAddrTable") );
112-
result = getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.EventExp );
118+
getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.EventExp );
113119
}
114120

115121
if( ZE_RESULT_SUCCESS == result )
@@ -135,9 +141,10 @@ namespace ze_lib
135141

136142
if( ZE_RESULT_SUCCESS == result )
137143
{
144+
// Optional
138145
auto getTable = reinterpret_cast<ze_pfnGetImageExpProcAddrTable_t>(
139146
GET_FUNCTION_PTR(loader, "zeGetImageExpProcAddrTable") );
140-
result = getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.ImageExp );
147+
getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.ImageExp );
141148
}
142149

143150
if( ZE_RESULT_SUCCESS == result )
@@ -149,9 +156,10 @@ namespace ze_lib
149156

150157
if( ZE_RESULT_SUCCESS == result )
151158
{
159+
// Optional
152160
auto getTable = reinterpret_cast<ze_pfnGetKernelExpProcAddrTable_t>(
153161
GET_FUNCTION_PTR(loader, "zeGetKernelExpProcAddrTable") );
154-
result = getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.KernelExp );
162+
getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.KernelExp );
155163
}
156164

157165
if( ZE_RESULT_SUCCESS == result )
@@ -163,9 +171,10 @@ namespace ze_lib
163171

164172
if( ZE_RESULT_SUCCESS == result )
165173
{
174+
// Optional
166175
auto getTable = reinterpret_cast<ze_pfnGetMemExpProcAddrTable_t>(
167176
GET_FUNCTION_PTR(loader, "zeGetMemExpProcAddrTable") );
168-
result = getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.MemExp );
177+
getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.MemExp );
169178
}
170179

171180
if( ZE_RESULT_SUCCESS == result )
@@ -205,16 +214,18 @@ namespace ze_lib
205214

206215
if( ZE_RESULT_SUCCESS == result )
207216
{
217+
// Optional
208218
auto getTable = reinterpret_cast<ze_pfnGetFabricEdgeExpProcAddrTable_t>(
209219
GET_FUNCTION_PTR(loader, "zeGetFabricEdgeExpProcAddrTable") );
210-
result = getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.FabricEdgeExp );
220+
getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.FabricEdgeExp );
211221
}
212222

213223
if( ZE_RESULT_SUCCESS == result )
214224
{
225+
// Optional
215226
auto getTable = reinterpret_cast<ze_pfnGetFabricVertexExpProcAddrTable_t>(
216227
GET_FUNCTION_PTR(loader, "zeGetFabricVertexExpProcAddrTable") );
217-
result = getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.FabricVertexExp );
228+
getTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.FabricVertexExp );
218229
}
219230

220231
return result;
@@ -231,12 +242,14 @@ namespace ze_lib
231242

232243
if( ZE_RESULT_SUCCESS == result )
233244
{
234-
result = zeGetRTASBuilderExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.RTASBuilderExp );
245+
// Optional
246+
zeGetRTASBuilderExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.RTASBuilderExp );
235247
}
236248

237249
if( ZE_RESULT_SUCCESS == result )
238250
{
239-
result = zeGetRTASParallelOperationExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.RTASParallelOperationExp );
251+
// Optional
252+
zeGetRTASParallelOperationExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.RTASParallelOperationExp );
240253
}
241254

242255
if( ZE_RESULT_SUCCESS == result )
@@ -246,7 +259,8 @@ namespace ze_lib
246259

247260
if( ZE_RESULT_SUCCESS == result )
248261
{
249-
result = zeGetDriverExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.DriverExp );
262+
// Optional
263+
zeGetDriverExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.DriverExp );
250264
}
251265

252266
if( ZE_RESULT_SUCCESS == result )
@@ -256,7 +270,8 @@ namespace ze_lib
256270

257271
if( ZE_RESULT_SUCCESS == result )
258272
{
259-
result = zeGetDeviceExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.DeviceExp );
273+
// Optional
274+
zeGetDeviceExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.DeviceExp );
260275
}
261276

262277
if( ZE_RESULT_SUCCESS == result )
@@ -276,7 +291,8 @@ namespace ze_lib
276291

277292
if( ZE_RESULT_SUCCESS == result )
278293
{
279-
result = zeGetCommandListExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.CommandListExp );
294+
// Optional
295+
zeGetCommandListExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.CommandListExp );
280296
}
281297

282298
if( ZE_RESULT_SUCCESS == result )
@@ -286,7 +302,8 @@ namespace ze_lib
286302

287303
if( ZE_RESULT_SUCCESS == result )
288304
{
289-
result = zeGetEventExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.EventExp );
305+
// Optional
306+
zeGetEventExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.EventExp );
290307
}
291308

292309
if( ZE_RESULT_SUCCESS == result )
@@ -306,7 +323,8 @@ namespace ze_lib
306323

307324
if( ZE_RESULT_SUCCESS == result )
308325
{
309-
result = zeGetImageExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.ImageExp );
326+
// Optional
327+
zeGetImageExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.ImageExp );
310328
}
311329

312330
if( ZE_RESULT_SUCCESS == result )
@@ -316,7 +334,8 @@ namespace ze_lib
316334

317335
if( ZE_RESULT_SUCCESS == result )
318336
{
319-
result = zeGetKernelExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.KernelExp );
337+
// Optional
338+
zeGetKernelExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.KernelExp );
320339
}
321340

322341
if( ZE_RESULT_SUCCESS == result )
@@ -326,7 +345,8 @@ namespace ze_lib
326345

327346
if( ZE_RESULT_SUCCESS == result )
328347
{
329-
result = zeGetMemExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.MemExp );
348+
// Optional
349+
zeGetMemExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.MemExp );
330350
}
331351

332352
if( ZE_RESULT_SUCCESS == result )
@@ -356,12 +376,14 @@ namespace ze_lib
356376

357377
if( ZE_RESULT_SUCCESS == result )
358378
{
359-
result = zeGetFabricEdgeExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.FabricEdgeExp );
379+
// Optional
380+
zeGetFabricEdgeExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.FabricEdgeExp );
360381
}
361382

362383
if( ZE_RESULT_SUCCESS == result )
363384
{
364-
result = zeGetFabricVertexExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.FabricVertexExp );
385+
// Optional
386+
zeGetFabricVertexExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzeDdiTable.FabricVertexExp );
365387
}
366388

367389
return result;

source/lib/zes_libddi.cpp

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,10 @@ namespace ze_lib
2323

2424
if( ZE_RESULT_SUCCESS == result )
2525
{
26+
// Optional
2627
auto getTable = reinterpret_cast<zes_pfnGetGlobalProcAddrTable_t>(
2728
GET_FUNCTION_PTR(loader, "zesGetGlobalProcAddrTable") );
28-
result = getTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.Global );
29+
getTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.Global );
2930
}
3031

3132
if( ZE_RESULT_SUCCESS == result )
@@ -37,9 +38,10 @@ namespace ze_lib
3738

3839
if( ZE_RESULT_SUCCESS == result )
3940
{
41+
// Optional
4042
auto getTable = reinterpret_cast<zes_pfnGetDeviceExpProcAddrTable_t>(
4143
GET_FUNCTION_PTR(loader, "zesGetDeviceExpProcAddrTable") );
42-
result = getTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.DeviceExp );
44+
getTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.DeviceExp );
4345
}
4446

4547
if( ZE_RESULT_SUCCESS == result )
@@ -51,9 +53,10 @@ namespace ze_lib
5153

5254
if( ZE_RESULT_SUCCESS == result )
5355
{
56+
// Optional
5457
auto getTable = reinterpret_cast<zes_pfnGetDriverExpProcAddrTable_t>(
5558
GET_FUNCTION_PTR(loader, "zesGetDriverExpProcAddrTable") );
56-
result = getTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.DriverExp );
59+
getTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.DriverExp );
5760
}
5861

5962
if( ZE_RESULT_SUCCESS == result )
@@ -93,9 +96,10 @@ namespace ze_lib
9396

9497
if( ZE_RESULT_SUCCESS == result )
9598
{
99+
// Optional
96100
auto getTable = reinterpret_cast<zes_pfnGetFirmwareExpProcAddrTable_t>(
97101
GET_FUNCTION_PTR(loader, "zesGetFirmwareExpProcAddrTable") );
98-
result = getTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.FirmwareExp );
102+
getTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.FirmwareExp );
99103
}
100104

101105
if( ZE_RESULT_SUCCESS == result )
@@ -121,9 +125,10 @@ namespace ze_lib
121125

122126
if( ZE_RESULT_SUCCESS == result )
123127
{
128+
// Optional
124129
auto getTable = reinterpret_cast<zes_pfnGetOverclockProcAddrTable_t>(
125130
GET_FUNCTION_PTR(loader, "zesGetOverclockProcAddrTable") );
126-
result = getTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.Overclock );
131+
getTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.Overclock );
127132
}
128133

129134
if( ZE_RESULT_SUCCESS == result )
@@ -156,9 +161,10 @@ namespace ze_lib
156161

157162
if( ZE_RESULT_SUCCESS == result )
158163
{
164+
// Optional
159165
auto getTable = reinterpret_cast<zes_pfnGetRasExpProcAddrTable_t>(
160166
GET_FUNCTION_PTR(loader, "zesGetRasExpProcAddrTable") );
161-
result = getTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.RasExp );
167+
getTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.RasExp );
162168
}
163169

164170
if( ZE_RESULT_SUCCESS == result )
@@ -184,9 +190,10 @@ namespace ze_lib
184190

185191
if( ZE_RESULT_SUCCESS == result )
186192
{
193+
// Optional
187194
auto getTable = reinterpret_cast<zes_pfnGetVFManagementExpProcAddrTable_t>(
188195
GET_FUNCTION_PTR(loader, "zesGetVFManagementExpProcAddrTable") );
189-
result = getTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.VFManagementExp );
196+
getTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.VFManagementExp );
190197
}
191198

192199
return result;
@@ -198,7 +205,8 @@ namespace ze_lib
198205

199206
if( ZE_RESULT_SUCCESS == result )
200207
{
201-
result = zesGetGlobalProcAddrTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.Global );
208+
// Optional
209+
zesGetGlobalProcAddrTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.Global );
202210
}
203211

204212
if( ZE_RESULT_SUCCESS == result )
@@ -208,7 +216,8 @@ namespace ze_lib
208216

209217
if( ZE_RESULT_SUCCESS == result )
210218
{
211-
result = zesGetDeviceExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.DeviceExp );
219+
// Optional
220+
zesGetDeviceExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.DeviceExp );
212221
}
213222

214223
if( ZE_RESULT_SUCCESS == result )
@@ -218,7 +227,8 @@ namespace ze_lib
218227

219228
if( ZE_RESULT_SUCCESS == result )
220229
{
221-
result = zesGetDriverExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.DriverExp );
230+
// Optional
231+
zesGetDriverExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.DriverExp );
222232
}
223233

224234
if( ZE_RESULT_SUCCESS == result )
@@ -248,7 +258,8 @@ namespace ze_lib
248258

249259
if( ZE_RESULT_SUCCESS == result )
250260
{
251-
result = zesGetFirmwareExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.FirmwareExp );
261+
// Optional
262+
zesGetFirmwareExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.FirmwareExp );
252263
}
253264

254265
if( ZE_RESULT_SUCCESS == result )
@@ -268,7 +279,8 @@ namespace ze_lib
268279

269280
if( ZE_RESULT_SUCCESS == result )
270281
{
271-
result = zesGetOverclockProcAddrTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.Overclock );
282+
// Optional
283+
zesGetOverclockProcAddrTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.Overclock );
272284
}
273285

274286
if( ZE_RESULT_SUCCESS == result )
@@ -293,7 +305,8 @@ namespace ze_lib
293305

294306
if( ZE_RESULT_SUCCESS == result )
295307
{
296-
result = zesGetRasExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.RasExp );
308+
// Optional
309+
zesGetRasExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.RasExp );
297310
}
298311

299312
if( ZE_RESULT_SUCCESS == result )
@@ -313,7 +326,8 @@ namespace ze_lib
313326

314327
if( ZE_RESULT_SUCCESS == result )
315328
{
316-
result = zesGetVFManagementExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.VFManagementExp );
329+
// Optional
330+
zesGetVFManagementExpProcAddrTable( ZE_API_VERSION_CURRENT, &initialzesDdiTable.VFManagementExp );
317331
}
318332

319333
return result;

0 commit comments

Comments
 (0)