node-gpuinfo 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +674 -0
- package/README.md +336 -0
- package/binding.gyp +69 -0
- package/build/Release/gpu.exp +0 -0
- package/build/Release/gpu.lib +0 -0
- package/build/Release/gpu.node +0 -0
- package/build/Release/gpu.pdb +0 -0
- package/build/binding.sln +19 -0
- package/build/gpu.vcxproj +175 -0
- package/build/gpu.vcxproj.filters +169 -0
- package/example.js +69 -0
- package/index.js +33 -0
- package/package.json +68 -0
- package/src/binding.cpp +201 -0
- package/src/gpu_info.c +130 -0
- package/src/gpu_info.h +86 -0
- package/src/includes/adlx/ADLX.h +367 -0
- package/src/includes/adlx/ADLXDefines.h +1345 -0
- package/src/includes/adlx/ADLXHelper/ADLXHelper.c +175 -0
- package/src/includes/adlx/ADLXHelper/ADLXHelper.h +245 -0
- package/src/includes/adlx/ADLXHelper/WinAPIS.c +64 -0
- package/src/includes/adlx/ADLXStructures.h +206 -0
- package/src/includes/adlx/ADLXVersion.h +18 -0
- package/src/includes/adlx/I3DSettings.h +3476 -0
- package/src/includes/adlx/I3DSettings1.h +292 -0
- package/src/includes/adlx/I3DSettings2.h +317 -0
- package/src/includes/adlx/IApplications.h +397 -0
- package/src/includes/adlx/IChangedEvent.h +71 -0
- package/src/includes/adlx/ICollections.h +325 -0
- package/src/includes/adlx/IDesktops.h +918 -0
- package/src/includes/adlx/IDisplay3DLUT.h +663 -0
- package/src/includes/adlx/IDisplayGamma.h +683 -0
- package/src/includes/adlx/IDisplayGamut.h +760 -0
- package/src/includes/adlx/IDisplaySettings.h +3476 -0
- package/src/includes/adlx/IDisplays.h +2676 -0
- package/src/includes/adlx/IDisplays1.h +191 -0
- package/src/includes/adlx/IDisplays2.h +188 -0
- package/src/includes/adlx/IDisplays3.h +256 -0
- package/src/includes/adlx/IGPUAutoTuning.h +460 -0
- package/src/includes/adlx/IGPUManualFanTuning.h +1007 -0
- package/src/includes/adlx/IGPUManualGFXTuning.h +607 -0
- package/src/includes/adlx/IGPUManualPowerTuning.h +340 -0
- package/src/includes/adlx/IGPUManualVRAMTuning.h +576 -0
- package/src/includes/adlx/IGPUPresetTuning.h +469 -0
- package/src/includes/adlx/IGPUTuning.h +1239 -0
- package/src/includes/adlx/IGPUTuning1.h +197 -0
- package/src/includes/adlx/II2C.h +198 -0
- package/src/includes/adlx/ILog.h +72 -0
- package/src/includes/adlx/IMultiMedia.h +578 -0
- package/src/includes/adlx/IPerformanceMonitoring.h +2520 -0
- package/src/includes/adlx/IPerformanceMonitoring1.h +134 -0
- package/src/includes/adlx/IPerformanceMonitoring2.h +341 -0
- package/src/includes/adlx/IPerformanceMonitoring3.h +199 -0
- package/src/includes/adlx/IPowerTuning.h +473 -0
- package/src/includes/adlx/IPowerTuning1.h +515 -0
- package/src/includes/adlx/ISmartAccessMemory.h +114 -0
- package/src/includes/adlx/ISystem.h +1557 -0
- package/src/includes/adlx/ISystem1.h +237 -0
- package/src/includes/adlx/ISystem2.h +643 -0
- package/src/linux/amd_linux.c +269 -0
- package/src/linux/intel_linux.c +20 -0
- package/src/linux/nvidia_linux.c +257 -0
- package/src/macos/amd_mac.c +131 -0
- package/src/macos/intel_mac.c +131 -0
- package/src/macos/nvidia_mac.c +21 -0
- package/src/vendor/amd.c +37 -0
- package/src/vendor/intel.c +37 -0
- package/src/vendor/nvidia.c +37 -0
- package/src/windows/amd_windows.c +468 -0
- package/src/windows/intel_windows.c +157 -0
- package/src/windows/nvidia_windows.c +252 -0
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright (c) 2021 - 2025 Advanced Micro Devices, Inc. All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
//-------------------------------------------------------------------------------------------------
|
|
5
|
+
|
|
6
|
+
#ifndef ADLX_IGPUMANUALPOWERTUNING_H
|
|
7
|
+
#define ADLX_IGPUMANUALPOWERTUNING_H
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "ADLXStructures.h"
|
|
11
|
+
|
|
12
|
+
//-------------------------------------------------------------------------------------------------
|
|
13
|
+
//IGPUManualPowerTuning.h - Interfaces for ADLX GPU Manual Power Tuning functionality
|
|
14
|
+
// Manual Power Tuning
|
|
15
|
+
#pragma region IADLXManualPowerTuning
|
|
16
|
+
#if defined (__cplusplus)
|
|
17
|
+
namespace adlx
|
|
18
|
+
{
|
|
19
|
+
class ADLX_NO_VTABLE IADLXManualPowerTuning : public IADLXInterface
|
|
20
|
+
{
|
|
21
|
+
public:
|
|
22
|
+
ADLX_DECLARE_IID (L"IADLXManualPowerTuning")
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
*@page DOX_IADLXManualPowerTuning_GetPowerLimitRange GetPowerLimitRange
|
|
26
|
+
*@ENG_START_DOX @brief Gets the manual power tuning minimum power range, maximum power range, and step power range on a GPU. @ENG_END_DOX
|
|
27
|
+
*
|
|
28
|
+
*@syntax
|
|
29
|
+
*@codeStart
|
|
30
|
+
* @ref ADLX_RESULT GetPowerLimitRange (@ref ADLX_IntRange* tuningRange)
|
|
31
|
+
*@codeEnd
|
|
32
|
+
*
|
|
33
|
+
*@params
|
|
34
|
+
*@paramrow{1.,[out],tuningRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the manual power limit range (in %) is returned. @ENG_END_DOX}
|
|
35
|
+
*
|
|
36
|
+
*@retvalues
|
|
37
|
+
*@ENG_START_DOX If the power limit range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
38
|
+
* If the power limit range is not successfully returned, an error code is returned.<br>
|
|
39
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
40
|
+
*
|
|
41
|
+
*@copydoc IADLXManualPowerTuning_REQ_TABLE
|
|
42
|
+
*
|
|
43
|
+
*/
|
|
44
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetPowerLimitRange (ADLX_IntRange* tuningRange) = 0;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
*@page DOX_IADLXManualPowerTuning_GetPowerLimit GetPowerLimit
|
|
48
|
+
*@ENG_START_DOX @brief Gets the current power limit of a GPU. @ENG_END_DOX
|
|
49
|
+
*
|
|
50
|
+
*@syntax
|
|
51
|
+
*@codeStart
|
|
52
|
+
* @ref ADLX_RESULT GetPowerLimit (adlx_int* curVal)
|
|
53
|
+
*@codeEnd
|
|
54
|
+
*
|
|
55
|
+
*@params
|
|
56
|
+
*@paramrow{1.,[out],curVal,adlx_int*,@ENG_START_DOX The pointer to a variable where the manual power limit value (in %) is returned. @ENG_END_DOX}
|
|
57
|
+
*
|
|
58
|
+
*@retvalues
|
|
59
|
+
*@ENG_START_DOX If the power limit value is successfully returned, __ADLX_OK__ is returned.<br>
|
|
60
|
+
* If the power limit value is not successfully returned, an error code is returned.<br>
|
|
61
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
62
|
+
*
|
|
63
|
+
* @addinfo
|
|
64
|
+
* @ENG_START_DOX
|
|
65
|
+
* A higher power limit increases performance headroom.
|
|
66
|
+
* @ENG_END_DOX
|
|
67
|
+
*
|
|
68
|
+
*@copydoc IADLXManualPowerTuning_REQ_TABLE
|
|
69
|
+
*
|
|
70
|
+
*/
|
|
71
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetPowerLimit (adlx_int* curVal) = 0;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
*@page DOX_IADLXManualPowerTuning_SetPowerLimit SetPowerLimit
|
|
75
|
+
*@ENG_START_DOX @brief Sets the power limit of a GPU. @ENG_END_DOX
|
|
76
|
+
*
|
|
77
|
+
*@syntax
|
|
78
|
+
*@codeStart
|
|
79
|
+
* @ref ADLX_RESULT SetPowerLimit (adlx_int curVal)
|
|
80
|
+
*@codeEnd
|
|
81
|
+
*
|
|
82
|
+
*@params
|
|
83
|
+
*@paramrow{1.,[in],curVal,adlx_int,@ENG_START_DOX The new power limit value (in %) . @ENG_END_DOX}
|
|
84
|
+
*
|
|
85
|
+
*@retvalues
|
|
86
|
+
*@ENG_START_DOX If the power limit value is successfully set, __ADLX_OK__ is returned.<br>
|
|
87
|
+
* If the power limit value is not successfully set, an error code is returned.<br>
|
|
88
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
89
|
+
*
|
|
90
|
+
* @addinfo
|
|
91
|
+
* @ENG_START_DOX
|
|
92
|
+
* A higher power limit increases performance headroom.
|
|
93
|
+
* @ENG_END_DOX
|
|
94
|
+
*
|
|
95
|
+
*@copydoc IADLXManualPowerTuning_REQ_TABLE
|
|
96
|
+
*
|
|
97
|
+
*/
|
|
98
|
+
virtual ADLX_RESULT ADLX_STD_CALL SetPowerLimit (adlx_int curVal) = 0;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
*@page DOX_IADLXManualPowerTuning_IsSupportedTDCLimit IsSupportedTDCLimit
|
|
102
|
+
*@ENG_START_DOX
|
|
103
|
+
*@brief Checks if Thermal Design Current (TDC) limit is supported on a GPU.
|
|
104
|
+
*@details Thermal Design Current (TDC) functionality is not currently implemented in a production application. Usecase validation for these methods should be performed by application developers.
|
|
105
|
+
*@ENG_END_DOX
|
|
106
|
+
*
|
|
107
|
+
*@syntax
|
|
108
|
+
*@codeStart
|
|
109
|
+
* @ref ADLX_RESULT IsSupportedTDCLimit (adlx_bool* supported)
|
|
110
|
+
*@codeEnd
|
|
111
|
+
*
|
|
112
|
+
*@params
|
|
113
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of TDC limit feature is returned. The variable is __true__ if TDC limit feature is supported. The variable is __false__ if TDC limit feature is not supported. @ENG_END_DOX}
|
|
114
|
+
*
|
|
115
|
+
*@retvalues
|
|
116
|
+
*@ENG_START_DOX
|
|
117
|
+
* If the state of TDC limit feature is successfully returned, __ADLX_OK__ is returned.<br>
|
|
118
|
+
* If the state of TDC limit feature is not successfully returned, an error code is returned.<br>
|
|
119
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
120
|
+
*@ENG_END_DOX
|
|
121
|
+
*
|
|
122
|
+
* @addinfo
|
|
123
|
+
* @ENG_START_DOX
|
|
124
|
+
* A higher TDC limit increases performance headroom.
|
|
125
|
+
* @ENG_END_DOX
|
|
126
|
+
*
|
|
127
|
+
*@copydoc IADLXManualPowerTuning_REQ_TABLE
|
|
128
|
+
*
|
|
129
|
+
*/
|
|
130
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedTDCLimit(adlx_bool* supported) = 0;
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
*@page DOX_IADLXManualPowerTuning_GetTDCLimitRange GetTDCLimitRange
|
|
134
|
+
*@ENG_START_DOX
|
|
135
|
+
*@brief Gets the manual power tuning minimum Thermal Design Current (TDC) range, maximum TDC range, and step TDC range on a GPU.
|
|
136
|
+
*@details Thermal Design Current (TDC) functionality is not currently implemented in a production application. Usecase validation for these methods should be performed by application developers.
|
|
137
|
+
*@ENG_END_DOX
|
|
138
|
+
*
|
|
139
|
+
*@syntax
|
|
140
|
+
*@codeStart
|
|
141
|
+
* @ref ADLX_RESULT GetTDCLimitRange (@ref ADLX_IntRange* tuningRange)
|
|
142
|
+
*@codeEnd
|
|
143
|
+
*
|
|
144
|
+
*@params
|
|
145
|
+
*@paramrow{1.,[out],tuningRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the manual TDC limit range (in %) is returned. @ENG_END_DOX}
|
|
146
|
+
*
|
|
147
|
+
*@retvalues
|
|
148
|
+
*@ENG_START_DOX
|
|
149
|
+
* If the TDC limit range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
150
|
+
* If the TDC limit range is not successfully returned, an error code is returned.<br>
|
|
151
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
152
|
+
*@ENG_END_DOX
|
|
153
|
+
*
|
|
154
|
+
*@copydoc IADLXManualPowerTuning_REQ_TABLE
|
|
155
|
+
*
|
|
156
|
+
*/
|
|
157
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetTDCLimitRange(ADLX_IntRange* tuningRange) = 0;
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
*@page DOX_IADLXManualPowerTuning_GetTDCLimit GetTDCLimit
|
|
161
|
+
*@ENG_START_DOX
|
|
162
|
+
*@brief Gets the current Thermal Design Current (TDC) limit of a GPU.
|
|
163
|
+
*@details Thermal Design Current (TDC) functionality is not currently implemented in a production application. Usecase validation for these methods should be performed by application developers.
|
|
164
|
+
*@ENG_END_DOX
|
|
165
|
+
*
|
|
166
|
+
*@syntax
|
|
167
|
+
*@codeStart
|
|
168
|
+
* @ref ADLX_RESULT GetTDCLimit (adlx_int* curVal)
|
|
169
|
+
*@codeEnd
|
|
170
|
+
*
|
|
171
|
+
*@params
|
|
172
|
+
*@paramrow{1.,[out],curVal,adlx_int*,@ENG_START_DOX The pointer to a variable where the manual TDC limit value (in %) is returned. @ENG_END_DOX}
|
|
173
|
+
*
|
|
174
|
+
*@retvalues
|
|
175
|
+
*@ENG_START_DOX
|
|
176
|
+
* If the TDC limit value is successfully returned, __ADLX_OK__ is returned.<br>
|
|
177
|
+
* If the TDC limit value is not successfully returned, an error code is returned.<br>
|
|
178
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
179
|
+
*@ENG_END_DOX
|
|
180
|
+
*
|
|
181
|
+
* @addinfo
|
|
182
|
+
* @ENG_START_DOX
|
|
183
|
+
* A higher TDC limit increases performance headroom.
|
|
184
|
+
* @ENG_END_DOX
|
|
185
|
+
*
|
|
186
|
+
*@copydoc IADLXManualPowerTuning_REQ_TABLE
|
|
187
|
+
*
|
|
188
|
+
*/
|
|
189
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetTDCLimit(adlx_int* curVal) = 0;
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
*@page DOX_IADLXManualPowerTuning_SetTDCLimit SetTDCLimit
|
|
193
|
+
*@ENG_START_DOX
|
|
194
|
+
*@brief Sets the Thermal Design Current (TDC) limit of a GPU.
|
|
195
|
+
*@details Thermal Design Current (TDC) functionality is not currently implemented in a production application. Usecase validation for these methods should be performed by application developers.
|
|
196
|
+
*@ENG_END_DOX
|
|
197
|
+
*
|
|
198
|
+
*@syntax
|
|
199
|
+
*@codeStart
|
|
200
|
+
* @ref ADLX_RESULT SetTDCLimit (adlx_int curVal)
|
|
201
|
+
*@codeEnd
|
|
202
|
+
*
|
|
203
|
+
*@params
|
|
204
|
+
*@paramrow{1.,[in],curVal,adlx_int,@ENG_START_DOX The new TDC limit value (in %). @ENG_END_DOX}
|
|
205
|
+
*
|
|
206
|
+
*@retvalues
|
|
207
|
+
*@ENG_START_DOX
|
|
208
|
+
* If the TDC limit value is successfully set, __ADLX_OK__ is returned.<br>
|
|
209
|
+
* If the TDC limit value is not successfully set, an error code is returned.<br>
|
|
210
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
211
|
+
*@ENG_END_DOX
|
|
212
|
+
*
|
|
213
|
+
* @addinfo
|
|
214
|
+
* @ENG_START_DOX
|
|
215
|
+
* A higher TDC limit increases performance headroom.
|
|
216
|
+
* @ENG_END_DOX
|
|
217
|
+
*
|
|
218
|
+
*@copydoc IADLXManualPowerTuning_REQ_TABLE
|
|
219
|
+
*
|
|
220
|
+
*/
|
|
221
|
+
virtual ADLX_RESULT ADLX_STD_CALL SetTDCLimit(adlx_int curVal) = 0;
|
|
222
|
+
};
|
|
223
|
+
//----------------------------------------------------------------------------------------------
|
|
224
|
+
typedef IADLXInterfacePtr_T<IADLXManualPowerTuning> IADLXManualPowerTuningPtr;
|
|
225
|
+
} //namespace adlx
|
|
226
|
+
#else //__cplusplus
|
|
227
|
+
ADLX_DECLARE_IID (IADLXManualPowerTuning, L"IADLXManualPowerTuning")
|
|
228
|
+
|
|
229
|
+
typedef struct IADLXManualPowerTuning IADLXManualPowerTuning;
|
|
230
|
+
|
|
231
|
+
typedef struct IADLXManualPowerTuningVtbl
|
|
232
|
+
{
|
|
233
|
+
//IADLXInterface
|
|
234
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXManualPowerTuning* pThis);
|
|
235
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXManualPowerTuning* pThis);
|
|
236
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXManualPowerTuning* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
237
|
+
|
|
238
|
+
//IADLXManualPowerTuning
|
|
239
|
+
ADLX_RESULT (ADLX_STD_CALL *GetPowerLimitRange)(IADLXManualPowerTuning* pThis, ADLX_IntRange* tuningRange);
|
|
240
|
+
ADLX_RESULT (ADLX_STD_CALL *GetPowerLimit)(IADLXManualPowerTuning* pThis, adlx_int* curVal);
|
|
241
|
+
ADLX_RESULT (ADLX_STD_CALL *SetPowerLimit)(IADLXManualPowerTuning* pThis, adlx_int curVal);
|
|
242
|
+
ADLX_RESULT (ADLX_STD_CALL *IsSupportedTDCLimit)(IADLXManualPowerTuning* pThis,adlx_bool* supported);
|
|
243
|
+
ADLX_RESULT(ADLX_STD_CALL* GetTDCLimitRange)(IADLXManualPowerTuning* pThis, ADLX_IntRange* tuningRange);
|
|
244
|
+
ADLX_RESULT(ADLX_STD_CALL* GetTDCLimit)(IADLXManualPowerTuning* pThis, adlx_int* curVal);
|
|
245
|
+
ADLX_RESULT(ADLX_STD_CALL* SetTDCLimit)(IADLXManualPowerTuning* pThis, adlx_int curVal);
|
|
246
|
+
}IADLXManualPowerTuningVtbl;
|
|
247
|
+
|
|
248
|
+
struct IADLXManualPowerTuning { const IADLXManualPowerTuningVtbl *pVtbl; };
|
|
249
|
+
#endif //__cplusplus
|
|
250
|
+
#pragma endregion IADLXManualPowerTuning
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
#pragma region IADLXManualPowerTuning1
|
|
254
|
+
#if defined (__cplusplus)
|
|
255
|
+
namespace adlx
|
|
256
|
+
{
|
|
257
|
+
class ADLX_NO_VTABLE IADLXManualPowerTuning1 : public IADLXManualPowerTuning
|
|
258
|
+
{
|
|
259
|
+
public:
|
|
260
|
+
ADLX_DECLARE_IID(L"IADLXManualPowerTuning1")
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
*@page DOX_IADLXManualPowerTuning1_GetPowerLimitDefault GetPowerLimitDefault
|
|
264
|
+
*@ENG_START_DOX @brief Gets the default power limit on a GPU. @ENG_END_DOX
|
|
265
|
+
*
|
|
266
|
+
*@syntax
|
|
267
|
+
*@codeStart
|
|
268
|
+
* @ref ADLX_RESULT GetPowerLimitDefault(adlx_int* defaultVal)
|
|
269
|
+
*@codeEnd
|
|
270
|
+
*
|
|
271
|
+
*@params
|
|
272
|
+
*@paramrow{1.,[out],defaultVal,adlx_int*,@ENG_START_DOX The pointer to a variable where the default power limit (in %) is returned. @ENG_END_DOX}
|
|
273
|
+
*
|
|
274
|
+
*@retvalues
|
|
275
|
+
*@ENG_START_DOX If the default power limit is successfully returned, __ADLX_OK__ is returned.<br>
|
|
276
|
+
* If the default power limit is not successfully returned, an error code is returned.<br>
|
|
277
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
278
|
+
*
|
|
279
|
+
*@copydoc IADLXManualPowerTuning1_REQ_TABLE
|
|
280
|
+
*
|
|
281
|
+
*/
|
|
282
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetPowerLimitDefault(adlx_int* defaultVal) = 0;
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
*@page DOX_IADLXManualPowerTuning1_GetTDCLimitDefault GetTDCLimitDefault
|
|
286
|
+
* @ENG_START_DOX @brief Gets the default Thermal Design Current (TDC) limit on a GPU. @ENG_END_DOX
|
|
287
|
+
*
|
|
288
|
+
* @syntax
|
|
289
|
+
* @codeStart
|
|
290
|
+
* @ref ADLX_RESULT GetTDCLimitDefault(adlx_int* defaultVal)
|
|
291
|
+
* @codeEnd
|
|
292
|
+
*
|
|
293
|
+
* @params
|
|
294
|
+
* @paramrow{1.,[out],defaultVal,adlx_int*,@ENG_START_DOX The pointer to a variable where the default TDC limit (in %) is returned. @ENG_END_DOX}
|
|
295
|
+
*
|
|
296
|
+
* @retvalues
|
|
297
|
+
* @ENG_START_DOX If the default TDC limit is successfully returned, __ADLX_OK__ is returned.<br>
|
|
298
|
+
* If the default TDC limit is not successfully returned, an error code is returned.<br>
|
|
299
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
300
|
+
*
|
|
301
|
+
* @copydoc IADLXManualPowerTuning1_REQ_TABLE
|
|
302
|
+
*
|
|
303
|
+
*/
|
|
304
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetTDCLimitDefault(adlx_int* defaultVal) = 0;
|
|
305
|
+
};
|
|
306
|
+
//----------------------------------------------------------------------------------------------
|
|
307
|
+
typedef IADLXInterfacePtr_T<IADLXManualPowerTuning1> IADLXManualPowerTuning1Ptr;
|
|
308
|
+
} //namespace adlx
|
|
309
|
+
#else //__cplusplus
|
|
310
|
+
ADLX_DECLARE_IID(IADLXManualPowerTuning1, L"IADLXManualPowerTuning1")
|
|
311
|
+
|
|
312
|
+
typedef struct IADLXManualPowerTuning1 IADLXManualPowerTuning1;
|
|
313
|
+
|
|
314
|
+
typedef struct IADLXManualPowerTuning1Vtbl
|
|
315
|
+
{
|
|
316
|
+
//IADLXInterface
|
|
317
|
+
adlx_long(ADLX_STD_CALL* Acquire)(IADLXManualPowerTuning1* pThis);
|
|
318
|
+
adlx_long(ADLX_STD_CALL* Release)(IADLXManualPowerTuning1* pThis);
|
|
319
|
+
ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXManualPowerTuning1* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
320
|
+
|
|
321
|
+
//IADLXManualPowerTuning
|
|
322
|
+
ADLX_RESULT(ADLX_STD_CALL* GetPowerLimitRange)(IADLXManualPowerTuning1* pThis, ADLX_IntRange* tuningRange);
|
|
323
|
+
ADLX_RESULT(ADLX_STD_CALL* GetPowerLimit)(IADLXManualPowerTuning1* pThis, adlx_int* curVal);
|
|
324
|
+
ADLX_RESULT(ADLX_STD_CALL* SetPowerLimit)(IADLXManualPowerTuning1* pThis, adlx_int curVal);
|
|
325
|
+
ADLX_RESULT(ADLX_STD_CALL* IsSupportedTDCLimit)(IADLXManualPowerTuning1* pThis, adlx_bool* supported);
|
|
326
|
+
ADLX_RESULT(ADLX_STD_CALL* GetTDCLimitRange)(IADLXManualPowerTuning1* pThis, ADLX_IntRange* tuningRange);
|
|
327
|
+
ADLX_RESULT(ADLX_STD_CALL* GetTDCLimit)(IADLXManualPowerTuning1* pThis, adlx_int* curVal);
|
|
328
|
+
ADLX_RESULT(ADLX_STD_CALL* SetTDCLimit)(IADLXManualPowerTuning1* pThis, adlx_int curVal);
|
|
329
|
+
|
|
330
|
+
//IADLXManualPowerTuning1
|
|
331
|
+
ADLX_RESULT(ADLX_STD_CALL* GetPowerLimitDefault)(IADLXManualPowerTuning1* pThis, adlx_int* defaultVal);
|
|
332
|
+
ADLX_RESULT(ADLX_STD_CALL* GetTDCLimitDefault)(IADLXManualPowerTuning1* pThis, adlx_int* defaultVal);
|
|
333
|
+
|
|
334
|
+
}IADLXManualPowerTuning1Vtbl;
|
|
335
|
+
|
|
336
|
+
struct IADLXManualPowerTuning1 { const IADLXManualPowerTuning1Vtbl* pVtbl; };
|
|
337
|
+
#endif //__cplusplus
|
|
338
|
+
#pragma endregion IADLXManualPowerTuning1
|
|
339
|
+
|
|
340
|
+
#endif//ADLX_IGPUMANUALPOWERTUNING_H
|