Restore self-open ze_intel_gpu library on Linux

Change-Id: I3110c9b36d3cca660e87f3eae969d621dd6fe230
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2020-10-12 10:54:21 +02:00
committed by sys_ocldev
parent 99f0d2b1db
commit 633cb3a243
5 changed files with 605 additions and 413 deletions

View File

@@ -26,7 +26,10 @@ zetGetContextProcAddrTable(
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
if (driver_ddiTable.version < version)
return ZE_RESULT_ERROR_UNKNOWN;
pDdiTable->pfnActivateMetricGroups = zetContextActivateMetricGroups;
if (nullptr == driver_ddiTable.driverLibrary) {
return ZE_RESULT_ERROR_UNINITIALIZED;
}
pDdiTable->pfnActivateMetricGroups = (zet_pfnContextActivateMetricGroups_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetContextActivateMetricGroups);
return result;
}
@@ -38,11 +41,14 @@ zetGetMetricStreamerProcAddrTable(
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
if (driver_ddiTable.version < version)
return ZE_RESULT_ERROR_UNKNOWN;
if (nullptr == driver_ddiTable.driverLibrary) {
return ZE_RESULT_ERROR_UNINITIALIZED;
}
ze_result_t result = ZE_RESULT_SUCCESS;
pDdiTable->pfnOpen = zetMetricStreamerOpen;
pDdiTable->pfnClose = zetMetricStreamerClose;
pDdiTable->pfnReadData = zetMetricStreamerReadData;
pDdiTable->pfnOpen = (zet_pfnMetricStreamerOpen_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetMetricStreamerOpen);
pDdiTable->pfnClose = (zet_pfnMetricStreamerClose_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetMetricStreamerClose);
pDdiTable->pfnReadData = (zet_pfnMetricStreamerReadData_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetMetricStreamerReadData);
return result;
}
@@ -55,12 +61,15 @@ zetGetTracerExpProcAddrTable(
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
if (driver_ddiTable.version < version)
return ZE_RESULT_ERROR_UNKNOWN;
if (nullptr == driver_ddiTable.driverLibrary) {
return ZE_RESULT_ERROR_UNINITIALIZED;
}
ze_result_t result = ZE_RESULT_SUCCESS;
pDdiTable->pfnCreate = zetTracerExpCreate;
pDdiTable->pfnDestroy = zetTracerExpDestroy;
pDdiTable->pfnSetPrologues = zetTracerExpSetPrologues;
pDdiTable->pfnSetEpilogues = zetTracerExpSetEpilogues;
pDdiTable->pfnSetEnabled = zetTracerExpSetEnabled;
pDdiTable->pfnCreate = (zet_pfnTracerExpCreate_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetTracerExpCreate);
pDdiTable->pfnDestroy = (zet_pfnTracerExpDestroy_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetTracerExpDestroy);
pDdiTable->pfnSetPrologues = (zet_pfnTracerExpSetPrologues_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetTracerExpSetPrologues);
pDdiTable->pfnSetEpilogues = (zet_pfnTracerExpSetEpilogues_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetTracerExpSetEpilogues);
pDdiTable->pfnSetEnabled = (zet_pfnTracerExpSetEnabled_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetTracerExpSetEnabled);
return result;
}
@@ -72,11 +81,14 @@ zetGetCommandListProcAddrTable(
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
if (driver_ddiTable.version < version)
return ZE_RESULT_ERROR_UNKNOWN;
if (nullptr == driver_ddiTable.driverLibrary) {
return ZE_RESULT_ERROR_UNINITIALIZED;
}
ze_result_t result = ZE_RESULT_SUCCESS;
pDdiTable->pfnAppendMetricStreamerMarker = zetCommandListAppendMetricStreamerMarker;
pDdiTable->pfnAppendMetricQueryBegin = zetCommandListAppendMetricQueryBegin;
pDdiTable->pfnAppendMetricQueryEnd = zetCommandListAppendMetricQueryEnd;
pDdiTable->pfnAppendMetricMemoryBarrier = zetCommandListAppendMetricMemoryBarrier;
pDdiTable->pfnAppendMetricStreamerMarker = (zet_pfnCommandListAppendMetricStreamerMarker_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetCommandListAppendMetricStreamerMarker);
pDdiTable->pfnAppendMetricQueryBegin = (zet_pfnCommandListAppendMetricQueryBegin_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetCommandListAppendMetricQueryBegin);
pDdiTable->pfnAppendMetricQueryEnd = (zet_pfnCommandListAppendMetricQueryEnd_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetCommandListAppendMetricQueryEnd);
pDdiTable->pfnAppendMetricMemoryBarrier = (zet_pfnCommandListAppendMetricMemoryBarrier_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetCommandListAppendMetricMemoryBarrier);
return result;
}
@@ -88,8 +100,11 @@ zetGetModuleProcAddrTable(
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
if (driver_ddiTable.version < version)
return ZE_RESULT_ERROR_UNKNOWN;
if (nullptr == driver_ddiTable.driverLibrary) {
return ZE_RESULT_ERROR_UNINITIALIZED;
}
ze_result_t result = ZE_RESULT_SUCCESS;
pDdiTable->pfnGetDebugInfo = zetModuleGetDebugInfo;
pDdiTable->pfnGetDebugInfo = (zet_pfnModuleGetDebugInfo_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetModuleGetDebugInfo);
return result;
}
@@ -101,8 +116,11 @@ zetGetKernelProcAddrTable(
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
if (driver_ddiTable.version < version)
return ZE_RESULT_ERROR_UNKNOWN;
if (nullptr == driver_ddiTable.driverLibrary) {
return ZE_RESULT_ERROR_UNINITIALIZED;
}
ze_result_t result = ZE_RESULT_SUCCESS;
pDdiTable->pfnGetProfileInfo = zetKernelGetProfileInfo;
pDdiTable->pfnGetProfileInfo = (zet_pfnKernelGetProfileInfo_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetKernelGetProfileInfo);
return result;
}
@@ -114,10 +132,13 @@ zetGetMetricGroupProcAddrTable(
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
if (driver_ddiTable.version < version)
return ZE_RESULT_ERROR_UNKNOWN;
if (nullptr == driver_ddiTable.driverLibrary) {
return ZE_RESULT_ERROR_UNINITIALIZED;
}
ze_result_t result = ZE_RESULT_SUCCESS;
pDdiTable->pfnGet = zetMetricGroupGet;
pDdiTable->pfnGetProperties = zetMetricGroupGetProperties;
pDdiTable->pfnCalculateMetricValues = zetMetricGroupCalculateMetricValues;
pDdiTable->pfnGet = (zet_pfnMetricGroupGet_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetMetricGroupGet);
pDdiTable->pfnGetProperties = (zet_pfnMetricGroupGetProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetMetricGroupGetProperties);
pDdiTable->pfnCalculateMetricValues = (zet_pfnMetricGroupCalculateMetricValues_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetMetricGroupCalculateMetricValues);
return result;
}
@@ -129,10 +150,12 @@ zetGetMetricProcAddrTable(
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
if (driver_ddiTable.version < version)
return ZE_RESULT_ERROR_UNKNOWN;
if (nullptr == driver_ddiTable.driverLibrary) {
return ZE_RESULT_ERROR_UNINITIALIZED;
}
ze_result_t result = ZE_RESULT_SUCCESS;
pDdiTable->pfnGet = zetMetricGet;
pDdiTable->pfnGetProperties = zetMetricGetProperties;
pDdiTable->pfnGet = (zet_pfnMetricGet_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetMetricGet);
pDdiTable->pfnGetProperties = (zet_pfnMetricGetProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetMetricGetProperties);
return result;
}
@@ -144,9 +167,12 @@ zetGetMetricQueryPoolProcAddrTable(
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
if (driver_ddiTable.version < version)
return ZE_RESULT_ERROR_UNKNOWN;
if (nullptr == driver_ddiTable.driverLibrary) {
return ZE_RESULT_ERROR_UNINITIALIZED;
}
ze_result_t result = ZE_RESULT_SUCCESS;
pDdiTable->pfnCreate = zetMetricQueryPoolCreate;
pDdiTable->pfnDestroy = zetMetricQueryPoolDestroy;
pDdiTable->pfnCreate = (zet_pfnMetricQueryPoolCreate_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetMetricQueryPoolCreate);
pDdiTable->pfnDestroy = (zet_pfnMetricQueryPoolDestroy_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetMetricQueryPoolDestroy);
return result;
}
@@ -158,12 +184,14 @@ zetGetMetricQueryProcAddrTable(
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
if (driver_ddiTable.version < version)
return ZE_RESULT_ERROR_UNKNOWN;
if (nullptr == driver_ddiTable.driverLibrary) {
return ZE_RESULT_ERROR_UNINITIALIZED;
}
ze_result_t result = ZE_RESULT_SUCCESS;
pDdiTable->pfnCreate = zetMetricQueryCreate;
pDdiTable->pfnDestroy = zetMetricQueryDestroy;
pDdiTable->pfnReset = zetMetricQueryReset;
pDdiTable->pfnGetData = zetMetricQueryGetData;
pDdiTable->pfnCreate = (zet_pfnMetricQueryCreate_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetMetricQueryCreate);
pDdiTable->pfnDestroy = (zet_pfnMetricQueryDestroy_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetMetricQueryDestroy);
pDdiTable->pfnReset = (zet_pfnMetricQueryReset_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetMetricQueryReset);
pDdiTable->pfnGetData = (zet_pfnMetricQueryGetData_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetMetricQueryGetData);
return result;
}
@@ -175,9 +203,11 @@ zetGetDeviceProcAddrTable(
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
if (driver_ddiTable.version < version)
return ZE_RESULT_ERROR_UNKNOWN;
if (nullptr == driver_ddiTable.driverLibrary) {
return ZE_RESULT_ERROR_UNINITIALIZED;
}
ze_result_t result = ZE_RESULT_SUCCESS;
pDdiTable->pfnGetDebugProperties = zetDeviceGetDebugProperties;
pDdiTable->pfnGetDebugProperties = (zet_pfnDeviceGetDebugProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetDeviceGetDebugProperties);
return result;
}
@@ -189,15 +219,17 @@ zetGetDebugProcAddrTable(
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
if (driver_ddiTable.version < version)
return ZE_RESULT_ERROR_UNKNOWN;
if (nullptr == driver_ddiTable.driverLibrary) {
return ZE_RESULT_ERROR_UNINITIALIZED;
}
ze_result_t result = ZE_RESULT_SUCCESS;
pDdiTable->pfnAttach = zetDebugAttach;
pDdiTable->pfnDetach = zetDebugDetach;
pDdiTable->pfnReadEvent = zetDebugReadEvent;
pDdiTable->pfnInterrupt = zetDebugInterrupt;
pDdiTable->pfnResume = zetDebugResume;
pDdiTable->pfnReadMemory = zetDebugReadMemory;
pDdiTable->pfnWriteMemory = zetDebugWriteMemory;
pDdiTable->pfnAttach = (zet_pfnDebugAttach_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetDebugAttach);
pDdiTable->pfnDetach = (zet_pfnDebugDetach_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetDebugDetach);
pDdiTable->pfnReadEvent = (zet_pfnDebugReadEvent_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetDebugReadEvent);
pDdiTable->pfnInterrupt = (zet_pfnDebugInterrupt_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetDebugInterrupt);
pDdiTable->pfnResume = (zet_pfnDebugResume_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetDebugResume);
pDdiTable->pfnReadMemory = (zet_pfnDebugReadMemory_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetDebugReadMemory);
pDdiTable->pfnWriteMemory = (zet_pfnDebugWriteMemory_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zetDebugWriteMemory);
return result;
}