@@ -521,6 +521,56 @@ namespace adlx
521521 *
522522 */
523523 virtual ADLX_RESULT ADLX_STD_CALL GetGPUTotalBoardPowerRange (adlx_int* minValue, adlx_int* maxValue) = 0;
524+ /* *
525+ *@page DOX_IADLXGPUMetricsSupport_GetGPUIntakeTemperatureRange GetGPUIntakeTemperatureRange
526+ *@ENG_START_DOX @brief Gets the minimum and maximum GPU intake temperature on a GPU. @ENG_END_DOX
527+ *
528+ *@syntax
529+ *@codeStart
530+ * @ref ADLX_RESULT GetGPUIntakeTemperatureRange (adlx_int* minValue, adlx_int* maxValue)
531+ *@codeEnd
532+ *
533+ *@params
534+ * @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU intake temperature (in °C) is returned. @ENG_END_DOX}
535+ * @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU intake temperature (in °C) is returned. @ENG_END_DOX}
536+ *
537+ *@retvalues
538+ *@ENG_START_DOX If the GPU intake temperature range is successfully returned, __ADLX_OK__ is returned.<br>
539+ * If the GPU intake temperature range is not successfully returned, an error code is returned.<br>
540+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
541+ *
542+ *@detaileddesc
543+ *@ENG_START_DOX @details The minimum and maximum GPU intake temperature are read only. @ENG_END_DOX
544+ *
545+ *
546+ *@requirements
547+ *@DetailsTable{#include "IPerformanceMonitoring.h", @ADLX_First_Ver}
548+ *
549+ */
550+ virtual ADLX_RESULT ADLX_STD_CALL GetGPUIntakeTemperatureRange (adlx_int* minValue, adlx_int* maxValue) = 0;
551+ /* *
552+ *@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUIntakeTemperature IsSupportedGPUIntakeTemperature
553+ *@ENG_START_DOX @brief Checks if the GPU intake temperature metric reporting is supported on a GPU. @ENG_END_DOX
554+ *
555+ *@syntax
556+ *@codeStart
557+ * @ref ADLX_RESULT IsSupportedGPUIntakeTemperature (adlx_bool* supported)
558+ *@codeEnd
559+ *
560+ *@params
561+ *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU intake temperature metric reporting is returned. The variable is __true__ if the GPU intake temperature metric reporting is supported\. The variable is __false__ if the GPU intake temperature metric reporting is not supported. @ENG_END_DOX}
562+ *
563+ *@retvalues
564+ *@ENG_START_DOX If the state of GPU intake temperature metric reporting is successfully returned, __ADLX_OK__ is returned. <br>
565+ *If the state of GPU intake temperature metric reporting is not successfully returned, an error code is returned. <br>
566+ *Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
567+ *
568+ *
569+ *@requirements
570+ *@DetailsTable{#include "IPerformanceMonitoring.h", @ADLX_First_Ver}
571+ *
572+ */
573+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUIntakeTemperature (adlx_bool* supported) = 0;
524574 };
525575 // ----------------------------------------------------------------------------------------------
526576 typedef IADLXInterfacePtr_T<IADLXGPUMetricsSupport> IADLXGPUMetricsSupportPtr;
@@ -533,32 +583,35 @@ typedef struct IADLXGPUMetricsSupport IADLXGPUMetricsSupport;
533583typedef struct IADLXGPUMetricsSupportVtbl
534584{
535585 // IADLXInterface
536- adlx_long (ADLX_STD_CALL * Acquire)(IADLXGPUMetricsSupport* pThis);
537- adlx_long (ADLX_STD_CALL * Release)(IADLXGPUMetricsSupport* pThis);
538- ADLX_RESULT (ADLX_STD_CALL * QueryInterface)(IADLXGPUMetricsSupport* pThis, const wchar_t * interfaceId, void ** ppInterface);
586+ adlx_long (ADLX_STD_CALL* Acquire)(IADLXGPUMetricsSupport* pThis);
587+ adlx_long (ADLX_STD_CALL* Release)(IADLXGPUMetricsSupport* pThis);
588+ ADLX_RESULT (ADLX_STD_CALL* QueryInterface)(IADLXGPUMetricsSupport* pThis, const wchar_t * interfaceId, void ** ppInterface);
539589
540590 // IADLXGPUMetricsSupport
541- ADLX_RESULT (ADLX_STD_CALL *IsSupportedGPUUsage)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
542- ADLX_RESULT (ADLX_STD_CALL *IsSupportedGPUClockSpeed)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
543- ADLX_RESULT (ADLX_STD_CALL *IsSupportedGPUVRAMClockSpeed)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
544- ADLX_RESULT (ADLX_STD_CALL *IsSupportedGPUTemperature)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
545- ADLX_RESULT (ADLX_STD_CALL *IsSupportedGPUHotspotTemperature)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
546- ADLX_RESULT (ADLX_STD_CALL *IsSupportedGPUPower)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
547- ADLX_RESULT (ADLX_STD_CALL *IsSupportedGPUTotalBoardPower)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
548- ADLX_RESULT (ADLX_STD_CALL *IsSupportedGPUFanSpeed)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
549- ADLX_RESULT (ADLX_STD_CALL *IsSupportedGPUVRAM)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
550- ADLX_RESULT (ADLX_STD_CALL *IsSupportedGPUVoltage)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
551- ADLX_RESULT (ADLX_STD_CALL *GetGPUUsageRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
552- ADLX_RESULT (ADLX_STD_CALL *GetGPUClockSpeedRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
553- ADLX_RESULT (ADLX_STD_CALL *GetGPUVRAMClockSpeedRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
554- ADLX_RESULT (ADLX_STD_CALL *GetGPUTemperatureRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
555- ADLX_RESULT (ADLX_STD_CALL *GetGPUHotspotTemperatureRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
556- ADLX_RESULT (ADLX_STD_CALL *GetGPUPowerRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
557- ADLX_RESULT (ADLX_STD_CALL *GetGPUFanSpeedRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
558- ADLX_RESULT (ADLX_STD_CALL *GetGPUVRAMRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
559- ADLX_RESULT (ADLX_STD_CALL *GetGPUVoltageRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
560- ADLX_RESULT (ADLX_STD_CALL *GetGPUTotalBoardPowerRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
561- }IADLXGPUMetricsSupportVtbl;
591+ ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUUsage)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
592+ ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUClockSpeed)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
593+ ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUVRAMClockSpeed)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
594+ ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUTemperature)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
595+ ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUHotspotTemperature)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
596+ ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUPower)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
597+ ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUTotalBoardPower)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
598+ ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUFanSpeed)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
599+ ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUVRAM)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
600+ ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUVoltage)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
601+
602+ ADLX_RESULT (ADLX_STD_CALL* GetGPUUsageRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
603+ ADLX_RESULT (ADLX_STD_CALL* GetGPUClockSpeedRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
604+ ADLX_RESULT (ADLX_STD_CALL* GetGPUVRAMClockSpeedRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
605+ ADLX_RESULT (ADLX_STD_CALL* GetGPUTemperatureRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
606+ ADLX_RESULT (ADLX_STD_CALL* GetGPUHotspotTemperatureRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
607+ ADLX_RESULT (ADLX_STD_CALL* GetGPUPowerRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
608+ ADLX_RESULT (ADLX_STD_CALL* GetGPUFanSpeedRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
609+ ADLX_RESULT (ADLX_STD_CALL* GetGPUVRAMRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
610+ ADLX_RESULT (ADLX_STD_CALL* GetGPUVoltageRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
611+ ADLX_RESULT (ADLX_STD_CALL* GetGPUTotalBoardPowerRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
612+ ADLX_RESULT (ADLX_STD_CALL* GetGPUIntakeTemperatureRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
613+ ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUIntakeTemperature)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
614+ } IADLXGPUMetricsSupportVtbl;
562615
563616struct IADLXGPUMetricsSupport { const IADLXGPUMetricsSupportVtbl *pVtbl; };
564617#endif // __cplusplus
@@ -872,10 +925,9 @@ namespace adlx
872925 *@ENG_START_DOX If the GPU temperature is successfully returned, __ADLX_OK__ is returned. <br>
873926 * If the GPU temperature is not successfully returned, an error code is returned. <br>
874927 * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
875- *
876928 *@addinfo
877- * @ENG_START_DOX Related method: @ref DOX_IADLXGPUMetrics_GPUHotspotTemperature @ENG_END_DOX
878- *
929+ * @ENG_START_DOX Related method: @ref DOX_IADLXGPUMetrics_GPUHotspotTemperature, @ref DOX_IADLXGPUMetrics_GPUIntakeTemperature. @ENG_END_DOX
930+ *
879931 *@requirements
880932 *@DetailsTable{#include "IPerformanceMonitoring.h", @ADLX_First_Ver}
881933 *
@@ -902,8 +954,8 @@ namespace adlx
902954 * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
903955 *
904956 *@addinfo
905- * @ENG_START_DOX Related method: @ref DOX_IADLXGPUMetrics_GPUTemperature @ENG_END_DOX
906- *
957+ * @ENG_START_DOX Related method: @ref DOX_IADLXGPUMetrics_GPUIntakeTemperature, @ref DOX_IADLXGPUMetrics_GPUTemperature. @ENG_END_DOX
958+ *
907959 *@requirements
908960 *@DetailsTable{#include "IPerformanceMonitoring.h", @ADLX_First_Ver}
909961 *
@@ -1026,6 +1078,34 @@ namespace adlx
10261078 *
10271079 */
10281080 virtual ADLX_RESULT ADLX_STD_CALL GPUVoltage (adlx_int* data) = 0;
1081+ /* *
1082+ *@page DOX_IADLXGPUMetrics_GPUIntakeTemperature GPUIntakeTemperature
1083+ *@ENG_START_DOX
1084+ *@brief Gets the GPU intake temperature of a GPU metric sample.
1085+ *@details GPUIntakeTemperature reports the fan intake temperature.
1086+ *@ENG_END_DOX
1087+ *
1088+ *@syntax
1089+ *@codeStart
1090+ * @ref ADLX_RESULT GPUIntakeTemperature (adlx_double* data)
1091+ *@codeEnd
1092+ *
1093+ *@params
1094+ *@paramrow{1.,[out] ,data,adlx_double* ,@ENG_START_DOX The pointer to a variable where the GPU intake temperature (in °C) is returned. @ENG_END_DOX}
1095+ *
1096+ *@retvalues
1097+ *@ENG_START_DOX If the GPU intake temperature is successfully returned, __ADLX_OK__ is returned. <br>
1098+ * If the GPU Intake temperature is not successfully returned, an error code is returned. <br>
1099+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
1100+ *@addinfo
1101+ * @ENG_START_DOX Related method: @ref DOX_IADLXGPUMetrics_GPUHotspotTemperature, @ref DOX_IADLXGPUMetrics_GPUTemperature. @ENG_END_DOX
1102+ *
1103+ *
1104+ *@requirements
1105+ *@DetailsTable{#include "IPerformanceMonitoring.h", @ADLX_First_Ver}
1106+ *
1107+ */
1108+ virtual ADLX_RESULT ADLX_STD_CALL GPUIntakeTemperature (adlx_double* data) = 0;
10291109 };
10301110 // ----------------------------------------------------------------------------------------------
10311111 typedef IADLXInterfacePtr_T<IADLXGPUMetrics> IADLXGPUMetricsPtr;
@@ -1038,23 +1118,24 @@ typedef struct IADLXGPUMetrics IADLXGPUMetrics;
10381118typedef struct IADLXGPUMetricsVtbl
10391119{
10401120 // IADLXInterface
1041- adlx_long (ADLX_STD_CALL * Acquire)(IADLXGPUMetrics* pThis);
1042- adlx_long (ADLX_STD_CALL * Release)(IADLXGPUMetrics* pThis);
1043- ADLX_RESULT (ADLX_STD_CALL * QueryInterface)(IADLXGPUMetrics* pThis, const wchar_t * interfaceId, void ** ppInterface);
1121+ adlx_long (ADLX_STD_CALL* Acquire)(IADLXGPUMetrics* pThis);
1122+ adlx_long (ADLX_STD_CALL* Release)(IADLXGPUMetrics* pThis);
1123+ ADLX_RESULT (ADLX_STD_CALL* QueryInterface)(IADLXGPUMetrics* pThis, const wchar_t * interfaceId, void ** ppInterface);
10441124
10451125 // IADLXGPUMetrics
1046- ADLX_RESULT (ADLX_STD_CALL *TimeStamp)(IADLXGPUMetrics* pThis, adlx_int64* ms);
1047- ADLX_RESULT (ADLX_STD_CALL *GPUUsage)(IADLXGPUMetrics* pThis, adlx_double* data);
1048- ADLX_RESULT (ADLX_STD_CALL *GPUClockSpeed)(IADLXGPUMetrics* pThis, adlx_int* data);
1049- ADLX_RESULT (ADLX_STD_CALL *GPUVRAMClockSpeed)(IADLXGPUMetrics* pThis, adlx_int* data);
1050- ADLX_RESULT (ADLX_STD_CALL *GPUTemperature)(IADLXGPUMetrics* pThis, adlx_double* data);
1051- ADLX_RESULT (ADLX_STD_CALL *GPUHotspotTemperature)(IADLXGPUMetrics* pThis, adlx_double* data);
1052- ADLX_RESULT (ADLX_STD_CALL *GPUPower)(IADLXGPUMetrics* pThis, adlx_double* data);
1053- ADLX_RESULT (ADLX_STD_CALL *GPUTotalBoardPower)(IADLXGPUMetrics* pThis, adlx_double* data);
1054- ADLX_RESULT (ADLX_STD_CALL *GPUFanSpeed)(IADLXGPUMetrics* pThis, adlx_int* data);
1055- ADLX_RESULT (ADLX_STD_CALL *GPUVRAM)(IADLXGPUMetrics* pThis, adlx_int* data);
1056- ADLX_RESULT (ADLX_STD_CALL *GPUVoltage)(IADLXGPUMetrics* pThis, adlx_int* data);
1057- }IADLXGPUMetricsVtbl;
1126+ ADLX_RESULT (ADLX_STD_CALL* TimeStamp)(IADLXGPUMetrics* pThis, adlx_int64* ms);
1127+ ADLX_RESULT (ADLX_STD_CALL* GPUUsage)(IADLXGPUMetrics* pThis, adlx_double* data);
1128+ ADLX_RESULT (ADLX_STD_CALL* GPUClockSpeed)(IADLXGPUMetrics* pThis, adlx_int* data);
1129+ ADLX_RESULT (ADLX_STD_CALL* GPUVRAMClockSpeed)(IADLXGPUMetrics* pThis, adlx_int* data);
1130+ ADLX_RESULT (ADLX_STD_CALL* GPUTemperature)(IADLXGPUMetrics* pThis, adlx_double* data);
1131+ ADLX_RESULT (ADLX_STD_CALL* GPUHotspotTemperature)(IADLXGPUMetrics* pThis, adlx_double* data);
1132+ ADLX_RESULT (ADLX_STD_CALL* GPUPower)(IADLXGPUMetrics* pThis, adlx_double* data);
1133+ ADLX_RESULT (ADLX_STD_CALL* GPUTotalBoardPower)(IADLXGPUMetrics* pThis, adlx_double* data);
1134+ ADLX_RESULT (ADLX_STD_CALL* GPUFanSpeed)(IADLXGPUMetrics* pThis, adlx_int* data);
1135+ ADLX_RESULT (ADLX_STD_CALL* GPUVRAM)(IADLXGPUMetrics* pThis, adlx_int* data);
1136+ ADLX_RESULT (ADLX_STD_CALL* GPUVoltage)(IADLXGPUMetrics* pThis, adlx_int* data);
1137+ ADLX_RESULT (ADLX_STD_CALL* GPUIntakeTemperature)(IADLXGPUMetrics* pThis, adlx_double* data);
1138+ } IADLXGPUMetricsVtbl;
10581139
10591140struct IADLXGPUMetrics { const IADLXGPUMetricsVtbl *pVtbl; };
10601141#endif // __cplusplus
0 commit comments