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

File diff suppressed because it is too large Load Diff

View File

@@ -25,32 +25,35 @@ zesGetDeviceProcAddrTable(
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->pfnGetProperties = zesDeviceGetProperties;
pDdiTable->pfnGetState = zesDeviceGetState;
pDdiTable->pfnReset = zesDeviceReset;
pDdiTable->pfnProcessesGetState = zesDeviceProcessesGetState;
pDdiTable->pfnPciGetProperties = zesDevicePciGetProperties;
pDdiTable->pfnPciGetState = zesDevicePciGetState;
pDdiTable->pfnPciGetBars = zesDevicePciGetBars;
pDdiTable->pfnPciGetStats = zesDevicePciGetStats;
pDdiTable->pfnEnumDiagnosticTestSuites = zesDeviceEnumDiagnosticTestSuites;
pDdiTable->pfnEnumEngineGroups = zesDeviceEnumEngineGroups;
pDdiTable->pfnEventRegister = zesDeviceEventRegister;
pDdiTable->pfnEnumFabricPorts = zesDeviceEnumFabricPorts;
pDdiTable->pfnEnumFans = zesDeviceEnumFans;
pDdiTable->pfnEnumFirmwares = zesDeviceEnumFirmwares;
pDdiTable->pfnEnumFrequencyDomains = zesDeviceEnumFrequencyDomains;
pDdiTable->pfnEnumLeds = zesDeviceEnumLeds;
pDdiTable->pfnEnumMemoryModules = zesDeviceEnumMemoryModules;
pDdiTable->pfnEnumPerformanceFactorDomains = zesDeviceEnumPerformanceFactorDomains;
pDdiTable->pfnEnumPowerDomains = zesDeviceEnumPowerDomains;
pDdiTable->pfnEnumPsus = zesDeviceEnumPsus;
pDdiTable->pfnEnumRasErrorSets = zesDeviceEnumRasErrorSets;
pDdiTable->pfnEnumSchedulers = zesDeviceEnumSchedulers;
pDdiTable->pfnEnumStandbyDomains = zesDeviceEnumStandbyDomains;
pDdiTable->pfnEnumTemperatureSensors = zesDeviceEnumTemperatureSensors;
pDdiTable->pfnGetProperties = (zes_pfnDeviceGetProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceGetProperties);
pDdiTable->pfnGetState = (zes_pfnDeviceGetState_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceGetState);
pDdiTable->pfnReset = (zes_pfnDeviceReset_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceReset);
pDdiTable->pfnProcessesGetState = (zes_pfnDeviceProcessesGetState_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceProcessesGetState);
pDdiTable->pfnPciGetProperties = (zes_pfnDevicePciGetProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDevicePciGetProperties);
pDdiTable->pfnPciGetState = (zes_pfnDevicePciGetState_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDevicePciGetState);
pDdiTable->pfnPciGetBars = (zes_pfnDevicePciGetBars_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDevicePciGetBars);
pDdiTable->pfnPciGetStats = (zes_pfnDevicePciGetStats_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDevicePciGetStats);
pDdiTable->pfnEnumDiagnosticTestSuites = (zes_pfnDeviceEnumDiagnosticTestSuites_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceEnumDiagnosticTestSuites);
pDdiTable->pfnEnumEngineGroups = (zes_pfnDeviceEnumEngineGroups_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceEnumEngineGroups);
pDdiTable->pfnEventRegister = (zes_pfnDeviceEventRegister_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceEventRegister);
pDdiTable->pfnEnumFabricPorts = (zes_pfnDeviceEnumFabricPorts_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceEnumFabricPorts);
pDdiTable->pfnEnumFans = (zes_pfnDeviceEnumFans_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceEnumFans);
pDdiTable->pfnEnumFirmwares = (zes_pfnDeviceEnumFirmwares_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceEnumFirmwares);
pDdiTable->pfnEnumFrequencyDomains = (zes_pfnDeviceEnumFrequencyDomains_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceEnumFrequencyDomains);
pDdiTable->pfnEnumLeds = (zes_pfnDeviceEnumLeds_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceEnumLeds);
pDdiTable->pfnEnumMemoryModules = (zes_pfnDeviceEnumMemoryModules_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceEnumMemoryModules);
pDdiTable->pfnEnumPerformanceFactorDomains = (zes_pfnDeviceEnumPerformanceFactorDomains_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceEnumPerformanceFactorDomains);
pDdiTable->pfnEnumPowerDomains = (zes_pfnDeviceEnumPowerDomains_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceEnumPowerDomains);
pDdiTable->pfnEnumPsus = (zes_pfnDeviceEnumPsus_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceEnumPsus);
pDdiTable->pfnEnumRasErrorSets = (zes_pfnDeviceEnumRasErrorSets_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceEnumRasErrorSets);
pDdiTable->pfnEnumSchedulers = (zes_pfnDeviceEnumSchedulers_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceEnumSchedulers);
pDdiTable->pfnEnumStandbyDomains = (zes_pfnDeviceEnumStandbyDomains_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceEnumStandbyDomains);
pDdiTable->pfnEnumTemperatureSensors = (zes_pfnDeviceEnumTemperatureSensors_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDeviceEnumTemperatureSensors);
return result;
}
@@ -62,8 +65,11 @@ zesGetDriverProcAddrTable(
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->pfnEventListen = zesDriverEventListen;
pDdiTable->pfnEventListen = (zes_pfnDriverEventListen_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDriverEventListen);
return result;
}
@@ -75,10 +81,13 @@ zesGetDiagnosticsProcAddrTable(
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->pfnGetProperties = zesDiagnosticsGetProperties;
pDdiTable->pfnGetTests = zesDiagnosticsGetTests;
pDdiTable->pfnRunTests = zesDiagnosticsRunTests;
pDdiTable->pfnGetProperties = (zes_pfnDiagnosticsGetProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDiagnosticsGetProperties);
pDdiTable->pfnGetTests = (zes_pfnDiagnosticsGetTests_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDiagnosticsGetTests);
pDdiTable->pfnRunTests = (zes_pfnDiagnosticsRunTests_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesDiagnosticsRunTests);
return result;
}
@@ -91,10 +100,12 @@ zesGetEngineProcAddrTable(
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->pfnGetProperties = zesEngineGetProperties;
pDdiTable->pfnGetActivity = zesEngineGetActivity;
pDdiTable->pfnGetProperties = (zes_pfnEngineGetProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesEngineGetProperties);
pDdiTable->pfnGetActivity = (zes_pfnEngineGetActivity_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesEngineGetActivity);
return result;
}
@@ -107,14 +118,17 @@ zesGetFabricPortProcAddrTable(
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->pfnGetProperties = zesFabricPortGetProperties;
pDdiTable->pfnGetLinkType = zesFabricPortGetLinkType;
pDdiTable->pfnGetConfig = zesFabricPortGetConfig;
pDdiTable->pfnSetConfig = zesFabricPortSetConfig;
pDdiTable->pfnGetState = zesFabricPortGetState;
pDdiTable->pfnGetThroughput = zesFabricPortGetThroughput;
pDdiTable->pfnGetProperties = (zes_pfnFabricPortGetProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFabricPortGetProperties);
pDdiTable->pfnGetLinkType = (zes_pfnFabricPortGetLinkType_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFabricPortGetLinkType);
pDdiTable->pfnGetConfig = (zes_pfnFabricPortGetConfig_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFabricPortGetConfig);
pDdiTable->pfnSetConfig = (zes_pfnFabricPortSetConfig_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFabricPortSetConfig);
pDdiTable->pfnGetState = (zes_pfnFabricPortGetState_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFabricPortGetState);
pDdiTable->pfnGetThroughput = (zes_pfnFabricPortGetThroughput_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFabricPortGetThroughput);
return result;
}
@@ -127,14 +141,17 @@ zesGetFanProcAddrTable(
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->pfnGetProperties = zesFanGetProperties;
pDdiTable->pfnGetConfig = zesFanGetConfig;
pDdiTable->pfnSetDefaultMode = zesFanSetDefaultMode;
pDdiTable->pfnSetFixedSpeedMode = zesFanSetFixedSpeedMode;
pDdiTable->pfnSetSpeedTableMode = zesFanSetSpeedTableMode;
pDdiTable->pfnGetState = zesFanGetState;
pDdiTable->pfnGetProperties = (zes_pfnFanGetProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFanGetProperties);
pDdiTable->pfnGetConfig = (zes_pfnFanGetConfig_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFanGetConfig);
pDdiTable->pfnSetDefaultMode = (zes_pfnFanSetDefaultMode_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFanSetDefaultMode);
pDdiTable->pfnSetFixedSpeedMode = (zes_pfnFanSetFixedSpeedMode_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFanSetFixedSpeedMode);
pDdiTable->pfnSetSpeedTableMode = (zes_pfnFanSetSpeedTableMode_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFanSetSpeedTableMode);
pDdiTable->pfnGetState = (zes_pfnFanGetState_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFanGetState);
return result;
}
@@ -147,9 +164,12 @@ zesGetFirmwareProcAddrTable(
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->pfnGetProperties = zesFirmwareGetProperties;
pDdiTable->pfnFlash = zesFirmwareFlash;
pDdiTable->pfnGetProperties = (zes_pfnFirmwareGetProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFirmwareGetProperties);
pDdiTable->pfnFlash = (zes_pfnFirmwareFlash_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFirmwareFlash);
return result;
}
@@ -162,25 +182,27 @@ zesGetFrequencyProcAddrTable(
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->pfnGetProperties = zesFrequencyGetProperties;
pDdiTable->pfnGetAvailableClocks = zesFrequencyGetAvailableClocks;
pDdiTable->pfnGetRange = zesFrequencyGetRange;
pDdiTable->pfnSetRange = zesFrequencySetRange;
pDdiTable->pfnGetState = zesFrequencyGetState;
pDdiTable->pfnGetThrottleTime = zesFrequencyGetThrottleTime;
pDdiTable->pfnOcGetCapabilities = zesFrequencyOcGetCapabilities;
pDdiTable->pfnOcGetFrequencyTarget = zesFrequencyOcGetFrequencyTarget;
pDdiTable->pfnOcSetFrequencyTarget = zesFrequencyOcSetFrequencyTarget;
pDdiTable->pfnOcGetVoltageTarget = zesFrequencyOcGetVoltageTarget;
pDdiTable->pfnOcSetVoltageTarget = zesFrequencyOcSetVoltageTarget;
pDdiTable->pfnOcSetMode = zesFrequencyOcSetMode;
pDdiTable->pfnOcGetMode = zesFrequencyOcGetMode;
pDdiTable->pfnOcGetIccMax = zesFrequencyOcGetIccMax;
pDdiTable->pfnOcSetIccMax = zesFrequencyOcSetIccMax;
pDdiTable->pfnOcGetTjMax = zesFrequencyOcGetTjMax;
pDdiTable->pfnOcSetTjMax = zesFrequencyOcSetTjMax;
pDdiTable->pfnGetProperties = (zes_pfnFrequencyGetProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFrequencyGetProperties);
pDdiTable->pfnGetAvailableClocks = (zes_pfnFrequencyGetAvailableClocks_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFrequencyGetAvailableClocks);
pDdiTable->pfnGetRange = (zes_pfnFrequencyGetRange_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFrequencyGetRange);
pDdiTable->pfnSetRange = (zes_pfnFrequencySetRange_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFrequencySetRange);
pDdiTable->pfnGetState = (zes_pfnFrequencyGetState_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFrequencyGetState);
pDdiTable->pfnGetThrottleTime = (zes_pfnFrequencyGetThrottleTime_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFrequencyGetThrottleTime);
pDdiTable->pfnOcGetCapabilities = (zes_pfnFrequencyOcGetCapabilities_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFrequencyOcGetCapabilities);
pDdiTable->pfnOcGetFrequencyTarget = (zes_pfnFrequencyOcGetFrequencyTarget_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFrequencyOcGetFrequencyTarget);
pDdiTable->pfnOcSetFrequencyTarget = (zes_pfnFrequencyOcSetFrequencyTarget_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFrequencyOcSetFrequencyTarget);
pDdiTable->pfnOcGetVoltageTarget = (zes_pfnFrequencyOcGetVoltageTarget_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFrequencyOcGetVoltageTarget);
pDdiTable->pfnOcSetVoltageTarget = (zes_pfnFrequencyOcSetVoltageTarget_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFrequencyOcSetVoltageTarget);
pDdiTable->pfnOcSetMode = (zes_pfnFrequencyOcSetMode_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFrequencyOcSetMode);
pDdiTable->pfnOcGetMode = (zes_pfnFrequencyOcGetMode_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFrequencyOcGetMode);
pDdiTable->pfnOcGetIccMax = (zes_pfnFrequencyOcGetIccMax_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFrequencyOcGetIccMax);
pDdiTable->pfnOcSetIccMax = (zes_pfnFrequencyOcSetIccMax_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFrequencyOcSetIccMax);
pDdiTable->pfnOcGetTjMax = (zes_pfnFrequencyOcGetTjMax_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFrequencyOcGetTjMax);
pDdiTable->pfnOcSetTjMax = (zes_pfnFrequencyOcSetTjMax_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesFrequencyOcSetTjMax);
return result;
}
@@ -193,11 +215,14 @@ zesGetLedProcAddrTable(
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->pfnGetProperties = zesLedGetProperties;
pDdiTable->pfnGetState = zesLedGetState;
pDdiTable->pfnSetState = zesLedSetState;
pDdiTable->pfnSetColor = zesLedSetColor;
pDdiTable->pfnGetProperties = (zes_pfnLedGetProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesLedGetProperties);
pDdiTable->pfnGetState = (zes_pfnLedGetState_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesLedGetState);
pDdiTable->pfnSetState = (zes_pfnLedSetState_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesLedSetState);
pDdiTable->pfnSetColor = (zes_pfnLedSetColor_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesLedSetColor);
return result;
}
@@ -210,10 +235,13 @@ zesGetMemoryProcAddrTable(
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->pfnGetProperties = zesMemoryGetProperties;
pDdiTable->pfnGetState = zesMemoryGetState;
pDdiTable->pfnGetBandwidth = zesMemoryGetBandwidth;
pDdiTable->pfnGetProperties = (zes_pfnMemoryGetProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesMemoryGetProperties);
pDdiTable->pfnGetState = (zes_pfnMemoryGetState_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesMemoryGetState);
pDdiTable->pfnGetBandwidth = (zes_pfnMemoryGetBandwidth_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesMemoryGetBandwidth);
return result;
}
@@ -226,10 +254,13 @@ zesGetPerformanceFactorProcAddrTable(
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->pfnGetProperties = zesPerformanceFactorGetProperties;
pDdiTable->pfnGetConfig = zesPerformanceFactorGetConfig;
pDdiTable->pfnSetConfig = zesPerformanceFactorSetConfig;
pDdiTable->pfnGetProperties = (zes_pfnPerformanceFactorGetProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesPerformanceFactorGetProperties);
pDdiTable->pfnGetConfig = (zes_pfnPerformanceFactorGetConfig_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesPerformanceFactorGetConfig);
pDdiTable->pfnSetConfig = (zes_pfnPerformanceFactorSetConfig_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesPerformanceFactorSetConfig);
return result;
}
@@ -242,13 +273,16 @@ zesGetPowerProcAddrTable(
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->pfnGetProperties = zesPowerGetProperties;
pDdiTable->pfnGetEnergyCounter = zesPowerGetEnergyCounter;
pDdiTable->pfnGetLimits = zesPowerGetLimits;
pDdiTable->pfnSetLimits = zesPowerSetLimits;
pDdiTable->pfnGetEnergyThreshold = zesPowerGetEnergyThreshold;
pDdiTable->pfnSetEnergyThreshold = zesPowerSetEnergyThreshold;
pDdiTable->pfnGetProperties = (zes_pfnPowerGetProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesPowerGetProperties);
pDdiTable->pfnGetEnergyCounter = (zes_pfnPowerGetEnergyCounter_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesPowerGetEnergyCounter);
pDdiTable->pfnGetLimits = (zes_pfnPowerGetLimits_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesPowerGetLimits);
pDdiTable->pfnSetLimits = (zes_pfnPowerSetLimits_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesPowerSetLimits);
pDdiTable->pfnGetEnergyThreshold = (zes_pfnPowerGetEnergyThreshold_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesPowerGetEnergyThreshold);
pDdiTable->pfnSetEnergyThreshold = (zes_pfnPowerSetEnergyThreshold_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesPowerSetEnergyThreshold);
return result;
}
@@ -261,9 +295,12 @@ zesGetPsuProcAddrTable(
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->pfnGetProperties = zesPsuGetProperties;
pDdiTable->pfnGetState = zesPsuGetState;
pDdiTable->pfnGetProperties = (zes_pfnPsuGetProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesPsuGetProperties);
pDdiTable->pfnGetState = (zes_pfnPsuGetState_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesPsuGetState);
return result;
}
@@ -276,11 +313,14 @@ zesGetRasProcAddrTable(
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->pfnGetProperties = zesRasGetProperties;
pDdiTable->pfnGetConfig = zesRasGetConfig;
pDdiTable->pfnSetConfig = zesRasSetConfig;
pDdiTable->pfnGetState = zesRasGetState;
pDdiTable->pfnGetProperties = (zes_pfnRasGetProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesRasGetProperties);
pDdiTable->pfnGetConfig = (zes_pfnRasGetConfig_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesRasGetConfig);
pDdiTable->pfnSetConfig = (zes_pfnRasSetConfig_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesRasSetConfig);
pDdiTable->pfnGetState = (zes_pfnRasGetState_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesRasGetState);
return result;
}
@@ -293,15 +333,18 @@ zesGetSchedulerProcAddrTable(
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->pfnGetProperties = zesSchedulerGetProperties;
pDdiTable->pfnGetCurrentMode = zesSchedulerGetCurrentMode;
pDdiTable->pfnGetTimeoutModeProperties = zesSchedulerGetTimeoutModeProperties;
pDdiTable->pfnGetTimesliceModeProperties = zesSchedulerGetTimesliceModeProperties;
pDdiTable->pfnSetTimeoutMode = zesSchedulerSetTimeoutMode;
pDdiTable->pfnSetTimesliceMode = zesSchedulerSetTimesliceMode;
pDdiTable->pfnSetExclusiveMode = zesSchedulerSetExclusiveMode;
pDdiTable->pfnSetComputeUnitDebugMode = zesSchedulerSetComputeUnitDebugMode;
pDdiTable->pfnGetProperties = (zes_pfnSchedulerGetProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesSchedulerGetProperties);
pDdiTable->pfnGetCurrentMode = (zes_pfnSchedulerGetCurrentMode_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesSchedulerGetCurrentMode);
pDdiTable->pfnGetTimeoutModeProperties = (zes_pfnSchedulerGetTimeoutModeProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesSchedulerGetTimeoutModeProperties);
pDdiTable->pfnGetTimesliceModeProperties = (zes_pfnSchedulerGetTimesliceModeProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesSchedulerGetTimesliceModeProperties);
pDdiTable->pfnSetTimeoutMode = (zes_pfnSchedulerSetTimeoutMode_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesSchedulerSetTimeoutMode);
pDdiTable->pfnSetTimesliceMode = (zes_pfnSchedulerSetTimesliceMode_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesSchedulerSetTimesliceMode);
pDdiTable->pfnSetExclusiveMode = (zes_pfnSchedulerSetExclusiveMode_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesSchedulerSetExclusiveMode);
pDdiTable->pfnSetComputeUnitDebugMode = (zes_pfnSchedulerSetComputeUnitDebugMode_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesSchedulerSetComputeUnitDebugMode);
return result;
}
@@ -314,10 +357,13 @@ zesGetStandbyProcAddrTable(
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->pfnGetProperties = zesStandbyGetProperties;
pDdiTable->pfnGetMode = zesStandbyGetMode;
pDdiTable->pfnSetMode = zesStandbySetMode;
pDdiTable->pfnGetProperties = (zes_pfnStandbyGetProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesStandbyGetProperties);
pDdiTable->pfnGetMode = (zes_pfnStandbyGetMode_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesStandbyGetMode);
pDdiTable->pfnSetMode = (zes_pfnStandbySetMode_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesStandbySetMode);
return result;
}
@@ -330,11 +376,14 @@ zesGetTemperatureProcAddrTable(
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->pfnGetProperties = zesTemperatureGetProperties;
pDdiTable->pfnGetConfig = zesTemperatureGetConfig;
pDdiTable->pfnSetConfig = zesTemperatureSetConfig;
pDdiTable->pfnGetState = zesTemperatureGetState;
pDdiTable->pfnGetProperties = (zes_pfnTemperatureGetProperties_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesTemperatureGetProperties);
pDdiTable->pfnGetConfig = (zes_pfnTemperatureGetConfig_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesTemperatureGetConfig);
pDdiTable->pfnSetConfig = (zes_pfnTemperatureSetConfig_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesTemperatureSetConfig);
pDdiTable->pfnGetState = (zes_pfnTemperatureGetState_t)GET_FUNCTION_PTR(driver_ddiTable.driverLibrary, zesTemperatureGetState);
return result;
}

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;
}

