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,1007 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright (c) 2021 - 2025 Advanced Micro Devices, Inc. All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
//-------------------------------------------------------------------------------------------------
|
|
5
|
+
|
|
6
|
+
#ifndef ADLX_IGPUMANUALFANTUNING_H
|
|
7
|
+
#define ADLX_IGPUMANUALFANTUNING_H
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "ADLXStructures.h"
|
|
11
|
+
#include "ICollections.h"
|
|
12
|
+
|
|
13
|
+
//-------------------------------------------------------------------------------------------------
|
|
14
|
+
//IGPUManualFanTuning.h - Interfaces for ADLX GPU Manual Fan Tuning functionality
|
|
15
|
+
|
|
16
|
+
//Manual Tuning interface
|
|
17
|
+
#pragma region IADLXManualFanTuningState
|
|
18
|
+
#if defined (__cplusplus)
|
|
19
|
+
namespace adlx
|
|
20
|
+
{
|
|
21
|
+
class ADLX_NO_VTABLE IADLXManualFanTuningState : public IADLXInterface
|
|
22
|
+
{
|
|
23
|
+
public:
|
|
24
|
+
ADLX_DECLARE_IID (L"IADLXManualFanTuningState")
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @page DOX_IADLXManualFanTuningState_GetFanSpeed GetFanSpeed
|
|
28
|
+
* @ENG_START_DOX
|
|
29
|
+
* @brief Gets the fan speed in the manual fan tuning state.
|
|
30
|
+
* @ENG_END_DOX
|
|
31
|
+
*
|
|
32
|
+
* @syntax
|
|
33
|
+
* @codeStart
|
|
34
|
+
* @ref ADLX_RESULT GetFanSpeed (adlx_int* value)
|
|
35
|
+
* @codeEnd
|
|
36
|
+
*
|
|
37
|
+
* @params
|
|
38
|
+
* @paramrow{1.,[out] ,value,adlx_uint* ,@ENG_START_DOX The pointer to a variable where the fan speed (in %) is returned. @ENG_END_DOX}
|
|
39
|
+
*
|
|
40
|
+
* @retvalues
|
|
41
|
+
* @ENG_START_DOX
|
|
42
|
+
* If the fan speed is successfully returned, __ADLX_OK__ is returned.<br>
|
|
43
|
+
* If the fan speed is not successfully returned, an error code is returned.<br>
|
|
44
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
45
|
+
* @ENG_END_DOX
|
|
46
|
+
*
|
|
47
|
+
* @copydoc IADLXManualFanTuningState_REQ_TABLE
|
|
48
|
+
*
|
|
49
|
+
*/
|
|
50
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetFanSpeed (adlx_int* value) = 0;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
*@page DOX_IADLXManualFanTuningState_SetFanSpeed SetFanSpeed
|
|
54
|
+
*@ENG_START_DOX @brief Sets the fan speed in the manual fan tuning state. @ENG_END_DOX
|
|
55
|
+
*
|
|
56
|
+
*@syntax
|
|
57
|
+
*@codeStart
|
|
58
|
+
* @ref ADLX_RESULT SetFanSpeed (adlx_int value)
|
|
59
|
+
*@codeEnd
|
|
60
|
+
*
|
|
61
|
+
* @params
|
|
62
|
+
* @paramrow{1.,[in] ,value,adlx_int ,@ENG_START_DOX The new fan speed value (in %). @ENG_END_DOX}
|
|
63
|
+
*
|
|
64
|
+
* @retvalues
|
|
65
|
+
* @ENG_START_DOX
|
|
66
|
+
* If the fan speed is successfully set, __ADLX_OK__ is returned.<br>
|
|
67
|
+
* If the fan speed is not successfully set, an error code is returned.<br>
|
|
68
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
69
|
+
* @ENG_END_DOX
|
|
70
|
+
*
|
|
71
|
+
*@detaileddesc
|
|
72
|
+
*@ENG_START_DOX @details Method for applying fan speed for the fan tuning state. @ENG_END_DOX
|
|
73
|
+
*
|
|
74
|
+
*@copydoc IADLXManualFanTuningState_REQ_TABLE
|
|
75
|
+
*
|
|
76
|
+
*/
|
|
77
|
+
virtual ADLX_RESULT ADLX_STD_CALL SetFanSpeed (adlx_int value) = 0;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* @page DOX_IADLXManualFanTuningState_GetTemperature GetTemperature
|
|
81
|
+
* @ENG_START_DOX
|
|
82
|
+
* @brief Gets the temperature in the manual fan tuning state.
|
|
83
|
+
* @ENG_END_DOX
|
|
84
|
+
*
|
|
85
|
+
* @syntax
|
|
86
|
+
* @codeStart
|
|
87
|
+
* @ref ADLX_RESULT GetTemperature (adlx_uint* value)
|
|
88
|
+
* @codeEnd
|
|
89
|
+
*
|
|
90
|
+
* @params
|
|
91
|
+
* @paramrow{1.,[out] ,value,adlx_uint* ,@ENG_START_DOX The pointer to a variable where the temperature (in °C) is returned. @ENG_END_DOX}
|
|
92
|
+
*
|
|
93
|
+
* @retvalues
|
|
94
|
+
* @ENG_START_DOX
|
|
95
|
+
* If the temperature is successfully returned, __ADLX_OK__ is returned.<br>
|
|
96
|
+
* If the temperature is not successfully returned, an error code is returned.<br>
|
|
97
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
98
|
+
* @ENG_END_DOX
|
|
99
|
+
*
|
|
100
|
+
* @copydoc IADLXManualFanTuningState_REQ_TABLE
|
|
101
|
+
*
|
|
102
|
+
*/
|
|
103
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetTemperature (adlx_int* value) = 0;
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
*@page DOX_IADLXManualFanTuningState_SetTemperature SetTemperature
|
|
107
|
+
*@ENG_START_DOX @brief Sets the temperature in the manual fan tuning state. @ENG_END_DOX
|
|
108
|
+
*
|
|
109
|
+
*@syntax
|
|
110
|
+
*@codeStart
|
|
111
|
+
* @ref ADLX_RESULT SetTemperature (adlx_int value)
|
|
112
|
+
*@codeEnd
|
|
113
|
+
*
|
|
114
|
+
* @params
|
|
115
|
+
* @paramrow{1.,[in] ,value,adlx_int ,@ENG_START_DOX The new temperature value (in °C). @ENG_END_DOX}
|
|
116
|
+
*
|
|
117
|
+
* @retvalues
|
|
118
|
+
* @ENG_START_DOX
|
|
119
|
+
* If the temperature is successfully set, __ADLX_OK__ is returned.<br>
|
|
120
|
+
* If the temperature is not successfully set, an error code is returned.<br>
|
|
121
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
122
|
+
* @ENG_END_DOX
|
|
123
|
+
*
|
|
124
|
+
*@copydoc IADLXManualFanTuningState_REQ_TABLE
|
|
125
|
+
*
|
|
126
|
+
*/
|
|
127
|
+
virtual ADLX_RESULT ADLX_STD_CALL SetTemperature (adlx_int value) = 0;
|
|
128
|
+
};
|
|
129
|
+
//----------------------------------------------------------------------------------------------
|
|
130
|
+
typedef IADLXInterfacePtr_T<IADLXManualFanTuningState> IADLXManualFanTuningStatePtr;
|
|
131
|
+
} //namespace adlx
|
|
132
|
+
#else //__cplusplus
|
|
133
|
+
ADLX_DECLARE_IID (IADLXManualFanTuningState, L"IADLXManualFanTuningState")
|
|
134
|
+
|
|
135
|
+
typedef struct IADLXManualFanTuningState IADLXManualFanTuningState;
|
|
136
|
+
|
|
137
|
+
typedef struct IADLXManualFanTuningStateVtbl
|
|
138
|
+
{
|
|
139
|
+
//IADLXInterface
|
|
140
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXManualFanTuningState* pThis);
|
|
141
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXManualFanTuningState* pThis);
|
|
142
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXManualFanTuningState* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
143
|
+
|
|
144
|
+
//IADLXManualFanTuningState
|
|
145
|
+
ADLX_RESULT (ADLX_STD_CALL *GetFanSpeed)(IADLXManualFanTuningState* pThis, adlx_int* value);
|
|
146
|
+
ADLX_RESULT (ADLX_STD_CALL *SetFanSpeed)(IADLXManualFanTuningState* pThis, adlx_int value);
|
|
147
|
+
ADLX_RESULT (ADLX_STD_CALL *GetTemperature)(IADLXManualFanTuningState* pThis, adlx_int* value);
|
|
148
|
+
ADLX_RESULT (ADLX_STD_CALL *SetTemperature)(IADLXManualFanTuningState* pThis, adlx_int value);
|
|
149
|
+
}IADLXManualFanTuningStateVtbl;
|
|
150
|
+
|
|
151
|
+
struct IADLXManualFanTuningState { const IADLXManualFanTuningStateVtbl *pVtbl; };
|
|
152
|
+
#endif //__cplusplus
|
|
153
|
+
#pragma endregion IADLXManualFanTuningState
|
|
154
|
+
|
|
155
|
+
//IADLXManualFanTuningState list interface
|
|
156
|
+
#pragma region IADLXManualFanTuningStateList
|
|
157
|
+
#if defined (__cplusplus)
|
|
158
|
+
namespace adlx
|
|
159
|
+
{
|
|
160
|
+
class ADLX_NO_VTABLE IADLXManualFanTuningStateList : public IADLXList
|
|
161
|
+
{
|
|
162
|
+
public:
|
|
163
|
+
ADLX_DECLARE_IID (L"IADLXManualFanTuningStateList")
|
|
164
|
+
//Lists must declare the type of items it holds - what was passed as ADLX_DECLARE_IID() in that interface
|
|
165
|
+
ADLX_DECLARE_ITEM_IID (IADLXManualFanTuningState::IID ())
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* @page DOX_IADLXManualFanTuningStateList_At At
|
|
169
|
+
* @ENG_START_DOX
|
|
170
|
+
* @brief Returns the reference counted interface at the requested location.
|
|
171
|
+
* @ENG_END_DOX
|
|
172
|
+
*
|
|
173
|
+
* @syntax
|
|
174
|
+
* @codeStart
|
|
175
|
+
* @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXManualFanTuningState** ppItem)
|
|
176
|
+
* @codeEnd
|
|
177
|
+
*
|
|
178
|
+
* @params
|
|
179
|
+
* @paramrow{1.,[in] ,location,const adlx_uint ,@ENG_START_DOX The location of the requested interface. @ENG_END_DOX}
|
|
180
|
+
* @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXManualFanTuningState** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned then the method sets the dereferenced address __*ppItem__ to __nullptr__. @ENG_END_DOX}
|
|
181
|
+
*
|
|
182
|
+
* @retvalues
|
|
183
|
+
* @ENG_START_DOX
|
|
184
|
+
* If the location is within the list bounds, __ADLX_OK__ is returned.<br>
|
|
185
|
+
* If the location is not within the list bounds, an error code is returned.<br>
|
|
186
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
187
|
+
* @ENG_END_DOX
|
|
188
|
+
*
|
|
189
|
+
* @detaileddesc
|
|
190
|
+
* @ENG_START_DOX
|
|
191
|
+
* @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
|
|
192
|
+
* @ENG_END_DOX
|
|
193
|
+
*
|
|
194
|
+
* @addinfo
|
|
195
|
+
* @ENG_START_DOX
|
|
196
|
+
* In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation.
|
|
197
|
+
* @ENG_END_DOX
|
|
198
|
+
*
|
|
199
|
+
* @copydoc IADLXManualFanTuningStateList_REQ_TABLE
|
|
200
|
+
*
|
|
201
|
+
*/
|
|
202
|
+
virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXManualFanTuningState** ppItem) = 0;
|
|
203
|
+
/**
|
|
204
|
+
*@page DOX_IADLXManualFanTuningStateList_Add_Back Add_Back
|
|
205
|
+
*@ENG_START_DOX @brief Adds an interface to the end of a list. @ENG_END_DOX
|
|
206
|
+
*
|
|
207
|
+
*@syntax
|
|
208
|
+
*@codeStart
|
|
209
|
+
* @ref ADLX_RESULT Add_Back (@ref DOX_IADLXManualFanTuningState* pItem)
|
|
210
|
+
*@codeEnd
|
|
211
|
+
*
|
|
212
|
+
*@params
|
|
213
|
+
*@paramrow{1.,[in] ,pItem,@ref DOX_IADLXManualFanTuningState* ,@ENG_START_DOX The pointer to the interface to be added to the list. @ENG_END_DOX}
|
|
214
|
+
*
|
|
215
|
+
* @retvalues
|
|
216
|
+
* @ENG_START_DOX
|
|
217
|
+
* If the interface is added successfully to the end of the list, __ADLX_OK__ is returned.<br>
|
|
218
|
+
* If the interface is not added to the end of the list, an error code is returned.<br>
|
|
219
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
220
|
+
* @ENG_END_DOX
|
|
221
|
+
*
|
|
222
|
+
*@copydoc IADLXManualFanTuningStateList_REQ_TABLE
|
|
223
|
+
*
|
|
224
|
+
*/
|
|
225
|
+
virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXManualFanTuningState* pItem) = 0;
|
|
226
|
+
}; //IADLXManualFanTuningStateList
|
|
227
|
+
//----------------------------------------------------------------------------------------------
|
|
228
|
+
typedef IADLXInterfacePtr_T<IADLXManualFanTuningStateList> IADLXManualFanTuningStateListPtr;
|
|
229
|
+
} //namespace adlx
|
|
230
|
+
#else //__cplusplus
|
|
231
|
+
ADLX_DECLARE_IID (IADLXManualFanTuningStateList, L"IADLXManualFanTuningStateList")
|
|
232
|
+
ADLX_DECLARE_ITEM_IID (IADLXManualFanTuningState, IID_IADLXManualFanTuningState ())
|
|
233
|
+
|
|
234
|
+
typedef struct IADLXManualFanTuningStateList IADLXManualFanTuningStateList;
|
|
235
|
+
|
|
236
|
+
typedef struct IADLXManualFanTuningStateListVtbl
|
|
237
|
+
{
|
|
238
|
+
//IADLXInterface
|
|
239
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXManualFanTuningStateList* pThis);
|
|
240
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXManualFanTuningStateList* pThis);
|
|
241
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXManualFanTuningStateList* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
242
|
+
|
|
243
|
+
//IADLXList
|
|
244
|
+
adlx_uint (ADLX_STD_CALL *Size)(IADLXManualFanTuningStateList* pThis);
|
|
245
|
+
adlx_bool (ADLX_STD_CALL *Empty)(IADLXManualFanTuningStateList* pThis);
|
|
246
|
+
adlx_uint (ADLX_STD_CALL *Begin)(IADLXManualFanTuningStateList* pThis);
|
|
247
|
+
adlx_uint (ADLX_STD_CALL *End)(IADLXManualFanTuningStateList* pThis);
|
|
248
|
+
ADLX_RESULT (ADLX_STD_CALL *At)(IADLXManualFanTuningStateList* pThis, const adlx_uint location, IADLXInterface** ppItem);
|
|
249
|
+
ADLX_RESULT (ADLX_STD_CALL *Clear)(IADLXManualFanTuningStateList* pThis);
|
|
250
|
+
ADLX_RESULT (ADLX_STD_CALL *Remove_Back)(IADLXManualFanTuningStateList* pThis);
|
|
251
|
+
ADLX_RESULT (ADLX_STD_CALL *Add_Back)(IADLXManualFanTuningStateList* pThis, IADLXInterface* pItem);
|
|
252
|
+
|
|
253
|
+
//IADLXManualFanTuningStateList
|
|
254
|
+
ADLX_RESULT (ADLX_STD_CALL *At_ManualFanTuningStateList)(IADLXManualFanTuningStateList* pThis, const adlx_uint location, IADLXManualFanTuningState** ppItem);
|
|
255
|
+
ADLX_RESULT (ADLX_STD_CALL *Add_Back_ManualFanTuningStateList)(IADLXManualFanTuningStateList* pThis, IADLXManualFanTuningState* pItem);
|
|
256
|
+
|
|
257
|
+
}IADLXManualFanTuningStateListVtbl;
|
|
258
|
+
|
|
259
|
+
struct IADLXManualFanTuningStateList { const IADLXManualFanTuningStateListVtbl *pVtbl; };
|
|
260
|
+
#endif //__cplusplus
|
|
261
|
+
#pragma endregion IADLXManualFanTuningStateList
|
|
262
|
+
|
|
263
|
+
// Manual FAN Tuning
|
|
264
|
+
#pragma region IADLXManualFanTuning
|
|
265
|
+
#if defined (__cplusplus)
|
|
266
|
+
namespace adlx
|
|
267
|
+
{
|
|
268
|
+
class ADLX_NO_VTABLE IADLXManualFanTuning : public IADLXInterface
|
|
269
|
+
{
|
|
270
|
+
public:
|
|
271
|
+
ADLX_DECLARE_IID (L"IADLXManualFanTuning")
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
*@page DOX_IADLXManualFanTuning_GetFanTuningRanges GetFanTuningRanges
|
|
275
|
+
*@ENG_START_DOX @brief Gets the fan speed range and the temperature range on a GPU. @ENG_END_DOX
|
|
276
|
+
*
|
|
277
|
+
*@syntax
|
|
278
|
+
*@codeStart
|
|
279
|
+
* @ref ADLX_RESULT GetFanTuningRanges (@ref ADLX_IntRange* speedRange, @ref ADLX_IntRange* temperatureRange)
|
|
280
|
+
*@codeEnd
|
|
281
|
+
*
|
|
282
|
+
*@params
|
|
283
|
+
*@paramrow{1.,[out],speedRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the fan speed range (in %) is returned. @ENG_END_DOX}
|
|
284
|
+
*@paramrow{2.,[out],temperatureRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the temperature range (in °C) is returned. @ENG_END_DOX}
|
|
285
|
+
*
|
|
286
|
+
*@retvalues
|
|
287
|
+
*@ENG_START_DOX If the fan speed and temperature range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
288
|
+
* If the fan speed and temperature range is not successfully returned, an error code is returned.<br>
|
|
289
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
290
|
+
*
|
|
291
|
+
* @addinfo
|
|
292
|
+
* @ENG_START_DOX
|
|
293
|
+
* The fan speed range and the temperature range are applicable to all GPU states on a GPU.
|
|
294
|
+
* @ENG_END_DOX
|
|
295
|
+
*
|
|
296
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
297
|
+
*
|
|
298
|
+
*/
|
|
299
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetFanTuningRanges (ADLX_IntRange* speedRange, ADLX_IntRange* temperatureRange) = 0;
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
*@page DOX_IADLXManualFanTuning_GetFanTuningStates GetFanTuningStates
|
|
303
|
+
*@ENG_START_DOX @brief Gets the reference counted list of current GPU fan tuning states on a GPU. @ENG_END_DOX
|
|
304
|
+
*
|
|
305
|
+
*@syntax
|
|
306
|
+
*@codeStart
|
|
307
|
+
* @ref ADLX_RESULT GetFanTuningStates (@ref DOX_IADLXManualFanTuningStateList** ppStates)
|
|
308
|
+
*@codeEnd
|
|
309
|
+
*
|
|
310
|
+
*@params
|
|
311
|
+
*@paramrow{1.,[out],ppStates,@ref DOX_IADLXManualFanTuningStateList**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppStates__ to __nullptr__. @ENG_END_DOX}
|
|
312
|
+
*
|
|
313
|
+
*@retvalues
|
|
314
|
+
*@ENG_START_DOX If the list of GPU fan tuning states is successfully returned, __ADLX_OK__ is returned.<br>
|
|
315
|
+
* If the list of GPU fan tuning states is not successfully returned, an error code is returned.<br>
|
|
316
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
317
|
+
*
|
|
318
|
+
*@detaileddesc
|
|
319
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
|
|
320
|
+
*
|
|
321
|
+
*@addinfo
|
|
322
|
+
*@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX
|
|
323
|
+
*
|
|
324
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
325
|
+
*
|
|
326
|
+
*/
|
|
327
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetFanTuningStates (IADLXManualFanTuningStateList** ppStates) = 0;
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
*@page DOX_IADLXManualFanTuning_GetEmptyFanTuningStates GetEmptyFanTuningStates
|
|
331
|
+
*@ENG_START_DOX @brief Gets the reference counted list of empty GPU fan tuning states on a GPU. @ENG_END_DOX
|
|
332
|
+
*
|
|
333
|
+
*@syntax
|
|
334
|
+
*@codeStart
|
|
335
|
+
* @ref ADLX_RESULT GetEmptyFanTuningStates (@ref DOX_IADLXManualFanTuningStateList** ppStates)
|
|
336
|
+
*@codeEnd
|
|
337
|
+
*
|
|
338
|
+
*@params
|
|
339
|
+
*@paramrow{1.,[out],ppStates,@ref DOX_IADLXManualFanTuningStateList**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppStates__ to __nullptr__. @ENG_END_DOX}
|
|
340
|
+
*
|
|
341
|
+
*@retvalues
|
|
342
|
+
*@ENG_START_DOX If the list of empty GPU fan tuning states is successfully returned, __ADLX_OK__ is returned.<br>
|
|
343
|
+
* If the list of empty GPU fan tuning states is not successfully returned, an error code is returned.<br>
|
|
344
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
345
|
+
*
|
|
346
|
+
*@detaileddesc
|
|
347
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
|
|
348
|
+
*
|
|
349
|
+
*@addinfo
|
|
350
|
+
*@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX
|
|
351
|
+
*
|
|
352
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
353
|
+
*
|
|
354
|
+
*/
|
|
355
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetEmptyFanTuningStates (IADLXManualFanTuningStateList** ppStates) = 0;
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
*@page DOX_IADLXManualFanTuning_IsValidFanTuningStates IsValidFanTuningStates
|
|
359
|
+
*@ENG_START_DOX @brief Checks if each GPU fan tuning state in a list is valid on a GPU. @ENG_END_DOX
|
|
360
|
+
*
|
|
361
|
+
*@syntax
|
|
362
|
+
*@codeStart
|
|
363
|
+
* @ref ADLX_RESULT IsValidFanTuningStates (@ref DOX_IADLXManualFanTuningStateList* pStates, adlx_int* errorIndex)
|
|
364
|
+
*@codeEnd
|
|
365
|
+
*
|
|
366
|
+
*@params
|
|
367
|
+
*@paramrow{1.,[in],pStates,@ref DOX_IADLXManualFanTuningStateList*,@ENG_START_DOX The pointer to the GPU fan tuning states list interface. @ENG_END_DOX}
|
|
368
|
+
*@paramrow{2.,[out],errorIndex,adlx_int*,@ENG_START_DOX The pointer to a variable where the invalid states index is returned. @ENG_END_DOX}
|
|
369
|
+
*
|
|
370
|
+
*@retvalues
|
|
371
|
+
*@ENG_START_DOX If __IsValidFanTuningStates__ is successfully executed, __ADLX_OK__ is returned.<br>
|
|
372
|
+
* If __IsValidFanTuningStates__ is not successfully executed, an error code is returned.<br>
|
|
373
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
374
|
+
*
|
|
375
|
+
*@detaileddesc
|
|
376
|
+
*@ENG_START_DOX @details If the __*pStates__ is valid then the method sets the __errorIndex__ to -1. @ENG_END_DOX
|
|
377
|
+
*
|
|
378
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
379
|
+
*
|
|
380
|
+
*/
|
|
381
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsValidFanTuningStates (IADLXManualFanTuningStateList* pStates, adlx_int* errorIndex) = 0;
|
|
382
|
+
|
|
383
|
+
/**
|
|
384
|
+
*@page DOX_IADLXManualFanTuning_SetFanTuningStates SetFanTuningStates
|
|
385
|
+
*@ENG_START_DOX @brief Sets the fan tuning states on a GPU. @ENG_END_DOX
|
|
386
|
+
*
|
|
387
|
+
*@syntax
|
|
388
|
+
*@codeStart
|
|
389
|
+
* @ref ADLX_RESULT SetFanTuningStates (@ref DOX_IADLXManualFanTuningStateList* pStates)
|
|
390
|
+
*@codeEnd
|
|
391
|
+
*
|
|
392
|
+
*@params
|
|
393
|
+
*@paramrow{1.,[in],pStates,@ref DOX_IADLXManualFanTuningStateList*,@ENG_START_DOX The pointer to the GPU states list interface. @ENG_END_DOX}
|
|
394
|
+
*
|
|
395
|
+
*@retvalues
|
|
396
|
+
*@ENG_START_DOX If the GPU fan tuning states are successfully set, __ADLX_OK__ is returned.<br>
|
|
397
|
+
* If the GPU fan tuning states are not successfully set, an error code is returned.<br>
|
|
398
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
399
|
+
*
|
|
400
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
401
|
+
*
|
|
402
|
+
*/
|
|
403
|
+
virtual ADLX_RESULT ADLX_STD_CALL SetFanTuningStates (IADLXManualFanTuningStateList* pStates) = 0;
|
|
404
|
+
|
|
405
|
+
/**
|
|
406
|
+
*@page DOX_IADLXManualFanTuning_IsSupportedZeroRPM IsSupportedZeroRPM
|
|
407
|
+
*@ENG_START_DOX @brief Checks if zero RPM is supported on a GPU. @ENG_END_DOX
|
|
408
|
+
*
|
|
409
|
+
*@syntax
|
|
410
|
+
*@codeStart
|
|
411
|
+
* @ref ADLX_RESULT IsSupportedZeroRPM (adlx_bool* supported)
|
|
412
|
+
*@codeEnd
|
|
413
|
+
*
|
|
414
|
+
*@params
|
|
415
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of zero RPM feature is returned. The variable is __true__ if zero RPM feature is supported. The variable is __false__ if zero RPM feature is not supported. @ENG_END_DOX}
|
|
416
|
+
*
|
|
417
|
+
*@retvalues
|
|
418
|
+
*@ENG_START_DOX If the state of zero RPM feature is successfully returned, __ADLX_OK__ is returned.<br>
|
|
419
|
+
* If the state of zero RPM feature is not successfully returned, an error code is returned.<br>
|
|
420
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
421
|
+
*
|
|
422
|
+
* @addinfo
|
|
423
|
+
* @ENG_START_DOX
|
|
424
|
+
* Zero RPM enables quiet operation when the GPU is under a light load and speeds up the fans when the GPU load and temperature increases.
|
|
425
|
+
* @ENG_END_DOX
|
|
426
|
+
*
|
|
427
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
428
|
+
*
|
|
429
|
+
*/
|
|
430
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedZeroRPM (adlx_bool* supported) = 0;
|
|
431
|
+
|
|
432
|
+
/**
|
|
433
|
+
*@page DOX_IADLXManualFanTuning_GetZeroRPMState GetZeroRPMState
|
|
434
|
+
*@ENG_START_DOX @brief Checks if zero RPM is currently activated on a GPU. @ENG_END_DOX
|
|
435
|
+
*
|
|
436
|
+
*@syntax
|
|
437
|
+
*@codeStart
|
|
438
|
+
* @ref ADLX_RESULT GetZeroRPMState (adlx_bool* isSet)
|
|
439
|
+
*@codeEnd
|
|
440
|
+
*
|
|
441
|
+
*@params
|
|
442
|
+
*@paramrow{1.,[out],isSet,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of zero RPM is returned. The variable is __true__ if zero RPM is enabled. The variable is __false__ if zero RPM is not enabled. @ENG_END_DOX}
|
|
443
|
+
*
|
|
444
|
+
*@retvalues
|
|
445
|
+
*@ENG_START_DOX If the state of zero RPM is successfully returned, __ADLX_OK__ is returned.<br>
|
|
446
|
+
* If the state of zero RPM is not successfully returned, an error code is returned.<br>
|
|
447
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
448
|
+
*
|
|
449
|
+
* @addinfo
|
|
450
|
+
* @ENG_START_DOX
|
|
451
|
+
* Zero RPM enables quiet operation when the GPU is under a light load and speeds up the fans when the GPU load and temperature increases.
|
|
452
|
+
* @ENG_END_DOX
|
|
453
|
+
*
|
|
454
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
455
|
+
*
|
|
456
|
+
*/
|
|
457
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetZeroRPMState (adlx_bool* isSet) = 0;
|
|
458
|
+
|
|
459
|
+
/**
|
|
460
|
+
*@page DOX_IADLXManualFanTuning_SetZeroRPMState SetZeroRPMState
|
|
461
|
+
*@ENG_START_DOX @brief Enables or disables zero RPM on a GPU. @ENG_END_DOX
|
|
462
|
+
*
|
|
463
|
+
*@syntax
|
|
464
|
+
*@codeStart
|
|
465
|
+
* @ref ADLX_RESULT SetZeroRPMState (adlx_bool set)
|
|
466
|
+
*@codeEnd
|
|
467
|
+
*
|
|
468
|
+
*@params
|
|
469
|
+
*@paramrow{1.,[in],isSet,adlx_bool,@ENG_START_DOX The new zero RPM state. Set __true__ to enable zero RPM. Set __false__ to disable zero RPM. @ENG_END_DOX}
|
|
470
|
+
*
|
|
471
|
+
*@retvalues
|
|
472
|
+
*@ENG_START_DOX If the state of zero RPM is successfully set, __ADLX_OK__ is returned.<br>
|
|
473
|
+
* If the state of zero RPM is not successfully set, an error code is returned.<br>
|
|
474
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
475
|
+
*
|
|
476
|
+
* @addinfo
|
|
477
|
+
* @ENG_START_DOX
|
|
478
|
+
* Zero RPM enables quiet operation when the GPU is under a light load and speeds up the fans when the GPU load and temperature increases.
|
|
479
|
+
* @ENG_END_DOX
|
|
480
|
+
*
|
|
481
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
482
|
+
*
|
|
483
|
+
*/
|
|
484
|
+
virtual ADLX_RESULT ADLX_STD_CALL SetZeroRPMState (adlx_bool set) = 0;
|
|
485
|
+
|
|
486
|
+
/**
|
|
487
|
+
*@page DOX_IADLXManualFanTuning_IsSupportedMinAcousticLimit IsSupportedMinAcousticLimit
|
|
488
|
+
*@ENG_START_DOX @brief Checks if the minimum acoustic limit is supported on a GPU. @ENG_END_DOX
|
|
489
|
+
*
|
|
490
|
+
*@syntax
|
|
491
|
+
*@codeStart
|
|
492
|
+
* @ref ADLX_RESULT IsSupportedMinAcousticLimit (adlx_bool* supported)
|
|
493
|
+
*@codeEnd
|
|
494
|
+
*
|
|
495
|
+
*@params
|
|
496
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of min acoustic limit feature is returned. The variable is __true__ if min acoustic limit feature is supported. The variable is __false__ if min acoustic limit feature is not supported. @ENG_END_DOX}
|
|
497
|
+
*
|
|
498
|
+
*@retvalues
|
|
499
|
+
*@ENG_START_DOX If the state of min acoustic limit feature is successfully returned, __ADLX_OK__ is returned.<br>
|
|
500
|
+
* If the state of min acoustic limit feature is not successfully returned, an error code is returned.<br>
|
|
501
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
502
|
+
*
|
|
503
|
+
* @addinfo
|
|
504
|
+
* @ENG_START_DOX
|
|
505
|
+
* Some GPUs support Minimum Acoustic Limit adjustments (in MHz).
|
|
506
|
+
* @ENG_END_DOX
|
|
507
|
+
*
|
|
508
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
509
|
+
*
|
|
510
|
+
*/
|
|
511
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedMinAcousticLimit (adlx_bool* supported) = 0;
|
|
512
|
+
|
|
513
|
+
/**
|
|
514
|
+
*@page DOX_IADLXManualFanTuning_GetMinAcousticLimitRange GetMinAcousticLimitRange
|
|
515
|
+
*@ENG_START_DOX @brief Gets the maximum value, minimum value, and step for the minimum acoustic limit on a GPU. @ENG_END_DOX
|
|
516
|
+
*
|
|
517
|
+
*@syntax
|
|
518
|
+
*@codeStart
|
|
519
|
+
* @ref ADLX_RESULT GetMinAcousticLimitRange (@ref ADLX_IntRange* tuningRange)
|
|
520
|
+
*@codeEnd
|
|
521
|
+
*
|
|
522
|
+
*@params
|
|
523
|
+
*@paramrow{1.,[out],tuningRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the min acoustic limit range (in MHz) is returned. @ENG_END_DOX}
|
|
524
|
+
*
|
|
525
|
+
*@retvalues
|
|
526
|
+
*@ENG_START_DOX If the min acoustic limit range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
527
|
+
* If the min acoustic limit range is not successfully returned, an error code is returned.<br>
|
|
528
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
529
|
+
*
|
|
530
|
+
* @addinfo
|
|
531
|
+
* @ENG_START_DOX
|
|
532
|
+
* Some GPUs support Minimum Acoustic Limit adjustments (in MHz).
|
|
533
|
+
* @ENG_END_DOX
|
|
534
|
+
*
|
|
535
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
536
|
+
*
|
|
537
|
+
*/
|
|
538
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetMinAcousticLimitRange (ADLX_IntRange* tuningRange) = 0;
|
|
539
|
+
|
|
540
|
+
/**
|
|
541
|
+
*@page DOX_IADLXManualFanTuning_GetMinAcousticLimit GetMinAcousticLimit
|
|
542
|
+
*@ENG_START_DOX @brief Gets the current minimum acoustic limit on a GPU. @ENG_END_DOX
|
|
543
|
+
*
|
|
544
|
+
*@syntax
|
|
545
|
+
*@codeStart
|
|
546
|
+
* @ref ADLX_RESULT GetMinAcousticLimit (adlx_int* value)
|
|
547
|
+
*@codeEnd
|
|
548
|
+
*
|
|
549
|
+
*@params
|
|
550
|
+
*@paramrow{1.,[out],value,adlx_int*,@ENG_START_DOX The pointer to a variable where the min acoustic limit value (in MHz) is returned. @ENG_END_DOX}
|
|
551
|
+
*
|
|
552
|
+
*@retvalues
|
|
553
|
+
*@ENG_START_DOX If the min acoustic limit value is successfully returned, __ADLX_OK__ is returned.<br>
|
|
554
|
+
* If the min acoustic limit value is not successfully returned, an error code is returned.<br>
|
|
555
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
556
|
+
*
|
|
557
|
+
* @addinfo
|
|
558
|
+
* @ENG_START_DOX
|
|
559
|
+
* Some GPUs support Minimum Acoustic Limit adjustments (in MHz).
|
|
560
|
+
* @ENG_END_DOX
|
|
561
|
+
*
|
|
562
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
563
|
+
*
|
|
564
|
+
*/
|
|
565
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetMinAcousticLimit (adlx_int* value) = 0;
|
|
566
|
+
|
|
567
|
+
/**
|
|
568
|
+
*@page DOX_IADLXManualFanTuning_SetMinAcousticLimit SetMinAcousticLimit
|
|
569
|
+
*@ENG_START_DOX @brief Sets the minimum acoustic limit on a GPU. @ENG_END_DOX
|
|
570
|
+
*
|
|
571
|
+
*@syntax
|
|
572
|
+
*@codeStart
|
|
573
|
+
* @ref ADLX_RESULT SetMinAcousticLimit (adlx_int value)
|
|
574
|
+
*@codeEnd
|
|
575
|
+
*
|
|
576
|
+
*@params
|
|
577
|
+
*@paramrow{1.,[in],value,adlx_int,@ENG_START_DOX The new min acoustic limit (in MHz). @ENG_END_DOX}
|
|
578
|
+
*
|
|
579
|
+
*@retvalues
|
|
580
|
+
*@ENG_START_DOX If the min acoustic limit value is successfully set, __ADLX_OK__ is returned.<br>
|
|
581
|
+
* If the min acoustic limit value is not successfully set, an error code is returned.<br>
|
|
582
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
583
|
+
*
|
|
584
|
+
* @addinfo
|
|
585
|
+
* @ENG_START_DOX
|
|
586
|
+
* Some GPUs support Minimum Acoustic Limit adjustments (in MHz).
|
|
587
|
+
* @ENG_END_DOX
|
|
588
|
+
*
|
|
589
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
590
|
+
*
|
|
591
|
+
*/
|
|
592
|
+
virtual ADLX_RESULT ADLX_STD_CALL SetMinAcousticLimit (adlx_int value) = 0;
|
|
593
|
+
|
|
594
|
+
/**
|
|
595
|
+
*@page DOX_IADLXManualFanTuning_IsSupportedMinFanSpeed IsSupportedMinFanSpeed
|
|
596
|
+
*@ENG_START_DOX @brief Checks if the minimum fan speed is supported on a GPU. @ENG_END_DOX
|
|
597
|
+
*
|
|
598
|
+
*@syntax
|
|
599
|
+
*@codeStart
|
|
600
|
+
* @ref ADLX_RESULT IsSupportedMinFanSpeed (adlx_bool* supported)
|
|
601
|
+
*@codeEnd
|
|
602
|
+
*
|
|
603
|
+
*@params
|
|
604
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of minimum fan speed feature is returned. The variable is __true__ if minimum fan speed feature is supported. The variable is __false__ if minimum fan speed feature is not supported. @ENG_END_DOX}
|
|
605
|
+
*
|
|
606
|
+
*@retvalues
|
|
607
|
+
*@ENG_START_DOX If the state of minimum fan speed feature is successfully returned, __ADLX_OK__ is returned.<br>
|
|
608
|
+
* If the state of minimum fan speed feature is not successfully returned, an error code is returned.<br>
|
|
609
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
610
|
+
*
|
|
611
|
+
*
|
|
612
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
613
|
+
*
|
|
614
|
+
*/
|
|
615
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedMinFanSpeed (adlx_bool* supported) = 0;
|
|
616
|
+
|
|
617
|
+
/**
|
|
618
|
+
*@page DOX_IADLXManualFanTuning_GetMinFanSpeedRange GetMinFanSpeedRange
|
|
619
|
+
*@ENG_START_DOX @brief Gets the maximum value, minimum value, and step for the minimum fan speed on a GPU. @ENG_END_DOX
|
|
620
|
+
*
|
|
621
|
+
*@syntax
|
|
622
|
+
*@codeStart
|
|
623
|
+
* @ref ADLX_RESULT GetMinFanSpeedRange (@ref ADLX_IntRange* tuningRange)
|
|
624
|
+
*@codeEnd
|
|
625
|
+
*
|
|
626
|
+
*@params
|
|
627
|
+
*@paramrow{1.,[out],tuningRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the minimum fan speed range (in RPM) is returned. @ENG_END_DOX}
|
|
628
|
+
*
|
|
629
|
+
*@retvalues
|
|
630
|
+
*@ENG_START_DOX If the minimum fan speed range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
631
|
+
* If the minimum fan speed range is not successfully returned, an error code is returned.<br>
|
|
632
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
633
|
+
*
|
|
634
|
+
*
|
|
635
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
636
|
+
*
|
|
637
|
+
*/
|
|
638
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetMinFanSpeedRange (ADLX_IntRange* tuningRange) = 0;
|
|
639
|
+
|
|
640
|
+
/**
|
|
641
|
+
*@page DOX_IADLXManualFanTuning_GetMinFanSpeed GetMinFanSpeed
|
|
642
|
+
*@ENG_START_DOX @brief Gets the current minimum fan speed on a GPU. @ENG_END_DOX
|
|
643
|
+
*
|
|
644
|
+
*@syntax
|
|
645
|
+
*@codeStart
|
|
646
|
+
* @ref ADLX_RESULT GetMinFanSpeed (adlx_int* value)
|
|
647
|
+
*@codeEnd
|
|
648
|
+
*
|
|
649
|
+
*@params
|
|
650
|
+
*@paramrow{1.,[out],value,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum fan speed value (in RPM) is returned. @ENG_END_DOX}
|
|
651
|
+
*
|
|
652
|
+
*@retvalues
|
|
653
|
+
*@ENG_START_DOX If the minimum fan speed value is successfully returned, __ADLX_OK__ is returned.<br>
|
|
654
|
+
* If the minimum fan speed value is not successfully returned, an error code is returned.<br>
|
|
655
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
656
|
+
*
|
|
657
|
+
* @addinfo
|
|
658
|
+
* @ENG_START_DOX
|
|
659
|
+
* Some GPUs support minimum fan speed adjustments (in MHz).
|
|
660
|
+
* @ENG_END_DOX
|
|
661
|
+
*
|
|
662
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
663
|
+
*
|
|
664
|
+
*/
|
|
665
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetMinFanSpeed (adlx_int* value) = 0;
|
|
666
|
+
|
|
667
|
+
/**
|
|
668
|
+
*@page DOX_IADLXManualFanTuning_SetMinFanSpeed SetMinFanSpeed
|
|
669
|
+
*@ENG_START_DOX @brief Sets the minimum fan speed on a GPU. @ENG_END_DOX
|
|
670
|
+
*
|
|
671
|
+
*@syntax
|
|
672
|
+
*@codeStart
|
|
673
|
+
* @ref ADLX_RESULT SetMinFanSpeed (adlx_int value)
|
|
674
|
+
*@codeEnd
|
|
675
|
+
*
|
|
676
|
+
*@params
|
|
677
|
+
*@paramrow{1.,[in],value,adlx_int,@ENG_START_DOX The new minimum fan speed (in RPM). @ENG_END_DOX}
|
|
678
|
+
*
|
|
679
|
+
*@retvalues
|
|
680
|
+
*@ENG_START_DOX If the minimum fan speed value is successfully set, __ADLX_OK__ is returned.<br>
|
|
681
|
+
* If the minimum fan speed value is not successfully set, an error code is returned.<br>
|
|
682
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
683
|
+
*
|
|
684
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
685
|
+
*
|
|
686
|
+
*/
|
|
687
|
+
virtual ADLX_RESULT ADLX_STD_CALL SetMinFanSpeed (adlx_int value) = 0;
|
|
688
|
+
|
|
689
|
+
/**
|
|
690
|
+
*@page DOX_IADLXManualFanTuning_IsSupportedTargetFanSpeed IsSupportedTargetFanSpeed
|
|
691
|
+
*@ENG_START_DOX @brief Checks if the target fan speed is supported on a GPU. @ENG_END_DOX
|
|
692
|
+
*
|
|
693
|
+
*@syntax
|
|
694
|
+
*@codeStart
|
|
695
|
+
* @ref ADLX_RESULT IsSupportedTargetFanSpeed (adlx_bool* supported)
|
|
696
|
+
*@codeEnd
|
|
697
|
+
*
|
|
698
|
+
*@params
|
|
699
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of target fan speed feature is returned. The variable is __true__ if target fan speed feature is supported. The variable is __false__ if target fan speed feature is not supported. @ENG_END_DOX}
|
|
700
|
+
*
|
|
701
|
+
*@retvalues
|
|
702
|
+
*@ENG_START_DOX If the state of target fan speed feature is successfully returned, __ADLX_OK__ is returned.<br>
|
|
703
|
+
* If the state of target fan speed feature is not successfully returned, an error code is returned.<br>
|
|
704
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
705
|
+
*
|
|
706
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
707
|
+
*
|
|
708
|
+
*/
|
|
709
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedTargetFanSpeed (adlx_bool* supported) = 0;
|
|
710
|
+
|
|
711
|
+
/**
|
|
712
|
+
*@page DOX_IADLXManualFanTuning_GetTargetFanSpeedRange GetTargetFanSpeedRange
|
|
713
|
+
*@ENG_START_DOX @brief Gets the maximum value, minimum value, and step for the target fan speed on a GPU. @ENG_END_DOX
|
|
714
|
+
*
|
|
715
|
+
*@syntax
|
|
716
|
+
*@codeStart
|
|
717
|
+
* @ref ADLX_RESULT GetTargetFanSpeedRange (@ref ADLX_IntRange* tuningRange)
|
|
718
|
+
*@codeEnd
|
|
719
|
+
*
|
|
720
|
+
*@params
|
|
721
|
+
*@paramrow{1.,[out],tuningRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the target fan speed range (in RPM) is returned. @ENG_END_DOX}
|
|
722
|
+
*
|
|
723
|
+
*@retvalues
|
|
724
|
+
*@ENG_START_DOX If the target fan speed range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
725
|
+
* If the target fan speed range is not successfully returned, an error code is returned.<br>
|
|
726
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
727
|
+
*
|
|
728
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
729
|
+
*
|
|
730
|
+
*/
|
|
731
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetTargetFanSpeedRange (ADLX_IntRange* tuningRange) = 0;
|
|
732
|
+
|
|
733
|
+
/**
|
|
734
|
+
*@page DOX_IADLXManualFanTuning_GetTargetFanSpeed GetTargetFanSpeed
|
|
735
|
+
*@ENG_START_DOX @brief Gets the current target fan speed on a GPU. @ENG_END_DOX
|
|
736
|
+
*
|
|
737
|
+
*@syntax
|
|
738
|
+
*@codeStart
|
|
739
|
+
* @ref ADLX_RESULT GetTargetFanSpeed (adlx_int* value)
|
|
740
|
+
*@codeEnd
|
|
741
|
+
*
|
|
742
|
+
*@params
|
|
743
|
+
*@paramrow{1.,[out],value,adlx_int*,@ENG_START_DOX The pointer to a variable where the target fan speed value (in RPM) is returned. @ENG_END_DOX}
|
|
744
|
+
*
|
|
745
|
+
*@retvalues
|
|
746
|
+
*@ENG_START_DOX If the target fan speed value is successfully returned, __ADLX_OK__ is returned.<br>
|
|
747
|
+
* If the target fan speed value is not successfully returned, an error code is returned.<br>
|
|
748
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
749
|
+
*
|
|
750
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
751
|
+
*
|
|
752
|
+
*/
|
|
753
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetTargetFanSpeed (adlx_int* value) = 0;
|
|
754
|
+
|
|
755
|
+
/**
|
|
756
|
+
*@page DOX_IADLXManualFanTuning_SetTargetFanSpeed SetTargetFanSpeed
|
|
757
|
+
*@ENG_START_DOX @brief Sets the target fan speed on a GPU. @ENG_END_DOX
|
|
758
|
+
*
|
|
759
|
+
*@syntax
|
|
760
|
+
*@codeStart
|
|
761
|
+
* @ref ADLX_RESULT SetTargetFanSpeed (adlx_int value)
|
|
762
|
+
*@codeEnd
|
|
763
|
+
*
|
|
764
|
+
*@params
|
|
765
|
+
*@paramrow{1.,[in],value,adlx_int,@ENG_START_DOX The new target fan speed (in RPM). @ENG_END_DOX}
|
|
766
|
+
*
|
|
767
|
+
*@retvalues
|
|
768
|
+
*@ENG_START_DOX If the target fan speed value is successfully set, __ADLX_OK__ is returned.<br>
|
|
769
|
+
* If the target fan speed value is not successfully set, an error code is returned.<br>
|
|
770
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
771
|
+
*
|
|
772
|
+
*@copydoc IADLXManualFanTuning_REQ_TABLE
|
|
773
|
+
*
|
|
774
|
+
*/
|
|
775
|
+
virtual ADLX_RESULT ADLX_STD_CALL SetTargetFanSpeed (adlx_int value) = 0;
|
|
776
|
+
};
|
|
777
|
+
//----------------------------------------------------------------------------------------------
|
|
778
|
+
typedef IADLXInterfacePtr_T<IADLXManualFanTuning> IADLXManualFanTuningPtr;
|
|
779
|
+
} //namespace adlx
|
|
780
|
+
#else //__cplusplus
|
|
781
|
+
ADLX_DECLARE_IID (IADLXManualFanTuning, L"IADLXManualFanTuning")
|
|
782
|
+
|
|
783
|
+
typedef struct IADLXManualFanTuning IADLXManualFanTuning;
|
|
784
|
+
|
|
785
|
+
typedef struct IADLXManualFanTuningVtbl
|
|
786
|
+
{
|
|
787
|
+
//IADLXInterface
|
|
788
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXManualFanTuning* pThis);
|
|
789
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXManualFanTuning* pThis);
|
|
790
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXManualFanTuning* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
791
|
+
|
|
792
|
+
//IADLXManualFanTuningState
|
|
793
|
+
ADLX_RESULT (ADLX_STD_CALL *GetFanTuningRanges)(IADLXManualFanTuning* pThis, ADLX_IntRange* speedRange, ADLX_IntRange* temperatureRange);
|
|
794
|
+
ADLX_RESULT (ADLX_STD_CALL *GetFanTuningStates)(IADLXManualFanTuning* pThis, IADLXManualFanTuningStateList** ppStates);
|
|
795
|
+
ADLX_RESULT (ADLX_STD_CALL *GetEmptyFanTuningStates)(IADLXManualFanTuning* pThis, IADLXManualFanTuningStateList** ppStates);
|
|
796
|
+
ADLX_RESULT (ADLX_STD_CALL *IsValidFanTuningStates)(IADLXManualFanTuning* pThis, IADLXManualFanTuningStateList* pStates, adlx_int* errorIndex);
|
|
797
|
+
ADLX_RESULT (ADLX_STD_CALL *SetFanTuningStates)(IADLXManualFanTuning* pThis, IADLXManualFanTuningStateList* pStates);
|
|
798
|
+
ADLX_RESULT (ADLX_STD_CALL *IsSupportedZeroRPM)(IADLXManualFanTuning* pThis, adlx_bool* supported);
|
|
799
|
+
ADLX_RESULT (ADLX_STD_CALL *GetZeroRPMState)(IADLXManualFanTuning* pThis, adlx_bool* isSet);
|
|
800
|
+
ADLX_RESULT (ADLX_STD_CALL *SetZeroRPMState)(IADLXManualFanTuning* pThis, adlx_bool set);
|
|
801
|
+
ADLX_RESULT (ADLX_STD_CALL *IsSupportedMinAcousticLimit)(IADLXManualFanTuning* pThis, adlx_bool* supported);
|
|
802
|
+
ADLX_RESULT (ADLX_STD_CALL *GetMinAcousticLimitRange)(IADLXManualFanTuning* pThis, ADLX_IntRange* tuningRange);
|
|
803
|
+
ADLX_RESULT (ADLX_STD_CALL *GetMinAcousticLimit)(IADLXManualFanTuning* pThis, adlx_int* value);
|
|
804
|
+
ADLX_RESULT (ADLX_STD_CALL *SetMinAcousticLimit)(IADLXManualFanTuning* pThis, adlx_int value);
|
|
805
|
+
ADLX_RESULT (ADLX_STD_CALL* IsSupportedMinFanSpeed)(IADLXManualFanTuning* pThis, adlx_bool* supported);
|
|
806
|
+
ADLX_RESULT (ADLX_STD_CALL* GetMinFanSpeedRange)(IADLXManualFanTuning* pThis, ADLX_IntRange* tuningRange);
|
|
807
|
+
ADLX_RESULT (ADLX_STD_CALL* GetMinFanSpeed)(IADLXManualFanTuning* pThis, adlx_int* value);
|
|
808
|
+
ADLX_RESULT (ADLX_STD_CALL* SetMinFanSpeed)(IADLXManualFanTuning* pThis, adlx_int value);
|
|
809
|
+
ADLX_RESULT (ADLX_STD_CALL* IsSupportedTargetFanSpeed)(IADLXManualFanTuning* pThis, adlx_bool* supported);
|
|
810
|
+
ADLX_RESULT (ADLX_STD_CALL* GetTargetFanSpeedRange)(IADLXManualFanTuning* pThis, ADLX_IntRange* tuningRange);
|
|
811
|
+
ADLX_RESULT (ADLX_STD_CALL* GetTargetFanSpeed)(IADLXManualFanTuning* pThis, adlx_int* value);
|
|
812
|
+
ADLX_RESULT (ADLX_STD_CALL* SetTargetFanSpeed)(IADLXManualFanTuning* pThis, adlx_int value);
|
|
813
|
+
}IADLXManualFanTuningVtbl;
|
|
814
|
+
|
|
815
|
+
struct IADLXManualFanTuning { const IADLXManualFanTuningVtbl *pVtbl; };
|
|
816
|
+
#endif //__cplusplus
|
|
817
|
+
#pragma endregion IADLXManualFanTuning
|
|
818
|
+
|
|
819
|
+
#pragma region IADLXManualFanTuning1
|
|
820
|
+
#if defined (__cplusplus)
|
|
821
|
+
namespace adlx
|
|
822
|
+
{
|
|
823
|
+
class ADLX_NO_VTABLE IADLXManualFanTuning1 : public IADLXManualFanTuning
|
|
824
|
+
{
|
|
825
|
+
public:
|
|
826
|
+
ADLX_DECLARE_IID(L"IADLXManualFanTuning1")
|
|
827
|
+
|
|
828
|
+
/**
|
|
829
|
+
*@page DOX_IADLXManualFanTuning1_GetDefaultFanTuningStates GetDefaultFanTuningStates
|
|
830
|
+
*@ENG_START_DOX @brief Gets the reference counted list of default GPU fan tuning states on a GPU. @ENG_END_DOX
|
|
831
|
+
*
|
|
832
|
+
*@syntax
|
|
833
|
+
*@codeStart
|
|
834
|
+
* @ref ADLX_RESULT GetDefaultFanTuningStates (@ref DOX_IADLXManualFanTuningStateList** ppStates)
|
|
835
|
+
*@codeEnd
|
|
836
|
+
*
|
|
837
|
+
*@params
|
|
838
|
+
*@paramrow{1.,[out],ppStates,@ref DOX_IADLXManualFanTuningStateList**,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppStates__ to __nullptr__. @ENG_END_DOX}
|
|
839
|
+
*
|
|
840
|
+
*@retvalues
|
|
841
|
+
*@ENG_START_DOX If the list of GPU fan tuning default states is successfully returned, __ADLX_OK__ is returned.<br>
|
|
842
|
+
* If the list of GPU fan tuning default states is not successfully returned, an error code is returned.<br>
|
|
843
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
844
|
+
*
|
|
845
|
+
*@detaileddesc
|
|
846
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
|
|
847
|
+
*
|
|
848
|
+
*@addinfo
|
|
849
|
+
*@ENG_START_DOX In C++, when using ADLX interfaces as smart pointers, there is no need to call @ref DOX_IADLXInterface_Release because smart pointers call it in their internal implementation. @ENG_END_DOX
|
|
850
|
+
*
|
|
851
|
+
*@copydoc IADLXManualFanTuning1_REQ_TABLE
|
|
852
|
+
*
|
|
853
|
+
*/
|
|
854
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetDefaultFanTuningStates(IADLXManualFanTuningStateList** ppStates) = 0;
|
|
855
|
+
|
|
856
|
+
/**
|
|
857
|
+
*@page DOX_IADLXManualFanTuning1_GetMinAcousticLimitDefault GetMinAcousticLimitDefault
|
|
858
|
+
*@ENG_START_DOX @brief Gets the default minimum acoustic limit on a GPU. @ENG_END_DOX
|
|
859
|
+
*
|
|
860
|
+
*@syntax
|
|
861
|
+
*@codeStart
|
|
862
|
+
* @ref ADLX_RESULT GetMinAcousticLimitDefault (adlx_int* defaultVal)
|
|
863
|
+
*@codeEnd
|
|
864
|
+
*
|
|
865
|
+
*@params
|
|
866
|
+
*@paramrow{1.,[out],defaultVal,adlx_int*,@ENG_START_DOX The pointer to a variable where the min acoustic limit default value (in MHz) is returned. @ENG_END_DOX}
|
|
867
|
+
*
|
|
868
|
+
*@retvalues
|
|
869
|
+
*@ENG_START_DOX If the min acoustic limit default value is successfully returned, __ADLX_OK__ is returned.<br>
|
|
870
|
+
* If the min acoustic limit default value is not successfully returned, an error code is returned.<br>
|
|
871
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
872
|
+
*
|
|
873
|
+
* @addinfo
|
|
874
|
+
* @ENG_START_DOX
|
|
875
|
+
* Some GPUs support Minimum Acoustic Limit adjustments (in MHz).
|
|
876
|
+
* @ENG_END_DOX
|
|
877
|
+
*
|
|
878
|
+
*@copydoc IADLXManualFanTuning1_REQ_TABLE
|
|
879
|
+
*
|
|
880
|
+
*/
|
|
881
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetMinAcousticLimitDefault(adlx_int* defaultVal) = 0;
|
|
882
|
+
|
|
883
|
+
/**
|
|
884
|
+
*@page DOX_IADLXManualFanTuning1_GetMinFanSpeedDefault GetMinFanSpeedDefault
|
|
885
|
+
*@ENG_START_DOX @brief Gets the default minimum fan speed on a GPU. @ENG_END_DOX
|
|
886
|
+
*
|
|
887
|
+
*@syntax
|
|
888
|
+
*@codeStart
|
|
889
|
+
* @ref ADLX_RESULT GetMinFanSpeedDefault (adlx_int* defaultVal)
|
|
890
|
+
*@codeEnd
|
|
891
|
+
*
|
|
892
|
+
*@params
|
|
893
|
+
*@paramrow{1.,[out],value,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum fan speed default value (in RPM) is returned. @ENG_END_DOX}
|
|
894
|
+
*
|
|
895
|
+
*@retvalues
|
|
896
|
+
*@ENG_START_DOX If the minimum fan speed default value is successfully returned, __ADLX_OK__ is returned.<br>
|
|
897
|
+
* If the minimum fan speed default value is not successfully returned, an error code is returned.<br>
|
|
898
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
899
|
+
*
|
|
900
|
+
* @addinfo
|
|
901
|
+
* @ENG_START_DOX
|
|
902
|
+
* Some GPUs support minimum fan speed adjustments (in MHz).
|
|
903
|
+
* @ENG_END_DOX
|
|
904
|
+
*
|
|
905
|
+
*@copydoc IADLXManualFanTuning1_REQ_TABLE
|
|
906
|
+
*
|
|
907
|
+
*/
|
|
908
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetMinFanSpeedDefault(adlx_int* defaultVal) = 0;
|
|
909
|
+
|
|
910
|
+
/**
|
|
911
|
+
*@page DOX_IADLXManualFanTuning1_GetTargetFanSpeedDefault GetTargetFanSpeedDefault
|
|
912
|
+
*@ENG_START_DOX @brief Gets the default target fan speed on a GPU. @ENG_END_DOX
|
|
913
|
+
*
|
|
914
|
+
*@syntax
|
|
915
|
+
*@codeStart
|
|
916
|
+
* @ref ADLX_RESULT GetTargetFanSpeedDefault (adlx_int* defaultVal)
|
|
917
|
+
*@codeEnd
|
|
918
|
+
*
|
|
919
|
+
*@params
|
|
920
|
+
*@paramrow{1.,[out],defaultVal,adlx_int*,@ENG_START_DOX The pointer to a variable where the target fan speed default value (in RPM) is returned. @ENG_END_DOX}
|
|
921
|
+
*
|
|
922
|
+
*@retvalues
|
|
923
|
+
*@ENG_START_DOX If the target fan speed default value is successfully returned, __ADLX_OK__ is returned.<br>
|
|
924
|
+
* If the target fan speed default value is not successfully returned, an error code is returned.<br>
|
|
925
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
926
|
+
*
|
|
927
|
+
*@copydoc IADLXManualFanTuning1_REQ_TABLE
|
|
928
|
+
*
|
|
929
|
+
*/
|
|
930
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetTargetFanSpeedDefault(adlx_int* defaultVal) = 0;
|
|
931
|
+
|
|
932
|
+
/**
|
|
933
|
+
*@page DOX_IADLXManualFanTuning1_GetDefaultZeroRPMState GetDefaultZeroRPMState
|
|
934
|
+
*@ENG_START_DOX @brief Gets the default zero RPM is state on a GPU. @ENG_END_DOX
|
|
935
|
+
*
|
|
936
|
+
*@syntax
|
|
937
|
+
*@codeStart
|
|
938
|
+
* @ref ADLX_RESULT GetDefaultZeroRPMState (adlx_bool* defaultVal)
|
|
939
|
+
*@codeEnd
|
|
940
|
+
*
|
|
941
|
+
*@params
|
|
942
|
+
*@paramrow{1.,[out],defaultVal,adlx_bool*,@ENG_START_DOX The pointer to a variable where the default state of zero RPM is returned. The variable is __true__ if default zero RPM is enabled. The variable is __false__ if default zero RPM is not enabled. @ENG_END_DOX}
|
|
943
|
+
*
|
|
944
|
+
*@retvalues
|
|
945
|
+
*@ENG_START_DOX If the default state of zero RPM is successfully returned, __ADLX_OK__ is returned.<br>
|
|
946
|
+
* If the default state of zero RPM is not successfully returned, an error code is returned.<br>
|
|
947
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
948
|
+
*
|
|
949
|
+
* @addinfo
|
|
950
|
+
* @ENG_START_DOX
|
|
951
|
+
* Zero RPM enables quiet operation when the GPU is under a light load and speeds up the fans when the GPU load and temperature increases.
|
|
952
|
+
* @ENG_END_DOX
|
|
953
|
+
*
|
|
954
|
+
*@copydoc IADLXManualFanTuning1_REQ_TABLE
|
|
955
|
+
*
|
|
956
|
+
*/
|
|
957
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetDefaultZeroRPMState(adlx_bool* defaultVal) = 0;
|
|
958
|
+
};
|
|
959
|
+
//----------------------------------------------------------------------------------------------
|
|
960
|
+
typedef IADLXInterfacePtr_T<IADLXManualFanTuning1> IADLXManualFanTuning1Ptr;
|
|
961
|
+
} //namespace adlx
|
|
962
|
+
#else //__cplusplus
|
|
963
|
+
ADLX_DECLARE_IID(IADLXManualFanTuning1, L"IADLXManualFanTuning1")
|
|
964
|
+
|
|
965
|
+
typedef struct IADLXManualFanTuning1 IADLXManualFanTuning1;
|
|
966
|
+
|
|
967
|
+
typedef struct IADLXManualFanTuning1Vtbl
|
|
968
|
+
{
|
|
969
|
+
//IADLXInterface
|
|
970
|
+
adlx_long(ADLX_STD_CALL* Acquire)(IADLXManualFanTuning1* pThis);
|
|
971
|
+
adlx_long(ADLX_STD_CALL* Release)(IADLXManualFanTuning1* pThis);
|
|
972
|
+
ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXManualFanTuning1* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
973
|
+
|
|
974
|
+
//IADLXManualFanTuningState
|
|
975
|
+
ADLX_RESULT(ADLX_STD_CALL* GetFanTuningRanges)(IADLXManualFanTuning1* pThis, ADLX_IntRange* speedRange, ADLX_IntRange* temperatureRange);
|
|
976
|
+
ADLX_RESULT(ADLX_STD_CALL* GetFanTuningStates)(IADLXManualFanTuning1* pThis, IADLXManualFanTuningStateList** ppStates);
|
|
977
|
+
ADLX_RESULT(ADLX_STD_CALL* GetEmptyFanTuningStates)(IADLXManualFanTuning1* pThis, IADLXManualFanTuningStateList** ppStates);
|
|
978
|
+
ADLX_RESULT(ADLX_STD_CALL* IsValidFanTuningStates)(IADLXManualFanTuning1* pThis, IADLXManualFanTuningStateList* pStates, adlx_int* errorIndex);
|
|
979
|
+
ADLX_RESULT(ADLX_STD_CALL* SetFanTuningStates)(IADLXManualFanTuning1* pThis, IADLXManualFanTuningStateList* pStates);
|
|
980
|
+
ADLX_RESULT(ADLX_STD_CALL* IsSupportedZeroRPM)(IADLXManualFanTuning1* pThis, adlx_bool* supported);
|
|
981
|
+
ADLX_RESULT(ADLX_STD_CALL* GetZeroRPMState)(IADLXManualFanTuning1* pThis, adlx_bool* isSet);
|
|
982
|
+
ADLX_RESULT(ADLX_STD_CALL* SetZeroRPMState)(IADLXManualFanTuning1* pThis, adlx_bool set);
|
|
983
|
+
ADLX_RESULT(ADLX_STD_CALL* IsSupportedMinAcousticLimit)(IADLXManualFanTuning1* pThis, adlx_bool* supported);
|
|
984
|
+
ADLX_RESULT(ADLX_STD_CALL* GetMinAcousticLimitRange)(IADLXManualFanTuning1* pThis, ADLX_IntRange* tuningRange);
|
|
985
|
+
ADLX_RESULT(ADLX_STD_CALL* GetMinAcousticLimit)(IADLXManualFanTuning1* pThis, adlx_int* value);
|
|
986
|
+
ADLX_RESULT(ADLX_STD_CALL* SetMinAcousticLimit)(IADLXManualFanTuning1* pThis, adlx_int value);
|
|
987
|
+
ADLX_RESULT(ADLX_STD_CALL* IsSupportedMinFanSpeed)(IADLXManualFanTuning1* pThis, adlx_bool* supported);
|
|
988
|
+
ADLX_RESULT(ADLX_STD_CALL* GetMinFanSpeedRange)(IADLXManualFanTuning1* pThis, ADLX_IntRange* tuningRange);
|
|
989
|
+
ADLX_RESULT(ADLX_STD_CALL* GetMinFanSpeed)(IADLXManualFanTuning1* pThis, adlx_int* value);
|
|
990
|
+
ADLX_RESULT(ADLX_STD_CALL* SetMinFanSpeed)(IADLXManualFanTuning1* pThis, adlx_int value);
|
|
991
|
+
ADLX_RESULT(ADLX_STD_CALL* IsSupportedTargetFanSpeed)(IADLXManualFanTuning1* pThis, adlx_bool* supported);
|
|
992
|
+
ADLX_RESULT(ADLX_STD_CALL* GetTargetFanSpeedRange)(IADLXManualFanTuning1* pThis, ADLX_IntRange* tuningRange);
|
|
993
|
+
ADLX_RESULT(ADLX_STD_CALL* GetTargetFanSpeed)(IADLXManualFanTuning1* pThis, adlx_int* value);
|
|
994
|
+
ADLX_RESULT(ADLX_STD_CALL* SetTargetFanSpeed)(IADLXManualFanTuning1* pThis, adlx_int value);
|
|
995
|
+
|
|
996
|
+
//IADLXManualFanTuningState1
|
|
997
|
+
ADLX_RESULT(ADLX_STD_CALL* GetDefaultFanTuningStates)(IADLXManualFanTuning1* pThis, IADLXManualFanTuningStateList** ppStates);
|
|
998
|
+
ADLX_RESULT(ADLX_STD_CALL* GetMinAcousticLimitDefault)(IADLXManualFanTuning1* pThis, adlx_int* defaultVal);
|
|
999
|
+
ADLX_RESULT(ADLX_STD_CALL* GetMinFanSpeedDefault)(IADLXManualFanTuning1* pThis, adlx_int* defaultVal);
|
|
1000
|
+
ADLX_RESULT(ADLX_STD_CALL* GetTargetFanSpeedDefault)(IADLXManualFanTuning1* pThis, adlx_int* defaultVal);
|
|
1001
|
+
ADLX_RESULT(ADLX_STD_CALL* GetDefaultZeroRPMState)(IADLXManualFanTuning1* pThis, adlx_bool* defaultVal);
|
|
1002
|
+
}IADLXManualFanTuning1Vtbl;
|
|
1003
|
+
|
|
1004
|
+
struct IADLXManualFanTuning1 { const IADLXManualFanTuning1Vtbl* pVtbl; };
|
|
1005
|
+
#endif //__cplusplus
|
|
1006
|
+
#pragma endregion IADLXManualFanTuning1
|
|
1007
|
+
#endif//ADLX_IGPUMANUALFANTUNING_H
|