diff --git a/scripts/templates/ldrddi_driver_ddi.cpp.mako b/scripts/templates/ldrddi_driver_ddi.cpp.mako index b279a635..96a9ba9c 100644 --- a/scripts/templates/ldrddi_driver_ddi.cpp.mako +++ b/scripts/templates/ldrddi_driver_ddi.cpp.mako @@ -65,6 +65,10 @@ namespace loader_driver_ddi if (dditable->version < ${th.get_version(obj)}) { return ${X}_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->${th.get_table_name(n, tags, obj)} == nullptr) { + return ${X}_RESULT_ERROR_UNINITIALIZED; + } auto ${th.make_pfn_name(n, tags, obj)} = dditable->${th.get_table_name(n, tags, obj)}->${th.make_pfn_name(n, tags, obj)}; if( nullptr == ${th.make_pfn_name(n, tags, obj)} ) return ${X}_RESULT_ERROR_UNINITIALIZED; diff --git a/source/loader/ze_ldrddi_driver_ddi.cpp b/source/loader/ze_ldrddi_driver_ddi.cpp index 452ab5b6..22f275ca 100644 --- a/source/loader/ze_ldrddi_driver_ddi.cpp +++ b/source/loader/ze_ldrddi_driver_ddi.cpp @@ -29,6 +29,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Driver == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetApiVersion = dditable->Driver->pfnGetApiVersion; if( nullptr == pfnGetApiVersion ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -55,6 +59,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Driver == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Driver->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -81,6 +89,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Driver == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetIpcProperties = dditable->Driver->pfnGetIpcProperties; if( nullptr == pfnGetIpcProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -116,6 +128,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Driver == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetExtensionProperties = dditable->Driver->pfnGetExtensionProperties; if( nullptr == pfnGetExtensionProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -143,6 +159,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_1) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Driver == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetExtensionFunctionAddress = dditable->Driver->pfnGetExtensionFunctionAddress; if( nullptr == pfnGetExtensionFunctionAddress ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -170,6 +190,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_6) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Driver == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetLastErrorDescription = dditable->Driver->pfnGetLastErrorDescription; if( nullptr == pfnGetLastErrorDescription ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -203,6 +227,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGet = dditable->Device->pfnGet; if( nullptr == pfnGet ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -229,6 +257,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_7) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetRootDevice = dditable->Device->pfnGetRootDevice; if( nullptr == pfnGetRootDevice ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -262,6 +294,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetSubDevices = dditable->Device->pfnGetSubDevices; if( nullptr == pfnGetSubDevices ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -288,6 +324,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Device->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -314,6 +354,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetComputeProperties = dditable->Device->pfnGetComputeProperties; if( nullptr == pfnGetComputeProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -340,6 +384,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetModuleProperties = dditable->Device->pfnGetModuleProperties; if( nullptr == pfnGetModuleProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -376,6 +424,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetCommandQueueGroupProperties = dditable->Device->pfnGetCommandQueueGroupProperties; if( nullptr == pfnGetCommandQueueGroupProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -411,6 +463,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetMemoryProperties = dditable->Device->pfnGetMemoryProperties; if( nullptr == pfnGetMemoryProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -437,6 +493,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetMemoryAccessProperties = dditable->Device->pfnGetMemoryAccessProperties; if( nullptr == pfnGetMemoryAccessProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -471,6 +531,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetCacheProperties = dditable->Device->pfnGetCacheProperties; if( nullptr == pfnGetCacheProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -497,6 +561,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetImageProperties = dditable->Device->pfnGetImageProperties; if( nullptr == pfnGetImageProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -523,6 +591,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetExternalMemoryProperties = dditable->Device->pfnGetExternalMemoryProperties; if( nullptr == pfnGetExternalMemoryProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -550,6 +622,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetP2PProperties = dditable->Device->pfnGetP2PProperties; if( nullptr == pfnGetP2PProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -577,6 +653,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCanAccessPeer = dditable->Device->pfnCanAccessPeer; if( nullptr == pfnCanAccessPeer ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -602,6 +682,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetStatus = dditable->Device->pfnGetStatus; if( nullptr == pfnGetStatus ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -631,6 +715,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_1) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetGlobalTimestamps = dditable->Device->pfnGetGlobalTimestamps; if( nullptr == pfnGetGlobalTimestamps ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -658,6 +746,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Context == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreate = dditable->Context->pfnCreate; if( nullptr == pfnCreate ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -695,6 +787,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_1) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Context == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreateEx = dditable->Context->pfnCreateEx; if( nullptr == pfnCreateEx ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -720,6 +816,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Context == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroy = dditable->Context->pfnDestroy; if( nullptr == pfnDestroy ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -745,6 +845,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Context == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetStatus = dditable->Context->pfnGetStatus; if( nullptr == pfnGetStatus ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -773,6 +877,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandQueue == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreate = dditable->CommandQueue->pfnCreate; if( nullptr == pfnCreate ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -798,6 +906,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandQueue == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroy = dditable->CommandQueue->pfnDestroy; if( nullptr == pfnDestroy ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -827,6 +939,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandQueue == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnExecuteCommandLists = dditable->CommandQueue->pfnExecuteCommandLists; if( nullptr == pfnExecuteCommandLists ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -859,6 +975,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandQueue == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSynchronize = dditable->CommandQueue->pfnSynchronize; if( nullptr == pfnSynchronize ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -885,6 +1005,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandQueue == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetOrdinal = dditable->CommandQueue->pfnGetOrdinal; if( nullptr == pfnGetOrdinal ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -911,6 +1035,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandQueue == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetIndex = dditable->CommandQueue->pfnGetIndex; if( nullptr == pfnGetIndex ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -939,6 +1067,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreate = dditable->CommandList->pfnCreate; if( nullptr == pfnCreate ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -967,6 +1099,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreateImmediate = dditable->CommandList->pfnCreateImmediate; if( nullptr == pfnCreateImmediate ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -992,6 +1128,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroy = dditable->CommandList->pfnDestroy; if( nullptr == pfnDestroy ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1017,6 +1157,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnClose = dditable->CommandList->pfnClose; if( nullptr == pfnClose ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1042,6 +1186,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnReset = dditable->CommandList->pfnReset; if( nullptr == pfnReset ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1074,6 +1222,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendWriteGlobalTimestamp = dditable->CommandList->pfnAppendWriteGlobalTimestamp; if( nullptr == pfnAppendWriteGlobalTimestamp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1106,6 +1258,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_6) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnHostSynchronize = dditable->CommandList->pfnHostSynchronize; if( nullptr == pfnHostSynchronize ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1132,6 +1288,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetDeviceHandle = dditable->CommandList->pfnGetDeviceHandle; if( nullptr == pfnGetDeviceHandle ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1158,6 +1318,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetContextHandle = dditable->CommandList->pfnGetContextHandle; if( nullptr == pfnGetContextHandle ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1184,6 +1348,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetOrdinal = dditable->CommandList->pfnGetOrdinal; if( nullptr == pfnGetOrdinal ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1211,6 +1379,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnImmediateGetIndex = dditable->CommandList->pfnImmediateGetIndex; if( nullptr == pfnImmediateGetIndex ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1238,6 +1410,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnIsImmediate = dditable->CommandList->pfnIsImmediate; if( nullptr == pfnIsImmediate ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1268,6 +1444,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendBarrier = dditable->CommandList->pfnAppendBarrier; if( nullptr == pfnAppendBarrier ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1301,6 +1481,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendMemoryRangesBarrier = dditable->CommandList->pfnAppendMemoryRangesBarrier; if( nullptr == pfnAppendMemoryRangesBarrier ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1327,6 +1511,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Context == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSystemBarrier = dditable->Context->pfnSystemBarrier; if( nullptr == pfnSystemBarrier ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1360,6 +1548,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendMemoryCopy = dditable->CommandList->pfnAppendMemoryCopy; if( nullptr == pfnAppendMemoryCopy ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1394,6 +1586,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendMemoryFill = dditable->CommandList->pfnAppendMemoryFill; if( nullptr == pfnAppendMemoryFill ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1436,6 +1632,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendMemoryCopyRegion = dditable->CommandList->pfnAppendMemoryCopyRegion; if( nullptr == pfnAppendMemoryCopyRegion ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1470,6 +1670,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendMemoryCopyFromContext = dditable->CommandList->pfnAppendMemoryCopyFromContext; if( nullptr == pfnAppendMemoryCopyFromContext ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1502,6 +1706,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendImageCopy = dditable->CommandList->pfnAppendImageCopy; if( nullptr == pfnAppendImageCopy ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1536,6 +1744,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendImageCopyRegion = dditable->CommandList->pfnAppendImageCopyRegion; if( nullptr == pfnAppendImageCopyRegion ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1569,6 +1781,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendImageCopyToMemory = dditable->CommandList->pfnAppendImageCopyToMemory; if( nullptr == pfnAppendImageCopyToMemory ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1602,6 +1818,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendImageCopyFromMemory = dditable->CommandList->pfnAppendImageCopyFromMemory; if( nullptr == pfnAppendImageCopyFromMemory ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1629,6 +1849,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendMemoryPrefetch = dditable->CommandList->pfnAppendMemoryPrefetch; if( nullptr == pfnAppendMemoryPrefetch ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1658,6 +1882,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendMemAdvise = dditable->CommandList->pfnAppendMemAdvise; if( nullptr == pfnAppendMemAdvise ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1691,6 +1919,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->EventPool == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreate = dditable->EventPool->pfnCreate; if( nullptr == pfnCreate ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1716,6 +1948,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->EventPool == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroy = dditable->EventPool->pfnDestroy; if( nullptr == pfnDestroy ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1743,6 +1979,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Event == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreate = dditable->Event->pfnCreate; if( nullptr == pfnCreate ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1768,6 +2008,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Event == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroy = dditable->Event->pfnDestroy; if( nullptr == pfnDestroy ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1794,6 +2038,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->EventPool == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetIpcHandle = dditable->EventPool->pfnGetIpcHandle; if( nullptr == pfnGetIpcHandle ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1821,6 +2069,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_6) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->EventPool == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnPutIpcHandle = dditable->EventPool->pfnPutIpcHandle; if( nullptr == pfnPutIpcHandle ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1849,6 +2101,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->EventPool == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnOpenIpcHandle = dditable->EventPool->pfnOpenIpcHandle; if( nullptr == pfnOpenIpcHandle ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1874,6 +2130,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->EventPool == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCloseIpcHandle = dditable->EventPool->pfnCloseIpcHandle; if( nullptr == pfnCloseIpcHandle ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1900,6 +2160,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendSignalEvent = dditable->CommandList->pfnAppendSignalEvent; if( nullptr == pfnAppendSignalEvent ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1928,6 +2192,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendWaitOnEvents = dditable->CommandList->pfnAppendWaitOnEvents; if( nullptr == pfnAppendWaitOnEvents ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1953,6 +2221,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Event == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnHostSignal = dditable->Event->pfnHostSignal; if( nullptr == pfnHostSignal ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1985,6 +2257,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Event == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnHostSynchronize = dditable->Event->pfnHostSynchronize; if( nullptr == pfnHostSynchronize ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2010,6 +2286,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Event == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnQueryStatus = dditable->Event->pfnQueryStatus; if( nullptr == pfnQueryStatus ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2036,6 +2316,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendEventReset = dditable->CommandList->pfnAppendEventReset; if( nullptr == pfnAppendEventReset ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2061,6 +2345,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Event == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnHostReset = dditable->Event->pfnHostReset; if( nullptr == pfnHostReset ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2087,6 +2375,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Event == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnQueryKernelTimestamp = dditable->Event->pfnQueryKernelTimestamp; if( nullptr == pfnQueryKernelTimestamp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2124,6 +2416,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendQueryKernelTimestamps = dditable->CommandList->pfnAppendQueryKernelTimestamps; if( nullptr == pfnAppendQueryKernelTimestamps ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2150,6 +2446,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Event == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetEventPool = dditable->Event->pfnGetEventPool; if( nullptr == pfnGetEventPool ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2178,6 +2478,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Event == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetSignalScope = dditable->Event->pfnGetSignalScope; if( nullptr == pfnGetSignalScope ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2206,6 +2510,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Event == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetWaitScope = dditable->Event->pfnGetWaitScope; if( nullptr == pfnGetWaitScope ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2232,6 +2540,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->EventPool == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetContextHandle = dditable->EventPool->pfnGetContextHandle; if( nullptr == pfnGetContextHandle ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2259,6 +2571,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->EventPool == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetFlags = dditable->EventPool->pfnGetFlags; if( nullptr == pfnGetFlags ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2286,6 +2602,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Fence == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreate = dditable->Fence->pfnCreate; if( nullptr == pfnCreate ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2311,6 +2631,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Fence == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroy = dditable->Fence->pfnDestroy; if( nullptr == pfnDestroy ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2343,6 +2667,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Fence == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnHostSynchronize = dditable->Fence->pfnHostSynchronize; if( nullptr == pfnHostSynchronize ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2368,6 +2696,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Fence == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnQueryStatus = dditable->Fence->pfnQueryStatus; if( nullptr == pfnQueryStatus ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2393,6 +2725,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Fence == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnReset = dditable->Fence->pfnReset; if( nullptr == pfnReset ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2420,6 +2756,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Image == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Image->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2448,6 +2788,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Image == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreate = dditable->Image->pfnCreate; if( nullptr == pfnCreate ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2473,6 +2817,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Image == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroy = dditable->Image->pfnDestroy; if( nullptr == pfnDestroy ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2506,6 +2854,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Mem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAllocShared = dditable->Mem->pfnAllocShared; if( nullptr == pfnAllocShared ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2538,6 +2890,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Mem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAllocDevice = dditable->Mem->pfnAllocDevice; if( nullptr == pfnAllocDevice ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2569,6 +2925,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Mem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAllocHost = dditable->Mem->pfnAllocHost; if( nullptr == pfnAllocHost ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2595,6 +2955,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Mem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnFree = dditable->Mem->pfnFree; if( nullptr == pfnFree ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2623,6 +2987,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Mem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetAllocProperties = dditable->Mem->pfnGetAllocProperties; if( nullptr == pfnGetAllocProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2651,6 +3019,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Mem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetAddressRange = dditable->Mem->pfnGetAddressRange; if( nullptr == pfnGetAddressRange ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2678,6 +3050,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Mem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetIpcHandle = dditable->Mem->pfnGetIpcHandle; if( nullptr == pfnGetIpcHandle ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2705,6 +3081,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_6) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MemExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetIpcHandleFromFileDescriptorExp = dditable->MemExp->pfnGetIpcHandleFromFileDescriptorExp; if( nullptr == pfnGetIpcHandleFromFileDescriptorExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2732,6 +3112,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_6) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MemExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetFileDescriptorFromIpcHandleExp = dditable->MemExp->pfnGetFileDescriptorFromIpcHandleExp; if( nullptr == pfnGetFileDescriptorFromIpcHandleExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2758,6 +3142,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_6) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Mem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnPutIpcHandle = dditable->Mem->pfnPutIpcHandle; if( nullptr == pfnPutIpcHandle ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2788,6 +3176,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Mem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnOpenIpcHandle = dditable->Mem->pfnOpenIpcHandle; if( nullptr == pfnOpenIpcHandle ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2814,6 +3206,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Mem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCloseIpcHandle = dditable->Mem->pfnCloseIpcHandle; if( nullptr == pfnCloseIpcHandle ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2844,6 +3240,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_7) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MemExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetAtomicAccessAttributeExp = dditable->MemExp->pfnSetAtomicAccessAttributeExp; if( nullptr == pfnSetAtomicAccessAttributeExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2873,6 +3273,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_7) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MemExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetAtomicAccessAttributeExp = dditable->MemExp->pfnGetAtomicAccessAttributeExp; if( nullptr == pfnGetAtomicAccessAttributeExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2902,6 +3306,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Module == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreate = dditable->Module->pfnCreate; if( nullptr == pfnCreate ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2927,6 +3335,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Module == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroy = dditable->Module->pfnDestroy; if( nullptr == pfnDestroy ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2955,6 +3367,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Module == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDynamicLink = dditable->Module->pfnDynamicLink; if( nullptr == pfnDynamicLink ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2980,6 +3396,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->ModuleBuildLog == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroy = dditable->ModuleBuildLog->pfnDestroy; if( nullptr == pfnDestroy ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3007,6 +3427,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->ModuleBuildLog == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetString = dditable->ModuleBuildLog->pfnGetString; if( nullptr == pfnGetString ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3034,6 +3458,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Module == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetNativeBinary = dditable->Module->pfnGetNativeBinary; if( nullptr == pfnGetNativeBinary ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3062,6 +3490,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Module == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetGlobalPointer = dditable->Module->pfnGetGlobalPointer; if( nullptr == pfnGetGlobalPointer ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3095,6 +3527,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Module == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetKernelNames = dditable->Module->pfnGetKernelNames; if( nullptr == pfnGetKernelNames ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3121,6 +3557,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Module == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Module->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3148,6 +3588,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Kernel == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreate = dditable->Kernel->pfnCreate; if( nullptr == pfnCreate ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3173,6 +3617,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Kernel == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroy = dditable->Kernel->pfnDestroy; if( nullptr == pfnDestroy ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3200,6 +3648,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Module == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetFunctionPointer = dditable->Module->pfnGetFunctionPointer; if( nullptr == pfnGetFunctionPointer ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3228,6 +3680,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Kernel == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetGroupSize = dditable->Kernel->pfnSetGroupSize; if( nullptr == pfnSetGroupSize ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3259,6 +3715,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Kernel == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSuggestGroupSize = dditable->Kernel->pfnSuggestGroupSize; if( nullptr == pfnSuggestGroupSize ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3285,6 +3745,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Kernel == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSuggestMaxCooperativeGroupCount = dditable->Kernel->pfnSuggestMaxCooperativeGroupCount; if( nullptr == pfnSuggestMaxCooperativeGroupCount ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3314,6 +3778,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Kernel == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetArgumentValue = dditable->Kernel->pfnSetArgumentValue; if( nullptr == pfnSetArgumentValue ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3340,6 +3808,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Kernel == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetIndirectAccess = dditable->Kernel->pfnSetIndirectAccess; if( nullptr == pfnSetIndirectAccess ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3366,6 +3838,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Kernel == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetIndirectAccess = dditable->Kernel->pfnGetIndirectAccess; if( nullptr == pfnGetIndirectAccess ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3404,6 +3880,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Kernel == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetSourceAttributes = dditable->Kernel->pfnGetSourceAttributes; if( nullptr == pfnGetSourceAttributes ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3431,6 +3911,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Kernel == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetCacheConfig = dditable->Kernel->pfnSetCacheConfig; if( nullptr == pfnSetCacheConfig ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3457,6 +3941,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Kernel == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Kernel->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3485,6 +3973,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Kernel == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetName = dditable->Kernel->pfnGetName; if( nullptr == pfnGetName ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3517,6 +4009,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendLaunchKernel = dditable->CommandList->pfnAppendLaunchKernel; if( nullptr == pfnAppendLaunchKernel ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3549,6 +4045,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendLaunchCooperativeKernel = dditable->CommandList->pfnAppendLaunchCooperativeKernel; if( nullptr == pfnAppendLaunchCooperativeKernel ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3582,6 +4082,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendLaunchKernelIndirect = dditable->CommandList->pfnAppendLaunchKernelIndirect; if( nullptr == pfnAppendLaunchKernelIndirect ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3619,6 +4123,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendLaunchMultipleKernelsIndirect = dditable->CommandList->pfnAppendLaunchMultipleKernelsIndirect; if( nullptr == pfnAppendLaunchMultipleKernelsIndirect ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3647,6 +4155,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Context == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnMakeMemoryResident = dditable->Context->pfnMakeMemoryResident; if( nullptr == pfnMakeMemoryResident ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3675,6 +4187,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Context == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEvictMemory = dditable->Context->pfnEvictMemory; if( nullptr == pfnEvictMemory ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3702,6 +4218,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Context == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnMakeImageResident = dditable->Context->pfnMakeImageResident; if( nullptr == pfnMakeImageResident ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3729,6 +4249,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Context == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEvictImage = dditable->Context->pfnEvictImage; if( nullptr == pfnEvictImage ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3757,6 +4281,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Sampler == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreate = dditable->Sampler->pfnCreate; if( nullptr == pfnCreate ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3782,6 +4310,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Sampler == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroy = dditable->Sampler->pfnDestroy; if( nullptr == pfnDestroy ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3811,6 +4343,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->VirtualMem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnReserve = dditable->VirtualMem->pfnReserve; if( nullptr == pfnReserve ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3838,6 +4374,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->VirtualMem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnFree = dditable->VirtualMem->pfnFree; if( nullptr == pfnFree ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3867,6 +4407,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->VirtualMem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnQueryPageSize = dditable->VirtualMem->pfnQueryPageSize; if( nullptr == pfnQueryPageSize ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3896,6 +4440,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->PhysicalMem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreate = dditable->PhysicalMem->pfnCreate; if( nullptr == pfnCreate ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3922,6 +4470,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->PhysicalMem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroy = dditable->PhysicalMem->pfnDestroy; if( nullptr == pfnDestroy ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3955,6 +4507,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->VirtualMem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnMap = dditable->VirtualMem->pfnMap; if( nullptr == pfnMap ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3982,6 +4538,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->VirtualMem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnUnmap = dditable->VirtualMem->pfnUnmap; if( nullptr == pfnUnmap ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4011,6 +4571,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->VirtualMem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetAccessAttribute = dditable->VirtualMem->pfnSetAccessAttribute; if( nullptr == pfnSetAccessAttribute ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4041,6 +4605,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->VirtualMem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetAccessAttribute = dditable->VirtualMem->pfnGetAccessAttribute; if( nullptr == pfnGetAccessAttribute ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4069,6 +4637,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_1) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->KernelExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetGlobalOffsetExp = dditable->KernelExp->pfnSetGlobalOffsetExp; if( nullptr == pfnSetGlobalOffsetExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4096,6 +4668,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_11) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->KernelExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetBinaryExp = dditable->KernelExp->pfnGetBinaryExp; if( nullptr == pfnGetBinaryExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4123,6 +4699,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_12) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnImportExternalSemaphoreExt = dditable->Device->pfnImportExternalSemaphoreExt; if( nullptr == pfnImportExternalSemaphoreExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4148,6 +4728,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_12) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnReleaseExternalSemaphoreExt = dditable->Device->pfnReleaseExternalSemaphoreExt; if( nullptr == pfnReleaseExternalSemaphoreExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4182,6 +4766,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_12) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendSignalExternalSemaphoreExt = dditable->CommandList->pfnAppendSignalExternalSemaphoreExt; if( nullptr == pfnAppendSignalExternalSemaphoreExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4216,6 +4804,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_12) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendWaitExternalSemaphoreExt = dditable->CommandList->pfnAppendWaitExternalSemaphoreExt; if( nullptr == pfnAppendWaitExternalSemaphoreExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4243,6 +4835,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_13) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->RTASBuilder == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreateExt = dditable->RTASBuilder->pfnCreateExt; if( nullptr == pfnCreateExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4270,6 +4866,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_13) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->RTASBuilder == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetBuildPropertiesExt = dditable->RTASBuilder->pfnGetBuildPropertiesExt; if( nullptr == pfnGetBuildPropertiesExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4297,6 +4897,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_13) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Driver == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnRTASFormatCompatibilityCheckExt = dditable->Driver->pfnRTASFormatCompatibilityCheckExt; if( nullptr == pfnRTASFormatCompatibilityCheckExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4334,6 +4938,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_13) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->RTASBuilder == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnBuildExt = dditable->RTASBuilder->pfnBuildExt; if( nullptr == pfnBuildExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4369,6 +4977,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_13) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->RTASBuilder == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCommandListAppendCopyExt = dditable->RTASBuilder->pfnCommandListAppendCopyExt; if( nullptr == pfnCommandListAppendCopyExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4394,6 +5006,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_13) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->RTASBuilder == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroyExt = dditable->RTASBuilder->pfnDestroyExt; if( nullptr == pfnDestroyExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4420,6 +5036,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_13) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->RTASParallelOperation == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreateExt = dditable->RTASParallelOperation->pfnCreateExt; if( nullptr == pfnCreateExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4446,6 +5066,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_13) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->RTASParallelOperation == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetPropertiesExt = dditable->RTASParallelOperation->pfnGetPropertiesExt; if( nullptr == pfnGetPropertiesExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4471,6 +5095,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_13) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->RTASParallelOperation == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnJoinExt = dditable->RTASParallelOperation->pfnJoinExt; if( nullptr == pfnJoinExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4496,6 +5124,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_13) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->RTASParallelOperation == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroyExt = dditable->RTASParallelOperation->pfnDestroyExt; if( nullptr == pfnDestroyExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4530,6 +5162,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_13) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetVectorWidthPropertiesExt = dditable->Device->pfnGetVectorWidthPropertiesExt; if( nullptr == pfnGetVectorWidthPropertiesExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4560,6 +5196,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_2) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnReserveCacheExt = dditable->Device->pfnReserveCacheExt; if( nullptr == pfnReserveCacheExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4588,6 +5228,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_2) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetCacheAdviceExt = dditable->Device->pfnSetCacheAdviceExt; if( nullptr == pfnSetCacheAdviceExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4622,6 +5266,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_2) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->EventExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnQueryTimestampsExp = dditable->EventExp->pfnQueryTimestampsExp; if( nullptr == pfnQueryTimestampsExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4648,6 +5296,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_2) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->ImageExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetMemoryPropertiesExp = dditable->ImageExp->pfnGetMemoryPropertiesExp; if( nullptr == pfnGetMemoryPropertiesExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4677,6 +5329,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_5) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Image == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnViewCreateExt = dditable->Image->pfnViewCreateExt; if( nullptr == pfnViewCreateExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4706,6 +5362,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_2) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->ImageExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnViewCreateExp = dditable->ImageExp->pfnViewCreateExp; if( nullptr == pfnViewCreateExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4732,6 +5392,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_2) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->KernelExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSchedulingHintExp = dditable->KernelExp->pfnSchedulingHintExp; if( nullptr == pfnSchedulingHintExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4758,6 +5422,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_3) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnPciGetPropertiesExt = dditable->Device->pfnPciGetPropertiesExt; if( nullptr == pfnPciGetPropertiesExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4795,6 +5463,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_3) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendImageCopyToMemoryExt = dditable->CommandList->pfnAppendImageCopyToMemoryExt; if( nullptr == pfnAppendImageCopyToMemoryExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4832,6 +5504,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_3) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendImageCopyFromMemoryExt = dditable->CommandList->pfnAppendImageCopyFromMemoryExt; if( nullptr == pfnAppendImageCopyFromMemoryExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4859,6 +5535,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_3) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Image == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetAllocPropertiesExt = dditable->Image->pfnGetAllocPropertiesExt; if( nullptr == pfnGetAllocPropertiesExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4889,6 +5569,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_3) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Module == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnInspectLinkageExt = dditable->Module->pfnInspectLinkageExt; if( nullptr == pfnInspectLinkageExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4916,6 +5600,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_3) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Mem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnFreeExt = dditable->Mem->pfnFreeExt; if( nullptr == pfnFreeExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4950,6 +5638,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_4) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->FabricVertexExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetExp = dditable->FabricVertexExp->pfnGetExp; if( nullptr == pfnGetExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4984,6 +5676,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_4) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->FabricVertexExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetSubVerticesExp = dditable->FabricVertexExp->pfnGetSubVerticesExp; if( nullptr == pfnGetSubVerticesExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5010,6 +5706,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_4) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->FabricVertexExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetPropertiesExp = dditable->FabricVertexExp->pfnGetPropertiesExp; if( nullptr == pfnGetPropertiesExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5036,6 +5736,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_4) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->FabricVertexExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetDeviceExp = dditable->FabricVertexExp->pfnGetDeviceExp; if( nullptr == pfnGetDeviceExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5062,6 +5766,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_4) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->DeviceExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetFabricVertexExp = dditable->DeviceExp->pfnGetFabricVertexExp; if( nullptr == pfnGetFabricVertexExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5097,6 +5805,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_4) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->FabricEdgeExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetExp = dditable->FabricEdgeExp->pfnGetExp; if( nullptr == pfnGetExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5124,6 +5836,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_4) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->FabricEdgeExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetVerticesExp = dditable->FabricEdgeExp->pfnGetVerticesExp; if( nullptr == pfnGetVerticesExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5150,6 +5866,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_4) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->FabricEdgeExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetPropertiesExp = dditable->FabricEdgeExp->pfnGetPropertiesExp; if( nullptr == pfnGetPropertiesExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5191,6 +5911,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_6) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Event == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnQueryKernelTimestampsExt = dditable->Event->pfnQueryKernelTimestampsExt; if( nullptr == pfnQueryKernelTimestampsExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5218,6 +5942,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_7) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->RTASBuilderExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreateExp = dditable->RTASBuilderExp->pfnCreateExp; if( nullptr == pfnCreateExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5245,6 +5973,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_7) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->RTASBuilderExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetBuildPropertiesExp = dditable->RTASBuilderExp->pfnGetBuildPropertiesExp; if( nullptr == pfnGetBuildPropertiesExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5272,6 +6004,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_7) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->DriverExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnRTASFormatCompatibilityCheckExp = dditable->DriverExp->pfnRTASFormatCompatibilityCheckExp; if( nullptr == pfnRTASFormatCompatibilityCheckExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5309,6 +6045,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_7) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->RTASBuilderExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnBuildExp = dditable->RTASBuilderExp->pfnBuildExp; if( nullptr == pfnBuildExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5334,6 +6074,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_7) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->RTASBuilderExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroyExp = dditable->RTASBuilderExp->pfnDestroyExp; if( nullptr == pfnDestroyExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5360,6 +6104,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_7) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->RTASParallelOperationExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreateExp = dditable->RTASParallelOperationExp->pfnCreateExp; if( nullptr == pfnCreateExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5386,6 +6134,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_7) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->RTASParallelOperationExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetPropertiesExp = dditable->RTASParallelOperationExp->pfnGetPropertiesExp; if( nullptr == pfnGetPropertiesExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5411,6 +6163,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_7) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->RTASParallelOperationExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnJoinExp = dditable->RTASParallelOperationExp->pfnJoinExp; if( nullptr == pfnJoinExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5436,6 +6192,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_7) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->RTASParallelOperationExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroyExp = dditable->RTASParallelOperationExp->pfnDestroyExp; if( nullptr == pfnDestroyExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5466,6 +6226,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Mem == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetPitchFor2dImage = dditable->Mem->pfnGetPitchFor2dImage; if( nullptr == pfnGetPitchFor2dImage ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5492,6 +6256,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->ImageExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetDeviceOffsetExp = dditable->ImageExp->pfnGetDeviceOffsetExp; if( nullptr == pfnGetDeviceOffsetExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5518,6 +6286,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandListExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreateCloneExp = dditable->CommandListExp->pfnCreateCloneExp; if( nullptr == pfnCreateCloneExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5554,6 +6326,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandListExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnImmediateAppendCommandListsExp = dditable->CommandListExp->pfnImmediateAppendCommandListsExp; if( nullptr == pfnImmediateAppendCommandListsExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5581,6 +6357,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandListExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetNextCommandIdExp = dditable->CommandListExp->pfnGetNextCommandIdExp; if( nullptr == pfnGetNextCommandIdExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5612,6 +6392,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_10) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandListExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetNextCommandIdWithKernelsExp = dditable->CommandListExp->pfnGetNextCommandIdWithKernelsExp; if( nullptr == pfnGetNextCommandIdWithKernelsExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5639,6 +6423,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandListExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnUpdateMutableCommandsExp = dditable->CommandListExp->pfnUpdateMutableCommandsExp; if( nullptr == pfnUpdateMutableCommandsExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5666,6 +6454,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandListExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnUpdateMutableCommandSignalEventExp = dditable->CommandListExp->pfnUpdateMutableCommandSignalEventExp; if( nullptr == pfnUpdateMutableCommandSignalEventExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5695,6 +6487,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandListExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnUpdateMutableCommandWaitEventsExp = dditable->CommandListExp->pfnUpdateMutableCommandWaitEventsExp; if( nullptr == pfnUpdateMutableCommandWaitEventsExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -5724,6 +6520,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_10) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandListExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnUpdateMutableCommandKernelsExp = dditable->CommandListExp->pfnUpdateMutableCommandKernelsExp; if( nullptr == pfnUpdateMutableCommandKernelsExp ) return ZE_RESULT_ERROR_UNINITIALIZED; diff --git a/source/loader/zes_ldrddi_driver_ddi.cpp b/source/loader/zes_ldrddi_driver_ddi.cpp index 55a39b08..4935c856 100644 --- a/source/loader/zes_ldrddi_driver_ddi.cpp +++ b/source/loader/zes_ldrddi_driver_ddi.cpp @@ -38,6 +38,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_8) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Driver == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetExtensionProperties = dditable->Driver->pfnGetExtensionProperties; if( nullptr == pfnGetExtensionProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -65,6 +69,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_8) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Driver == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetExtensionFunctionAddress = dditable->Driver->pfnGetExtensionFunctionAddress; if( nullptr == pfnGetExtensionFunctionAddress ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -99,6 +107,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_5) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGet = dditable->Device->pfnGet; if( nullptr == pfnGet ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -125,6 +137,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Device->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -151,6 +167,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetState = dditable->Device->pfnGetState; if( nullptr == pfnGetState ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -178,6 +198,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnReset = dditable->Device->pfnReset; if( nullptr == pfnReset ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -204,6 +228,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_7) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnResetExt = dditable->Device->pfnResetExt; if( nullptr == pfnResetExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -239,6 +267,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnProcessesGetState = dditable->Device->pfnProcessesGetState; if( nullptr == pfnProcessesGetState ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -265,6 +297,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnPciGetProperties = dditable->Device->pfnPciGetProperties; if( nullptr == pfnPciGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -291,6 +327,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnPciGetState = dditable->Device->pfnPciGetState; if( nullptr == pfnPciGetState ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -325,6 +365,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnPciGetBars = dditable->Device->pfnPciGetBars; if( nullptr == pfnPciGetBars ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -351,6 +395,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnPciGetStats = dditable->Device->pfnPciGetStats; if( nullptr == pfnPciGetStats ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -376,6 +424,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_5) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetOverclockWaiver = dditable->Device->pfnSetOverclockWaiver; if( nullptr == pfnSetOverclockWaiver ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -404,6 +456,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_5) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetOverclockDomains = dditable->Device->pfnGetOverclockDomains; if( nullptr == pfnGetOverclockDomains ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -433,6 +489,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_5) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetOverclockControls = dditable->Device->pfnGetOverclockControls; if( nullptr == pfnGetOverclockControls ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -460,6 +520,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_5) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnResetOverclockSettings = dditable->Device->pfnResetOverclockSettings; if( nullptr == pfnResetOverclockSettings ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -491,6 +555,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_5) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnReadOverclockState = dditable->Device->pfnReadOverclockState; if( nullptr == pfnReadOverclockState ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -527,6 +595,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_5) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnumOverclockDomains = dditable->Device->pfnEnumOverclockDomains; if( nullptr == pfnEnumOverclockDomains ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -553,6 +625,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_5) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Overclock == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetDomainProperties = dditable->Overclock->pfnGetDomainProperties; if( nullptr == pfnGetDomainProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -579,6 +655,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_5) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Overclock == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetDomainVFProperties = dditable->Overclock->pfnGetDomainVFProperties; if( nullptr == pfnGetDomainVFProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -606,6 +686,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_5) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Overclock == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetDomainControlProperties = dditable->Overclock->pfnGetDomainControlProperties; if( nullptr == pfnGetDomainControlProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -633,6 +717,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_5) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Overclock == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetControlCurrentValue = dditable->Overclock->pfnGetControlCurrentValue; if( nullptr == pfnGetControlCurrentValue ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -661,6 +749,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_5) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Overclock == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetControlPendingValue = dditable->Overclock->pfnGetControlPendingValue; if( nullptr == pfnGetControlPendingValue ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -690,6 +782,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_5) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Overclock == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetControlUserValue = dditable->Overclock->pfnSetControlUserValue; if( nullptr == pfnSetControlUserValue ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -718,6 +814,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_5) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Overclock == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetControlState = dditable->Overclock->pfnGetControlState; if( nullptr == pfnGetControlState ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -748,6 +848,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_5) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Overclock == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetVFPointValues = dditable->Overclock->pfnGetVFPointValues; if( nullptr == pfnGetVFPointValues ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -777,6 +881,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_5) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Overclock == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetVFPointValues = dditable->Overclock->pfnSetVFPointValues; if( nullptr == pfnSetVFPointValues ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -813,6 +921,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnumDiagnosticTestSuites = dditable->Device->pfnEnumDiagnosticTestSuites; if( nullptr == pfnEnumDiagnosticTestSuites ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -840,6 +952,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Diagnostics == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Diagnostics->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -874,6 +990,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Diagnostics == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetTests = dditable->Diagnostics->pfnGetTests; if( nullptr == pfnGetTests ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -904,6 +1024,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Diagnostics == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnRunTests = dditable->Diagnostics->pfnRunTests; if( nullptr == pfnRunTests ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -930,6 +1054,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_4) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEccAvailable = dditable->Device->pfnEccAvailable; if( nullptr == pfnEccAvailable ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -956,6 +1084,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_4) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEccConfigurable = dditable->Device->pfnEccConfigurable; if( nullptr == pfnEccConfigurable ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -982,6 +1114,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_4) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetEccState = dditable->Device->pfnGetEccState; if( nullptr == pfnGetEccState ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1009,6 +1145,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_4) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetEccState = dditable->Device->pfnSetEccState; if( nullptr == pfnSetEccState ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1045,6 +1185,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnumEngineGroups = dditable->Device->pfnEnumEngineGroups; if( nullptr == pfnEnumEngineGroups ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1071,6 +1215,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Engine == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Engine->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1098,6 +1246,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_7) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Engine == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetActivity = dditable->Engine->pfnGetActivity; if( nullptr == pfnGetActivity ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1124,6 +1276,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEventRegister = dditable->Device->pfnEventRegister; if( nullptr == pfnEventRegister ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1166,6 +1322,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Driver == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEventListen = dditable->Driver->pfnEventListen; if( nullptr == pfnEventListen ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1208,6 +1368,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_1) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Driver == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEventListenEx = dditable->Driver->pfnEventListenEx; if( nullptr == pfnEventListenEx ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1244,6 +1408,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnumFabricPorts = dditable->Device->pfnEnumFabricPorts; if( nullptr == pfnEnumFabricPorts ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1270,6 +1438,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->FabricPort == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->FabricPort->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1297,6 +1469,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->FabricPort == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetLinkType = dditable->FabricPort->pfnGetLinkType; if( nullptr == pfnGetLinkType ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1323,6 +1499,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->FabricPort == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetConfig = dditable->FabricPort->pfnGetConfig; if( nullptr == pfnGetConfig ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1349,6 +1529,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->FabricPort == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetConfig = dditable->FabricPort->pfnSetConfig; if( nullptr == pfnSetConfig ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1375,6 +1559,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->FabricPort == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetState = dditable->FabricPort->pfnGetState; if( nullptr == pfnGetState ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1401,6 +1589,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->FabricPort == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetThroughput = dditable->FabricPort->pfnGetThroughput; if( nullptr == pfnGetThroughput ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1427,6 +1619,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_7) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->FabricPort == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetFabricErrorCounters = dditable->FabricPort->pfnGetFabricErrorCounters; if( nullptr == pfnGetFabricErrorCounters ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1457,6 +1653,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_7) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->FabricPort == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetMultiPortThroughput = dditable->FabricPort->pfnGetMultiPortThroughput; if( nullptr == pfnGetMultiPortThroughput ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1493,6 +1693,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnumFans = dditable->Device->pfnEnumFans; if( nullptr == pfnEnumFans ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1519,6 +1723,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Fan == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Fan->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1545,6 +1753,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Fan == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetConfig = dditable->Fan->pfnGetConfig; if( nullptr == pfnGetConfig ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1570,6 +1782,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Fan == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetDefaultMode = dditable->Fan->pfnSetDefaultMode; if( nullptr == pfnSetDefaultMode ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1596,6 +1812,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Fan == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetFixedSpeedMode = dditable->Fan->pfnSetFixedSpeedMode; if( nullptr == pfnSetFixedSpeedMode ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1622,6 +1842,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Fan == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetSpeedTableMode = dditable->Fan->pfnSetSpeedTableMode; if( nullptr == pfnSetSpeedTableMode ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1651,6 +1875,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Fan == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetState = dditable->Fan->pfnGetState; if( nullptr == pfnGetState ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1687,6 +1915,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnumFirmwares = dditable->Device->pfnEnumFirmwares; if( nullptr == pfnEnumFirmwares ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1714,6 +1946,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Firmware == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Firmware->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1741,6 +1977,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Firmware == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnFlash = dditable->Firmware->pfnFlash; if( nullptr == pfnFlash ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1767,6 +2007,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_8) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Firmware == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetFlashProgress = dditable->Firmware->pfnGetFlashProgress; if( nullptr == pfnGetFlashProgress ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1794,6 +2038,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Firmware == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetConsoleLogs = dditable->Firmware->pfnGetConsoleLogs; if( nullptr == pfnGetConsoleLogs ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1830,6 +2078,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnumFrequencyDomains = dditable->Device->pfnEnumFrequencyDomains; if( nullptr == pfnEnumFrequencyDomains ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1856,6 +2108,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Frequency == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Frequency->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1890,6 +2146,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Frequency == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetAvailableClocks = dditable->Frequency->pfnGetAvailableClocks; if( nullptr == pfnGetAvailableClocks ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1917,6 +2177,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Frequency == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetRange = dditable->Frequency->pfnGetRange; if( nullptr == pfnGetRange ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1944,6 +2208,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Frequency == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetRange = dditable->Frequency->pfnSetRange; if( nullptr == pfnSetRange ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1970,6 +2238,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Frequency == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetState = dditable->Frequency->pfnGetState; if( nullptr == pfnGetState ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1997,6 +2269,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Frequency == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetThrottleTime = dditable->Frequency->pfnGetThrottleTime; if( nullptr == pfnGetThrottleTime ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2023,6 +2299,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Frequency == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnOcGetCapabilities = dditable->Frequency->pfnOcGetCapabilities; if( nullptr == pfnOcGetCapabilities ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2052,6 +2332,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Frequency == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnOcGetFrequencyTarget = dditable->Frequency->pfnOcGetFrequencyTarget; if( nullptr == pfnOcGetFrequencyTarget ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2081,6 +2365,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Frequency == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnOcSetFrequencyTarget = dditable->Frequency->pfnOcSetFrequencyTarget; if( nullptr == pfnOcSetFrequencyTarget ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2112,6 +2400,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Frequency == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnOcGetVoltageTarget = dditable->Frequency->pfnOcGetVoltageTarget; if( nullptr == pfnOcGetVoltageTarget ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2143,6 +2435,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Frequency == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnOcSetVoltageTarget = dditable->Frequency->pfnOcSetVoltageTarget; if( nullptr == pfnOcSetVoltageTarget ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2169,6 +2465,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Frequency == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnOcSetMode = dditable->Frequency->pfnOcSetMode; if( nullptr == pfnOcSetMode ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2195,6 +2495,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Frequency == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnOcGetMode = dditable->Frequency->pfnOcGetMode; if( nullptr == pfnOcGetMode ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2222,6 +2526,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Frequency == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnOcGetIccMax = dditable->Frequency->pfnOcGetIccMax; if( nullptr == pfnOcGetIccMax ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2248,6 +2556,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Frequency == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnOcSetIccMax = dditable->Frequency->pfnOcSetIccMax; if( nullptr == pfnOcSetIccMax ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2275,6 +2587,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Frequency == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnOcGetTjMax = dditable->Frequency->pfnOcGetTjMax; if( nullptr == pfnOcGetTjMax ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2301,6 +2617,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Frequency == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnOcSetTjMax = dditable->Frequency->pfnOcSetTjMax; if( nullptr == pfnOcSetTjMax ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2337,6 +2657,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnumLeds = dditable->Device->pfnEnumLeds; if( nullptr == pfnEnumLeds ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2363,6 +2687,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Led == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Led->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2389,6 +2717,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Led == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetState = dditable->Led->pfnGetState; if( nullptr == pfnGetState ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2415,6 +2747,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Led == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetState = dditable->Led->pfnSetState; if( nullptr == pfnSetState ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2441,6 +2777,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Led == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetColor = dditable->Led->pfnSetColor; if( nullptr == pfnSetColor ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2477,6 +2817,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnumMemoryModules = dditable->Device->pfnEnumMemoryModules; if( nullptr == pfnEnumMemoryModules ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2503,6 +2847,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Memory == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Memory->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2529,6 +2877,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Memory == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetState = dditable->Memory->pfnGetState; if( nullptr == pfnGetState ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2556,6 +2908,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Memory == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetBandwidth = dditable->Memory->pfnGetBandwidth; if( nullptr == pfnGetBandwidth ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2592,6 +2948,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnumPerformanceFactorDomains = dditable->Device->pfnEnumPerformanceFactorDomains; if( nullptr == pfnEnumPerformanceFactorDomains ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2619,6 +2979,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->PerformanceFactor == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->PerformanceFactor->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2646,6 +3010,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->PerformanceFactor == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetConfig = dditable->PerformanceFactor->pfnGetConfig; if( nullptr == pfnGetConfig ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2672,6 +3040,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->PerformanceFactor == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetConfig = dditable->PerformanceFactor->pfnSetConfig; if( nullptr == pfnSetConfig ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2708,6 +3080,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnumPowerDomains = dditable->Device->pfnEnumPowerDomains; if( nullptr == pfnEnumPowerDomains ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2734,6 +3110,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetCardPowerDomain = dditable->Device->pfnGetCardPowerDomain; if( nullptr == pfnGetCardPowerDomain ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2760,6 +3140,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Power == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Power->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2787,6 +3171,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Power == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetEnergyCounter = dditable->Power->pfnGetEnergyCounter; if( nullptr == pfnGetEnergyCounter ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2818,6 +3206,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Power == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetLimits = dditable->Power->pfnGetLimits; if( nullptr == pfnGetLimits ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2849,6 +3241,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Power == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetLimits = dditable->Power->pfnSetLimits; if( nullptr == pfnSetLimits ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2876,6 +3272,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Power == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetEnergyThreshold = dditable->Power->pfnGetEnergyThreshold; if( nullptr == pfnGetEnergyThreshold ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2902,6 +3302,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Power == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetEnergyThreshold = dditable->Power->pfnSetEnergyThreshold; if( nullptr == pfnSetEnergyThreshold ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2938,6 +3342,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnumPsus = dditable->Device->pfnEnumPsus; if( nullptr == pfnEnumPsus ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2964,6 +3372,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Psu == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Psu->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2990,6 +3402,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Psu == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetState = dditable->Psu->pfnGetState; if( nullptr == pfnGetState ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3026,6 +3442,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnumRasErrorSets = dditable->Device->pfnEnumRasErrorSets; if( nullptr == pfnEnumRasErrorSets ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3052,6 +3472,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Ras == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Ras->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3079,6 +3503,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Ras == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetConfig = dditable->Ras->pfnGetConfig; if( nullptr == pfnGetConfig ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3105,6 +3533,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Ras == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetConfig = dditable->Ras->pfnSetConfig; if( nullptr == pfnSetConfig ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3132,6 +3564,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Ras == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetState = dditable->Ras->pfnGetState; if( nullptr == pfnGetState ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3168,6 +3604,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnumSchedulers = dditable->Device->pfnEnumSchedulers; if( nullptr == pfnEnumSchedulers ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3194,6 +3634,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Scheduler == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Scheduler->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3220,6 +3664,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Scheduler == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetCurrentMode = dditable->Scheduler->pfnGetCurrentMode; if( nullptr == pfnGetCurrentMode ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3248,6 +3696,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Scheduler == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetTimeoutModeProperties = dditable->Scheduler->pfnGetTimeoutModeProperties; if( nullptr == pfnGetTimeoutModeProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3276,6 +3728,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Scheduler == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetTimesliceModeProperties = dditable->Scheduler->pfnGetTimesliceModeProperties; if( nullptr == pfnGetTimesliceModeProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3304,6 +3760,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Scheduler == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetTimeoutMode = dditable->Scheduler->pfnSetTimeoutMode; if( nullptr == pfnSetTimeoutMode ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3332,6 +3792,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Scheduler == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetTimesliceMode = dditable->Scheduler->pfnSetTimesliceMode; if( nullptr == pfnSetTimesliceMode ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3359,6 +3823,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Scheduler == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetExclusiveMode = dditable->Scheduler->pfnSetExclusiveMode; if( nullptr == pfnSetExclusiveMode ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3386,6 +3854,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Scheduler == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetComputeUnitDebugMode = dditable->Scheduler->pfnSetComputeUnitDebugMode; if( nullptr == pfnSetComputeUnitDebugMode ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3422,6 +3894,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnumStandbyDomains = dditable->Device->pfnEnumStandbyDomains; if( nullptr == pfnEnumStandbyDomains ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3448,6 +3924,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Standby == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Standby->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3474,6 +3954,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Standby == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetMode = dditable->Standby->pfnGetMode; if( nullptr == pfnGetMode ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3500,6 +3984,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Standby == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetMode = dditable->Standby->pfnSetMode; if( nullptr == pfnSetMode ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3536,6 +4024,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnumTemperatureSensors = dditable->Device->pfnEnumTemperatureSensors; if( nullptr == pfnEnumTemperatureSensors ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3562,6 +4054,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Temperature == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Temperature->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3588,6 +4084,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Temperature == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetConfig = dditable->Temperature->pfnGetConfig; if( nullptr == pfnGetConfig ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3614,6 +4114,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Temperature == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetConfig = dditable->Temperature->pfnSetConfig; if( nullptr == pfnSetConfig ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3641,6 +4145,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Temperature == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetState = dditable->Temperature->pfnGetState; if( nullptr == pfnGetState ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3675,6 +4183,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Power == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetLimitsExt = dditable->Power->pfnGetLimitsExt; if( nullptr == pfnGetLimitsExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3702,6 +4214,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Power == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetLimitsExt = dditable->Power->pfnSetLimitsExt; if( nullptr == pfnSetLimitsExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3741,6 +4257,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_7) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Engine == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetActivityExt = dditable->Engine->pfnGetActivityExt; if( nullptr == pfnGetActivityExt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3775,6 +4295,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->RasExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetStateExp = dditable->RasExp->pfnGetStateExp; if( nullptr == pfnGetStateExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3801,6 +4325,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->RasExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnClearStateExp = dditable->RasExp->pfnClearStateExp; if( nullptr == pfnClearStateExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3828,6 +4356,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->FirmwareExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetSecurityVersionExp = dditable->FirmwareExp->pfnGetSecurityVersionExp; if( nullptr == pfnGetSecurityVersionExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3853,6 +4385,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->FirmwareExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetSecurityVersionExp = dditable->FirmwareExp->pfnSetSecurityVersionExp; if( nullptr == pfnSetSecurityVersionExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3887,6 +4423,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->DeviceExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetSubDevicePropertiesExp = dditable->DeviceExp->pfnGetSubDevicePropertiesExp; if( nullptr == pfnGetSubDevicePropertiesExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3917,6 +4457,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->DriverExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetDeviceByUuidExp = dditable->DriverExp->pfnGetDeviceByUuidExp; if( nullptr == pfnGetDeviceByUuidExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3953,6 +4497,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->DeviceExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnumActiveVFExp = dditable->DeviceExp->pfnEnumActiveVFExp; if( nullptr == pfnEnumActiveVFExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -3979,6 +4527,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->VFManagementExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetVFPropertiesExp = dditable->VFManagementExp->pfnGetVFPropertiesExp; if( nullptr == pfnGetVFPropertiesExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4017,6 +4569,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->VFManagementExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetVFMemoryUtilizationExp = dditable->VFManagementExp->pfnGetVFMemoryUtilizationExp; if( nullptr == pfnGetVFMemoryUtilizationExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4055,6 +4611,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->VFManagementExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetVFEngineUtilizationExp = dditable->VFManagementExp->pfnGetVFEngineUtilizationExp; if( nullptr == pfnGetVFEngineUtilizationExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4083,6 +4643,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->VFManagementExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetVFTelemetryModeExp = dditable->VFManagementExp->pfnSetVFTelemetryModeExp; if( nullptr == pfnSetVFTelemetryModeExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4111,6 +4675,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->VFManagementExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetVFTelemetrySamplingIntervalExp = dditable->VFManagementExp->pfnSetVFTelemetrySamplingIntervalExp; if( nullptr == pfnSetVFTelemetrySamplingIntervalExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4147,6 +4715,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_10) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->DeviceExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnumEnabledVFExp = dditable->DeviceExp->pfnEnumEnabledVFExp; if( nullptr == pfnEnumEnabledVFExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4173,6 +4745,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_10) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->VFManagementExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetVFCapabilitiesExp = dditable->VFManagementExp->pfnGetVFCapabilitiesExp; if( nullptr == pfnGetVFCapabilitiesExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4209,6 +4785,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_10) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->VFManagementExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetVFMemoryUtilizationExp2 = dditable->VFManagementExp->pfnGetVFMemoryUtilizationExp2; if( nullptr == pfnGetVFMemoryUtilizationExp2 ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4245,6 +4825,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_10) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->VFManagementExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetVFEngineUtilizationExp2 = dditable->VFManagementExp->pfnGetVFEngineUtilizationExp2; if( nullptr == pfnGetVFEngineUtilizationExp2 ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -4271,6 +4855,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_12) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->VFManagementExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetVFCapabilitiesExp2 = dditable->VFManagementExp->pfnGetVFCapabilitiesExp2; if( nullptr == pfnGetVFCapabilitiesExp2 ) return ZE_RESULT_ERROR_UNINITIALIZED; diff --git a/source/loader/zet_ldrddi_driver_ddi.cpp b/source/loader/zet_ldrddi_driver_ddi.cpp index 65c57b78..0f6bdefb 100644 --- a/source/loader/zet_ldrddi_driver_ddi.cpp +++ b/source/loader/zet_ldrddi_driver_ddi.cpp @@ -31,6 +31,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Module == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetDebugInfo = dditable->Module->pfnGetDebugInfo; if( nullptr == pfnGetDebugInfo ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -57,6 +61,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Device == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetDebugProperties = dditable->Device->pfnGetDebugProperties; if( nullptr == pfnGetDebugProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -84,6 +92,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Debug == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAttach = dditable->Debug->pfnAttach; if( nullptr == pfnAttach ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -109,6 +121,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Debug == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDetach = dditable->Debug->pfnDetach; if( nullptr == pfnDetach ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -142,6 +158,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Debug == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnReadEvent = dditable->Debug->pfnReadEvent; if( nullptr == pfnReadEvent ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -168,6 +188,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Debug == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAcknowledgeEvent = dditable->Debug->pfnAcknowledgeEvent; if( nullptr == pfnAcknowledgeEvent ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -194,6 +218,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Debug == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnInterrupt = dditable->Debug->pfnInterrupt; if( nullptr == pfnInterrupt ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -220,6 +248,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Debug == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnResume = dditable->Debug->pfnResume; if( nullptr == pfnResume ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -249,6 +281,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Debug == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnReadMemory = dditable->Debug->pfnReadMemory; if( nullptr == pfnReadMemory ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -278,6 +314,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Debug == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnWriteMemory = dditable->Debug->pfnWriteMemory; if( nullptr == pfnWriteMemory ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -313,6 +353,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Debug == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetRegisterSetProperties = dditable->Debug->pfnGetRegisterSetProperties; if( nullptr == pfnGetRegisterSetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -349,6 +393,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_5) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Debug == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetThreadRegisterSetProperties = dditable->Debug->pfnGetThreadRegisterSetProperties; if( nullptr == pfnGetThreadRegisterSetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -383,6 +431,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Debug == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnReadRegisters = dditable->Debug->pfnReadRegisters; if( nullptr == pfnReadRegisters ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -417,6 +469,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Debug == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnWriteRegisters = dditable->Debug->pfnWriteRegisters; if( nullptr == pfnWriteRegisters ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -451,6 +507,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricGroup == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGet = dditable->MetricGroup->pfnGet; if( nullptr == pfnGet ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -477,6 +537,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricGroup == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->MetricGroup->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -514,6 +578,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricGroup == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCalculateMetricValues = dditable->MetricGroup->pfnCalculateMetricValues; if( nullptr == pfnCalculateMetricValues ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -547,6 +615,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Metric == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGet = dditable->Metric->pfnGet; if( nullptr == pfnGet ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -573,6 +645,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Metric == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProperties = dditable->Metric->pfnGetProperties; if( nullptr == pfnGetProperties ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -605,6 +681,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Context == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnActivateMetricGroups = dditable->Context->pfnActivateMetricGroups; if( nullptr == pfnActivateMetricGroups ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -635,6 +715,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricStreamer == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnOpen = dditable->MetricStreamer->pfnOpen; if( nullptr == pfnOpen ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -662,6 +746,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendMetricStreamerMarker = dditable->CommandList->pfnAppendMetricStreamerMarker; if( nullptr == pfnAppendMetricStreamerMarker ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -687,6 +775,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricStreamer == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnClose = dditable->MetricStreamer->pfnClose; if( nullptr == pfnClose ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -723,6 +815,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricStreamer == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnReadData = dditable->MetricStreamer->pfnReadData; if( nullptr == pfnReadData ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -752,6 +848,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricQueryPool == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreate = dditable->MetricQueryPool->pfnCreate; if( nullptr == pfnCreate ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -777,6 +877,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricQueryPool == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroy = dditable->MetricQueryPool->pfnDestroy; if( nullptr == pfnDestroy ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -804,6 +908,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricQuery == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreate = dditable->MetricQuery->pfnCreate; if( nullptr == pfnCreate ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -829,6 +937,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricQuery == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroy = dditable->MetricQuery->pfnDestroy; if( nullptr == pfnDestroy ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -854,6 +966,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricQuery == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnReset = dditable->MetricQuery->pfnReset; if( nullptr == pfnReset ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -880,6 +996,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendMetricQueryBegin = dditable->CommandList->pfnAppendMetricQueryBegin; if( nullptr == pfnAppendMetricQueryBegin ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -909,6 +1029,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendMetricQueryEnd = dditable->CommandList->pfnAppendMetricQueryEnd; if( nullptr == pfnAppendMetricQueryEnd ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -934,6 +1058,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandList == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendMetricMemoryBarrier = dditable->CommandList->pfnAppendMetricMemoryBarrier; if( nullptr == pfnAppendMetricMemoryBarrier ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -968,6 +1096,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricQuery == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetData = dditable->MetricQuery->pfnGetData; if( nullptr == pfnGetData ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -994,6 +1126,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->Kernel == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetProfileInfo = dditable->Kernel->pfnGetProfileInfo; if( nullptr == pfnGetProfileInfo ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1021,6 +1157,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->TracerExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreate = dditable->TracerExp->pfnCreate; if( nullptr == pfnCreate ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1046,6 +1186,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->TracerExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroy = dditable->TracerExp->pfnDestroy; if( nullptr == pfnDestroy ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1072,6 +1216,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->TracerExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetPrologues = dditable->TracerExp->pfnSetPrologues; if( nullptr == pfnSetPrologues ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1098,6 +1246,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->TracerExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetEpilogues = dditable->TracerExp->pfnSetEpilogues; if( nullptr == pfnSetEpilogues ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1124,6 +1276,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_0) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->TracerExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnSetEnabled = dditable->TracerExp->pfnSetEnabled; if( nullptr == pfnSetEnabled ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1157,6 +1313,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_10) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->DeviceExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetConcurrentMetricGroupsExp = dditable->DeviceExp->pfnGetConcurrentMetricGroupsExp; if( nullptr == pfnGetConcurrentMetricGroupsExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1191,6 +1351,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_10) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricTracerExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreateExp = dditable->MetricTracerExp->pfnCreateExp; if( nullptr == pfnCreateExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1216,6 +1380,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_10) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricTracerExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroyExp = dditable->MetricTracerExp->pfnDestroyExp; if( nullptr == pfnDestroyExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1246,6 +1414,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_10) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricTracerExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnableExp = dditable->MetricTracerExp->pfnEnableExp; if( nullptr == pfnEnableExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1277,6 +1449,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_10) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricTracerExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDisableExp = dditable->MetricTracerExp->pfnDisableExp; if( nullptr == pfnDisableExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1311,6 +1487,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_10) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricTracerExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnReadDataExp = dditable->MetricTracerExp->pfnReadDataExp; if( nullptr == pfnReadDataExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1337,6 +1517,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_10) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricDecoderExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreateExp = dditable->MetricDecoderExp->pfnCreateExp; if( nullptr == pfnCreateExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1362,6 +1546,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_10) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricDecoderExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroyExp = dditable->MetricDecoderExp->pfnDestroyExp; if( nullptr == pfnDestroyExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1398,6 +1586,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_10) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricDecoderExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetDecodableMetricsExp = dditable->MetricDecoderExp->pfnGetDecodableMetricsExp; if( nullptr == pfnGetDecodableMetricsExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1462,6 +1654,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_10) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricTracerExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDecodeExp = dditable->MetricTracerExp->pfnDecodeExp; if( nullptr == pfnDecodeExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1491,6 +1687,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_13) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->CommandListExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAppendMarkerExp = dditable->CommandListExp->pfnAppendMarkerExp; if( nullptr == pfnAppendMarkerExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1516,6 +1716,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_13) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->DeviceExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnEnableMetricsExp = dditable->DeviceExp->pfnEnableMetricsExp; if( nullptr == pfnEnableMetricsExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1541,6 +1745,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_13) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->DeviceExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDisableMetricsExp = dditable->DeviceExp->pfnDisableMetricsExp; if( nullptr == pfnDisableMetricsExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1588,6 +1796,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_2) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricGroupExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCalculateMultipleMetricValuesExp = dditable->MetricGroupExp->pfnCalculateMultipleMetricValuesExp; if( nullptr == pfnCalculateMultipleMetricValuesExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1616,6 +1828,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_5) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricGroupExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetGlobalTimestampsExp = dditable->MetricGroupExp->pfnGetGlobalTimestampsExp; if( nullptr == pfnGetGlobalTimestampsExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1649,6 +1865,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_6) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricGroupExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetExportDataExp = dditable->MetricGroupExp->pfnGetExportDataExp; if( nullptr == pfnGetExportDataExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1697,6 +1917,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_6) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricGroupExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCalculateMetricExportDataExp = dditable->MetricGroupExp->pfnCalculateMetricExportDataExp; if( nullptr == pfnCalculateMetricExportDataExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1731,6 +1955,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricProgrammableExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetExp = dditable->MetricProgrammableExp->pfnGetExp; if( nullptr == pfnGetExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1757,6 +1985,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricProgrammableExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetPropertiesExp = dditable->MetricProgrammableExp->pfnGetPropertiesExp; if( nullptr == pfnGetPropertiesExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1790,6 +2022,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricProgrammableExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetParamInfoExp = dditable->MetricProgrammableExp->pfnGetParamInfoExp; if( nullptr == pfnGetParamInfoExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1824,6 +2060,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricProgrammableExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnGetParamValueInfoExp = dditable->MetricProgrammableExp->pfnGetParamValueInfoExp; if( nullptr == pfnGetParamValueInfoExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1865,6 +2105,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_11) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreateFromProgrammableExp2 = dditable->MetricExp->pfnCreateFromProgrammableExp2; if( nullptr == pfnCreateFromProgrammableExp2 ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1906,6 +2150,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreateFromProgrammableExp = dditable->MetricExp->pfnCreateFromProgrammableExp; if( nullptr == pfnCreateFromProgrammableExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1950,6 +2198,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_10) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->DeviceExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreateMetricGroupsFromMetricsExp = dditable->DeviceExp->pfnCreateMetricGroupsFromMetricsExp; if( nullptr == pfnCreateMetricGroupsFromMetricsExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -1982,6 +2234,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricGroupExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCreateExp = dditable->MetricGroupExp->pfnCreateExp; if( nullptr == pfnCreateExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2015,6 +2271,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricGroupExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnAddMetricExp = dditable->MetricGroupExp->pfnAddMetricExp; if( nullptr == pfnAddMetricExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2041,6 +2301,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricGroupExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnRemoveMetricExp = dditable->MetricGroupExp->pfnRemoveMetricExp; if( nullptr == pfnRemoveMetricExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2066,6 +2330,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricGroupExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnCloseExp = dditable->MetricGroupExp->pfnCloseExp; if( nullptr == pfnCloseExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2091,6 +2359,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricGroupExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroyExp = dditable->MetricGroupExp->pfnDestroyExp; if( nullptr == pfnDestroyExp ) return ZE_RESULT_ERROR_UNINITIALIZED; @@ -2116,6 +2388,10 @@ namespace loader_driver_ddi if (dditable->version < ZE_API_VERSION_1_9) { return ZE_RESULT_ERROR_UNSUPPORTED_VERSION; } + // Check that the driver has the function pointer table init + if (dditable->MetricExp == nullptr) { + return ZE_RESULT_ERROR_UNINITIALIZED; + } auto pfnDestroyExp = dditable->MetricExp->pfnDestroyExp; if( nullptr == pfnDestroyExp ) return ZE_RESULT_ERROR_UNINITIALIZED;