View File

@@ -26,6 +26,9 @@ typedef struct _ze_gpu_driver_dditable_t {
ze_api_version_t version = ZE_API_VERSION_1_0;
bool enableTracing;
void *driverLibrary;
} ze_gpu_driver_dditable_t;
extern ze_gpu_driver_dditable_t driver_ddiTable;

View File

@@ -11,9 +11,33 @@
#include <stdlib.h>
#include <string.h>
///////////////////////////////////////////////////////////////////////////////
#if defined(__linux__)
#include <dlfcn.h>
#define HMODULE void *
#define MAKE_VERSION() L0_PROJECT_VERSION_MAJOR
#define MAKE_LIBRARY_NAME(NAME, VERSION) "lib" NAME ".so." VERSION
#define LOAD_DRIVER_LIBRARY(NAME) dlopen(NAME, RTLD_LAZY | RTLD_LOCAL)
#define FREE_DRIVER_LIBRARY(LIB) \
if (LIB) \
dlclose(LIB)
#define GET_FUNCTION_PTR(LIB, FUNC_NAME) dlsym(LIB, #FUNC_NAME)
#elif defined(_WIN32)
#define GET_FUNCTION_PTR(LIB, FUNC_NAME) FUNC_NAME
#else
#error "Unsupported OS"
#endif
///////////////////////////////////////////////////////////////////////////////
inline bool getenv_tobool(const char *name) {
const char *env = getenv(name);
if ((nullptr == env) || (0 == strcmp("0", env)))
return false;
return (0 == strcmp("1", env));
}
#if defined(__linux__)
#define LOAD_INTEL_GPU_LIBRARY() LOAD_DRIVER_LIBRARY(MAKE_LIBRARY_NAME("ze_intel_gpu", MAKE_VERSION()))
#elif defined(_WIN32)
#define LOAD_INTEL_GPU_LIBRARY() reinterpret_cast<void *>(true)
#endif