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,460 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright (c) 2021 - 2025 Advanced Micro Devices, Inc. All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
//-------------------------------------------------------------------------------------------------
|
|
5
|
+
|
|
6
|
+
#ifndef ADLX_IGPUAUTOTUNING_H
|
|
7
|
+
#define ADLX_IGPUAUTOTUNING_H
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "ADLXStructures.h"
|
|
11
|
+
|
|
12
|
+
//-------------------------------------------------------------------------------------------------
|
|
13
|
+
//IGPUAutoTuning.h - Interfaces for ADLX GPU Auto Tuning functionality
|
|
14
|
+
|
|
15
|
+
//Interface with information on GPU Tuning changes on a GPU. ADLX passes this to application that registered for GPU Tuning changed event in the IADLXAutomaticTuningChangedListener::OnAutomaticTuningChanged()
|
|
16
|
+
#pragma region IADLXGPUAutoTuningCompleteEvent
|
|
17
|
+
|
|
18
|
+
#if defined (__cplusplus)
|
|
19
|
+
namespace adlx
|
|
20
|
+
{
|
|
21
|
+
class ADLX_NO_VTABLE IADLXGPUAutoTuningCompleteEvent : public IADLXInterface
|
|
22
|
+
{
|
|
23
|
+
public:
|
|
24
|
+
ADLX_DECLARE_IID (L"IADLXGPUAutoTuningCompleteEvent")
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
*@page DOX_IADLXGPUAutoTuningCompleteEvent_IsUndervoltGPUCompleted IsUndervoltGPUCompleted
|
|
28
|
+
*@ENG_START_DOX @brief Checks if the GPU undervolting is completed. @ENG_END_DOX
|
|
29
|
+
*
|
|
30
|
+
*@syntax
|
|
31
|
+
*@codeStart
|
|
32
|
+
* adlx_bool IsUndervoltGPUCompleted ()
|
|
33
|
+
*@codeEnd
|
|
34
|
+
*
|
|
35
|
+
*@params
|
|
36
|
+
*N/A
|
|
37
|
+
*
|
|
38
|
+
*@retvalues
|
|
39
|
+
*@ENG_START_DOX If the GPU undervolting is completed, __true__ is returned.<br>
|
|
40
|
+
* If the GPU undervolting is not completed, __false__ is returned.<br> @ENG_END_DOX
|
|
41
|
+
*
|
|
42
|
+
*@copydoc IADLXGPUAutoTuningCompleteEvent_REQ_TABLE
|
|
43
|
+
*
|
|
44
|
+
*/
|
|
45
|
+
virtual adlx_bool ADLX_STD_CALL IsUndervoltGPUCompleted () = 0;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
*@page DOX_IADLXGPUAutoTuningCompleteEvent_IsOverclockGPUCompleted IsOverclockGPUCompleted
|
|
49
|
+
*@ENG_START_DOX @brief Checks if the GPU overclocking is completed. @ENG_END_DOX
|
|
50
|
+
*
|
|
51
|
+
*@syntax
|
|
52
|
+
*@codeStart
|
|
53
|
+
* adlx_bool IsOverclockGPUCompleted ()
|
|
54
|
+
*@codeEnd
|
|
55
|
+
*
|
|
56
|
+
*@params
|
|
57
|
+
*N/A
|
|
58
|
+
*
|
|
59
|
+
*@retvalues
|
|
60
|
+
*@ENG_START_DOX If the GPU overclocking is completed, __true__ is returned.<br>
|
|
61
|
+
* If the GPU overclocking is not completed, __false__ is returned.<br> @ENG_END_DOX
|
|
62
|
+
*
|
|
63
|
+
*@copydoc IADLXGPUAutoTuningCompleteEvent_REQ_TABLE
|
|
64
|
+
*
|
|
65
|
+
*/
|
|
66
|
+
virtual adlx_bool ADLX_STD_CALL IsOverclockGPUCompleted () = 0;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
*@page DOX_IADLXGPUAutoTuningCompleteEvent_IsOverclockVRAMCompleted IsOverclockVRAMCompleted
|
|
70
|
+
*@ENG_START_DOX @brief Checks if the VRAM overclocking is completed. @ENG_END_DOX
|
|
71
|
+
*
|
|
72
|
+
*@syntax
|
|
73
|
+
*@codeStart
|
|
74
|
+
* adlx_bool IsOverclockVRAMCompleted ()
|
|
75
|
+
*@codeEnd
|
|
76
|
+
*
|
|
77
|
+
*@params
|
|
78
|
+
*N/A
|
|
79
|
+
*
|
|
80
|
+
*@retvalues
|
|
81
|
+
*@ENG_START_DOX If the VRAM undervolting is completed, __true__ is returned.<br>
|
|
82
|
+
* If the VRAM undervolting is not completed, __false__ is returned.<br> @ENG_END_DOX
|
|
83
|
+
*
|
|
84
|
+
*@copydoc IADLXGPUAutoTuningCompleteEvent_REQ_TABLE
|
|
85
|
+
*
|
|
86
|
+
*/
|
|
87
|
+
virtual adlx_bool ADLX_STD_CALL IsOverclockVRAMCompleted () = 0;
|
|
88
|
+
}; //IADLXGPUAutoTuningCompleteEvent
|
|
89
|
+
//----------------------------------------------------------------------------------------------
|
|
90
|
+
typedef IADLXInterfacePtr_T<IADLXGPUAutoTuningCompleteEvent> IADLXGPUAutoTuningCompleteEventPtr;
|
|
91
|
+
} //namespace adlx
|
|
92
|
+
#else //__cplusplus
|
|
93
|
+
ADLX_DECLARE_IID (IADLXGPUAutoTuningCompleteEvent, L"IADLXGPUAutoTuningCompleteEvent")
|
|
94
|
+
typedef struct IADLXGPUAutoTuningCompleteEvent IADLXGPUAutoTuningCompleteEvent;
|
|
95
|
+
|
|
96
|
+
typedef struct IADLXGPUAutoTuningCompleteEventVtbl
|
|
97
|
+
{
|
|
98
|
+
//IADLXInterface
|
|
99
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXGPUAutoTuningCompleteEvent* pThis);
|
|
100
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXGPUAutoTuningCompleteEvent* pThis);
|
|
101
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXGPUAutoTuningCompleteEvent* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
102
|
+
|
|
103
|
+
// IADLXGPUAutoTuningCompleteEvent interface
|
|
104
|
+
adlx_bool (ADLX_STD_CALL *IsUndervoltGPUCompleted)(IADLXGPUAutoTuningCompleteEvent* pThis);
|
|
105
|
+
adlx_bool (ADLX_STD_CALL *IsOverclockGPUCompleted)(IADLXGPUAutoTuningCompleteEvent* pThis);
|
|
106
|
+
adlx_bool (ADLX_STD_CALL *IsOverclockVRAMCompleted)(IADLXGPUAutoTuningCompleteEvent* pThis);
|
|
107
|
+
} IADLXGPUAutoTuningCompleteEventVtbl;
|
|
108
|
+
|
|
109
|
+
struct IADLXGPUAutoTuningCompleteEvent { const IADLXGPUAutoTuningCompleteEventVtbl *pVtbl; };
|
|
110
|
+
#endif //__cplusplus
|
|
111
|
+
#pragma endregion IADLXGPUAutoTuningCompleteEvent
|
|
112
|
+
|
|
113
|
+
//GPU Auto Tuning complete listener interface. To be implemented in application and passed in IADLXGPUTuningChangedHandling::IADLXGPUTuningChangedListener()
|
|
114
|
+
#pragma region IADLXGPUAutoTuningCompleteListener
|
|
115
|
+
#if defined (__cplusplus)
|
|
116
|
+
namespace adlx
|
|
117
|
+
{
|
|
118
|
+
class ADLX_NO_VTABLE IADLXGPUAutoTuningCompleteListener
|
|
119
|
+
{
|
|
120
|
+
public:
|
|
121
|
+
/**
|
|
122
|
+
*@page DOX_IADLXGPUAutoTuningCompleteListener_OnGPUAutoTuningComplete OnGPUAutoTuningComplete
|
|
123
|
+
*@ENG_START_DOX @brief The __OnGPUAutoTuningComplete__ is called by ADLX when GPU tuning completes. @ENG_END_DOX
|
|
124
|
+
*
|
|
125
|
+
*@syntax
|
|
126
|
+
*@codeStart
|
|
127
|
+
* adlx_bool OnGPUAutoTuningComplete (@ref DOX_IADLXGPUAutoTuningCompleteEvent* pGPUAutoTuningCompleteEvent)
|
|
128
|
+
*@codeEnd
|
|
129
|
+
*
|
|
130
|
+
*@params
|
|
131
|
+
*@paramrow{1.,[in] ,pGPUAutoTuningCompleteEvent,@ref DOX_IADLXGPUAutoTuningCompleteEvent* ,@ENG_START_DOX The pointer to a GPU tuning complete event. @ENG_END_DOX}
|
|
132
|
+
*
|
|
133
|
+
*
|
|
134
|
+
*@retvalues
|
|
135
|
+
*@ENG_START_DOX If the application requires ADLX to continue notifying the next listener, __true__ must be returned.<br>
|
|
136
|
+
* If the application requires ADLX to stop notifying the next listener, __false__ must be returned.<br> @ENG_END_DOX
|
|
137
|
+
*
|
|
138
|
+
*@detaileddesc
|
|
139
|
+
*@ENG_START_DOX Once the application registers to the notifications with @ref DOX_IADLXGPUAutoTuning_StartUndervoltGPU, @ref DOX_IADLXGPUAutoTuning_StartOverclockGPU, and @ref DOX_IADLXGPUAutoTuning_StartOverclockVRAM, ADLX will call this method when GPU tuning completes.
|
|
140
|
+
* The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the GPU tuning complete event with @ref DOX_IADLXInterface_Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the GPU tuning complete event with @ref DOX_IADLXInterface_Release. @ENG_END_DOX
|
|
141
|
+
*
|
|
142
|
+
*
|
|
143
|
+
*@copydoc IADLXGPUAutoTuningCompleteListener_REQ_TABLE
|
|
144
|
+
*
|
|
145
|
+
*/
|
|
146
|
+
virtual adlx_bool ADLX_STD_CALL OnGPUAutoTuningComplete (IADLXGPUAutoTuningCompleteEvent* pGPUAutoTuningCompleteEvent) = 0;
|
|
147
|
+
}; //IADLXGPUAutoTuningCompleteListener
|
|
148
|
+
} //namespace adlx
|
|
149
|
+
#else //__cplusplus
|
|
150
|
+
typedef struct IADLXGPUAutoTuningCompleteListener IADLXGPUAutoTuningCompleteListener;
|
|
151
|
+
|
|
152
|
+
typedef struct IADLXGPUAutoTuningCompleteListenerVtbl
|
|
153
|
+
{
|
|
154
|
+
// IADLXGPUAutoTuningCompleteListener interface
|
|
155
|
+
adlx_bool (ADLX_STD_CALL *OnGPUAutoTuningComplete)(IADLXGPUAutoTuningCompleteListener* pThis, IADLXGPUAutoTuningCompleteEvent* pGPUAutoTuningCompleteEvent);
|
|
156
|
+
} IADLXGPUAutoTuningCompleteListenerVtbl;
|
|
157
|
+
|
|
158
|
+
struct IADLXGPUAutoTuningCompleteListener { const IADLXGPUAutoTuningCompleteListenerVtbl *pVtbl; };
|
|
159
|
+
#endif //__cplusplus
|
|
160
|
+
#pragma endregion IADLXGPUAutoTuningCompleteListener
|
|
161
|
+
|
|
162
|
+
// Automatic Tuning
|
|
163
|
+
#pragma region IADLXGPUAutoTuning
|
|
164
|
+
#if defined (__cplusplus)
|
|
165
|
+
namespace adlx
|
|
166
|
+
{
|
|
167
|
+
class ADLX_NO_VTABLE IADLXGPUAutoTuning : public IADLXInterface
|
|
168
|
+
{
|
|
169
|
+
public:
|
|
170
|
+
ADLX_DECLARE_IID (L"IADLXGPUAutoTuning")
|
|
171
|
+
/**
|
|
172
|
+
*@page DOX_IADLXGPUAutoTuning_IsSupportedUndervoltGPU IsSupportedUndervoltGPU
|
|
173
|
+
*@ENG_START_DOX @brief Checks if the GPU undervolting tuning profile is supported on a GPU. @ENG_END_DOX
|
|
174
|
+
*
|
|
175
|
+
*@syntax
|
|
176
|
+
*@codeStart
|
|
177
|
+
* @ref ADLX_RESULT IsSupportedUndervoltGPU (adlx_bool* supported)
|
|
178
|
+
*@codeEnd
|
|
179
|
+
*
|
|
180
|
+
*@params
|
|
181
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU undervolting is returned. The variable is __true__ if GPU undervolting is supported. The variable is __false__ if GPU undervolting is not supported. @ENG_END_DOX}
|
|
182
|
+
*
|
|
183
|
+
*@retvalues
|
|
184
|
+
*@ENG_START_DOX If the state of GPU undervolting is successfully returned, __ADLX_OK__ is returned.<br>
|
|
185
|
+
* If the state of GPU undervolting is not successfully returned, an error code is returned.<br>
|
|
186
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
187
|
+
*
|
|
188
|
+
* @addinfo
|
|
189
|
+
* @ENG_START_DOX
|
|
190
|
+
* GPU undervolting reduces voltage and maintains clock speed to improve performance per watt.
|
|
191
|
+
* @ENG_END_DOX
|
|
192
|
+
*
|
|
193
|
+
*@copydoc IADLXGPUAutoTuning_REQ_TABLE
|
|
194
|
+
*
|
|
195
|
+
*/
|
|
196
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedUndervoltGPU (adlx_bool* supported) = 0;
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
*@page DOX_IADLXGPUAutoTuning_IsSupportedOverclockGPU IsSupportedOverclockGPU
|
|
200
|
+
*@ENG_START_DOX @brief Checks if the GPU overclocking tuning profile is supported on a GPU. @ENG_END_DOX
|
|
201
|
+
*
|
|
202
|
+
*@syntax
|
|
203
|
+
*@codeStart
|
|
204
|
+
* @ref ADLX_RESULT IsSupportedOverclockGPU (adlx_bool* supported)
|
|
205
|
+
*@codeEnd
|
|
206
|
+
*
|
|
207
|
+
*@params
|
|
208
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU overclocking is returned. The variable is __true__ if GPU overclocking is supported. The variable is __false__ if GPU overclocking is not supported. @ENG_END_DOX}
|
|
209
|
+
*
|
|
210
|
+
*@retvalues
|
|
211
|
+
*@ENG_START_DOX If the state of GPU overclocking is successfully returned, __ADLX_OK__ is returned.<br>
|
|
212
|
+
* If the state of GPU overclocking is not successfully returned, an error code is returned.<br>
|
|
213
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
214
|
+
*
|
|
215
|
+
* @addinfo
|
|
216
|
+
* @ENG_START_DOX
|
|
217
|
+
* Automatic GPU overclocking uses an overclocking algorithm to improve GPU performance.
|
|
218
|
+
* @ENG_END_DOX
|
|
219
|
+
*
|
|
220
|
+
*@copydoc IADLXGPUAutoTuning_REQ_TABLE
|
|
221
|
+
*
|
|
222
|
+
*/
|
|
223
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedOverclockGPU (adlx_bool* supported) = 0;
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
*@page DOX_IADLXGPUAutoTuning_IsSupportedOverclockVRAM IsSupportedOverclockVRAM
|
|
227
|
+
*@ENG_START_DOX @brief Checks if the VRAM overclocking tuning profile is supported on a GPU. @ENG_END_DOX
|
|
228
|
+
*
|
|
229
|
+
*@syntax
|
|
230
|
+
*@codeStart
|
|
231
|
+
* @ref ADLX_RESULT IsSupportedOverclockVRAM (adlx_bool* supported)
|
|
232
|
+
*@codeEnd
|
|
233
|
+
*
|
|
234
|
+
*@params
|
|
235
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of VRAM overclocking is returned. The variable is __true__ if VRAM overclocking is supported. The variable is __false__ if VRAM overclocking is not supported. @ENG_END_DOX}
|
|
236
|
+
*
|
|
237
|
+
*@retvalues
|
|
238
|
+
*@ENG_START_DOX If the state of VRAM overclocking is successfully returned, __ADLX_OK__ is returned.<br>
|
|
239
|
+
* If the state of VRAM overclocking is not successfully returned, an error code is returned.<br>
|
|
240
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
241
|
+
*
|
|
242
|
+
* @addinfo
|
|
243
|
+
* @ENG_START_DOX
|
|
244
|
+
* Automatic VRAM overclocking uses an overclocking algorithm to improve video memory performance.
|
|
245
|
+
* @ENG_END_DOX
|
|
246
|
+
*
|
|
247
|
+
*@copydoc IADLXGPUAutoTuning_REQ_TABLE
|
|
248
|
+
*
|
|
249
|
+
*/
|
|
250
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedOverclockVRAM (adlx_bool* supported) = 0;
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
*@page DOX_IADLXGPUAutoTuning_IsCurrentUndervoltGPU IsCurrentUndervoltGPU
|
|
254
|
+
*@ENG_START_DOX @brief Checks if the GPU undervolting tuning profile is currently enabled on a GPU. @ENG_END_DOX
|
|
255
|
+
*
|
|
256
|
+
*@syntax
|
|
257
|
+
*@codeStart
|
|
258
|
+
* @ref ADLX_RESULT IsCurrentUndervoltGPU (adlx_bool* isUndervoltGPU)
|
|
259
|
+
*@codeEnd
|
|
260
|
+
*
|
|
261
|
+
*@params
|
|
262
|
+
*@paramrow{1.,[out],isUndervoltGPU,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU undervolting is returned. The variable is __true__ if GPU undervolting is applied. The variable is __false__ if GPU undervolting is not applied. @ENG_END_DOX}
|
|
263
|
+
*
|
|
264
|
+
*@retvalues
|
|
265
|
+
*@ENG_START_DOX If the state of GPU undervolting is successfully returned, __ADLX_OK__ is returned.<br>
|
|
266
|
+
* If the state of GPU undervolting is not successfully returned, an error code is returned.<br>
|
|
267
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
268
|
+
*
|
|
269
|
+
* @addinfo
|
|
270
|
+
* @ENG_START_DOX
|
|
271
|
+
* GPU undervolting reduces voltage and maintains clock speed to improve performance per watt.
|
|
272
|
+
* @ENG_END_DOX
|
|
273
|
+
*
|
|
274
|
+
*@copydoc IADLXGPUAutoTuning_REQ_TABLE
|
|
275
|
+
*
|
|
276
|
+
*/
|
|
277
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsCurrentUndervoltGPU (adlx_bool* isUndervoltGPU) = 0;
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
*@page DOX_IADLXGPUAutoTuning_IsCurrentOverclockGPU IsCurrentOverclockGPU
|
|
281
|
+
*@ENG_START_DOX @brief Checks if the GPU overclocking tuning profile is currently enabled on a GPU. @ENG_END_DOX
|
|
282
|
+
*
|
|
283
|
+
*@syntax
|
|
284
|
+
*@codeStart
|
|
285
|
+
* @ref ADLX_RESULT IsCurrentOverclockGPU (adlx_bool* isOverclockGPU)
|
|
286
|
+
*@codeEnd
|
|
287
|
+
*
|
|
288
|
+
*@params
|
|
289
|
+
*@paramrow{1.,[out],isOverclockGPU,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU overclocking is returned. The variable is __true__ if GPU overclocking is applied. The variable is __false__ if GPU overclocking is not applied. @ENG_END_DOX}
|
|
290
|
+
*
|
|
291
|
+
*@retvalues
|
|
292
|
+
*@ENG_START_DOX If the state of GPU overclocking is successfully returned, __ADLX_OK__ is returned.<br>
|
|
293
|
+
* If the state of GPU overclocking is not successfully returned, an error code is returned.<br>
|
|
294
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
295
|
+
*
|
|
296
|
+
* @addinfo
|
|
297
|
+
* @ENG_START_DOX
|
|
298
|
+
* Automatic GPU overclocking uses an overclocking algorithm to improve GPU performance.
|
|
299
|
+
* @ENG_END_DOX
|
|
300
|
+
*
|
|
301
|
+
*@copydoc IADLXGPUAutoTuning_REQ_TABLE
|
|
302
|
+
*
|
|
303
|
+
*/
|
|
304
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsCurrentOverclockGPU (adlx_bool* isOverclockGPU) = 0;
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
*@page DOX_IADLXGPUAutoTuning_IsCurrentOverclockVRAM IsCurrentOverclockVRAM
|
|
308
|
+
*@ENG_START_DOX @brief Checks if the VRAM overclocking tuning profile is currently enabled on a GPU. @ENG_END_DOX
|
|
309
|
+
*
|
|
310
|
+
*@syntax
|
|
311
|
+
*@codeStart
|
|
312
|
+
* @ref ADLX_RESULT IsCurrentOverclockVRAM (adlx_bool* isOverclockVRAM)
|
|
313
|
+
*@codeEnd
|
|
314
|
+
*
|
|
315
|
+
*@params
|
|
316
|
+
*@paramrow{1.,[out],isOverclockVRAM,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of VRAM overclocking is returned. The variable is __true__ if VRAM overclocking is applied. The variable is __false__ if VRAM overclocking is not applied. @ENG_END_DOX}
|
|
317
|
+
*
|
|
318
|
+
*@retvalues
|
|
319
|
+
*@ENG_START_DOX If the state of VRAM overclocking is successfully returned, __ADLX_OK__ is returned.<br>
|
|
320
|
+
* If the state of VRAM overclocking is not successfully returned, an error code is returned.<br>
|
|
321
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
322
|
+
*
|
|
323
|
+
* @addinfo
|
|
324
|
+
* @ENG_START_DOX
|
|
325
|
+
* Automatic VRAM overclocking uses an overclocking algorithm to improve video memory performance.
|
|
326
|
+
* @ENG_END_DOX
|
|
327
|
+
*
|
|
328
|
+
*@copydoc IADLXGPUAutoTuning_REQ_TABLE
|
|
329
|
+
*
|
|
330
|
+
*/
|
|
331
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsCurrentOverclockVRAM (adlx_bool* isOverclockVRAM) = 0;
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
*@page DOX_IADLXGPUAutoTuning_StartUndervoltGPU StartUndervoltGPU
|
|
335
|
+
*@ENG_START_DOX @brief Starts GPU undervolting on a GPU. @ENG_END_DOX
|
|
336
|
+
*
|
|
337
|
+
*@syntax
|
|
338
|
+
*@codeStart
|
|
339
|
+
* @ref ADLX_RESULT StartUndervoltGPU (@ref DOX_IADLXGPUAutoTuningCompleteListener* pCompleteListener)
|
|
340
|
+
*@codeEnd
|
|
341
|
+
*
|
|
342
|
+
*@params
|
|
343
|
+
*@paramrow{1.,[in],pCompleteListener,@ref DOX_IADLXGPUAutoTuningCompleteListener*,@ENG_START_DOX The pointer to a GPU tuning complete listener interface. @ENG_END_DOX}
|
|
344
|
+
*
|
|
345
|
+
*@retvalues
|
|
346
|
+
*@ENG_START_DOX If the GPU undervolting is successfully started, __ADLX_OK__ is returned.<br>
|
|
347
|
+
* If the GPU undervolting is not successfully started, an error code is returned.<br>
|
|
348
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
349
|
+
*
|
|
350
|
+
*@detaileddesc
|
|
351
|
+
*@ENG_START_DOX @details
|
|
352
|
+
*The __StartUndervoltGPU__ method triggers an asynchronous execution for the autotuning and returns immediately. When the autotuning is completed, ADLX calls @ref DOX_IADLXGPUAutoTuningCompleteListener_OnGPUAutoTuningComplete in the GPU tuning complete listener. After the event is raised, @ref DOX_IADLXGPUAutoTuning_IsCurrentUndervoltGPU returns __true__. @ENG_END_DOX
|
|
353
|
+
*
|
|
354
|
+
* @addinfo
|
|
355
|
+
* @ENG_START_DOX
|
|
356
|
+
* GPU undervolting reduces voltage and maintains clock speed to improve performance per watt.
|
|
357
|
+
* @ENG_END_DOX
|
|
358
|
+
*
|
|
359
|
+
*@copydoc IADLXGPUAutoTuning_REQ_TABLE
|
|
360
|
+
*
|
|
361
|
+
*/
|
|
362
|
+
virtual ADLX_RESULT ADLX_STD_CALL StartUndervoltGPU (IADLXGPUAutoTuningCompleteListener* pCompleteListener) = 0;
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
*@page DOX_IADLXGPUAutoTuning_StartOverclockGPU StartOverclockGPU
|
|
366
|
+
*@ENG_START_DOX @brief Starts GPU overclocking on a GPU. @ENG_END_DOX
|
|
367
|
+
*
|
|
368
|
+
*@syntax
|
|
369
|
+
*@codeStart
|
|
370
|
+
* @ref ADLX_RESULT StartOverclockGPU (@ref DOX_IADLXGPUAutoTuningCompleteListener* pCompleteListener)
|
|
371
|
+
*@codeEnd
|
|
372
|
+
*
|
|
373
|
+
*@params
|
|
374
|
+
*@paramrow{1.,[in],pCompleteListener,@ref DOX_IADLXGPUAutoTuningCompleteListener*,@ENG_START_DOX The pointer to a GPU tuning complete listener interface. @ENG_END_DOX}
|
|
375
|
+
*
|
|
376
|
+
*@retvalues
|
|
377
|
+
*@ENG_START_DOX If the GPU overclocking is successfully started, __ADLX_OK__ is returned.<br>
|
|
378
|
+
* If the GPU overclocking is not successfully started, an error code is returned.<br>
|
|
379
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
380
|
+
*
|
|
381
|
+
*@detaileddesc
|
|
382
|
+
*@ENG_START_DOX @details
|
|
383
|
+
* The __StartOverclockGPU__ method triggers an asynchronous execution for the autotuning and returns immediately. When the autotuning is completed, ADLX calls @ref DOX_IADLXGPUAutoTuningCompleteListener_OnGPUAutoTuningComplete in the GPU tuning complete listener. After the event is raised, @ref DOX_IADLXGPUAutoTuning_IsCurrentOverclockGPU returns __true__. @ENG_END_DOX
|
|
384
|
+
*
|
|
385
|
+
* @addinfo
|
|
386
|
+
* @ENG_START_DOX
|
|
387
|
+
* Automatic GPU overclocking uses an overclocking algorithm to improve GPU performance.
|
|
388
|
+
* @ENG_END_DOX
|
|
389
|
+
*
|
|
390
|
+
*@copydoc IADLXGPUAutoTuning_REQ_TABLE
|
|
391
|
+
*
|
|
392
|
+
*/
|
|
393
|
+
virtual ADLX_RESULT ADLX_STD_CALL StartOverclockGPU (IADLXGPUAutoTuningCompleteListener* pCompleteListener) = 0;
|
|
394
|
+
|
|
395
|
+
/**
|
|
396
|
+
*@page DOX_IADLXGPUAutoTuning_StartOverclockVRAM StartOverclockVRAM
|
|
397
|
+
*@ENG_START_DOX @brief Start VRAM overclocking on a GPU. @ENG_END_DOX
|
|
398
|
+
*
|
|
399
|
+
*@syntax
|
|
400
|
+
*@codeStart
|
|
401
|
+
* @ref ADLX_RESULT StartOverclockVRAM (@ref DOX_IADLXGPUAutoTuningCompleteListener* pCompleteListener)
|
|
402
|
+
*@codeEnd
|
|
403
|
+
*
|
|
404
|
+
*@params
|
|
405
|
+
*@paramrow{1.,[in],pCompleteListener,@ref DOX_IADLXGPUAutoTuningCompleteListener*,@ENG_START_DOX The pointer to a GPU tuning complete listener interface. @ENG_END_DOX}
|
|
406
|
+
*
|
|
407
|
+
*@retvalues
|
|
408
|
+
*@ENG_START_DOX If the VRAM overclocking is successfully started, __ADLX_OK__ is returned.<br>
|
|
409
|
+
* If the VRAM overclocking is not successfully started, an error code is returned.<br>
|
|
410
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
411
|
+
*
|
|
412
|
+
*@detaileddesc
|
|
413
|
+
*@ENG_START_DOX @details
|
|
414
|
+
* The __StartOverclockVRAM__ method triggers an asynchronous execution for the autotuning and returns immediately. When the autotuning is completed, ADLX calls @ref DOX_IADLXGPUAutoTuningCompleteListener_OnGPUAutoTuningComplete in the GPU tuning complete listener. After the event is raised, @ref DOX_IADLXGPUAutoTuning_IsCurrentOverclockVRAM returns __true__. @ENG_END_DOX
|
|
415
|
+
*
|
|
416
|
+
* @addinfo
|
|
417
|
+
* @ENG_START_DOX
|
|
418
|
+
* Automatic VRAM overclocking uses an overclocking algorithm to improve video memory performance.
|
|
419
|
+
* @ENG_END_DOX
|
|
420
|
+
*
|
|
421
|
+
*@copydoc IADLXGPUAutoTuning_REQ_TABLE
|
|
422
|
+
*
|
|
423
|
+
*/
|
|
424
|
+
virtual ADLX_RESULT ADLX_STD_CALL StartOverclockVRAM (IADLXGPUAutoTuningCompleteListener* pCompleteListener) = 0;
|
|
425
|
+
};
|
|
426
|
+
//----------------------------------------------------------------------------------------------
|
|
427
|
+
typedef IADLXInterfacePtr_T<IADLXGPUAutoTuning> IADLXGPUAutoTuningPtr;
|
|
428
|
+
} //namespace adlx
|
|
429
|
+
#else //__cplusplus
|
|
430
|
+
ADLX_DECLARE_IID (IADLXGPUAutoTuning, L"IADLXGPUAutoTuning")
|
|
431
|
+
|
|
432
|
+
typedef struct IADLXGPUAutoTuning IADLXGPUAutoTuning;
|
|
433
|
+
|
|
434
|
+
typedef struct IADLXGPUAutoTuningVtbl
|
|
435
|
+
{
|
|
436
|
+
//IADLXInterface
|
|
437
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXGPUAutoTuning* pThis);
|
|
438
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXGPUAutoTuning* pThis);
|
|
439
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXGPUAutoTuning* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
440
|
+
|
|
441
|
+
//IADLXGPUAutoTuning
|
|
442
|
+
ADLX_RESULT (ADLX_STD_CALL *IsSupportedUndervoltGPU)(IADLXGPUAutoTuning* pThis, adlx_bool* supported);
|
|
443
|
+
ADLX_RESULT (ADLX_STD_CALL *IsSupportedOverclockGPU)(IADLXGPUAutoTuning* pThis, adlx_bool* supported);
|
|
444
|
+
ADLX_RESULT (ADLX_STD_CALL *IsSupportedOverclockVRAM)(IADLXGPUAutoTuning* pThis, adlx_bool* supported);
|
|
445
|
+
|
|
446
|
+
ADLX_RESULT (ADLX_STD_CALL *IsCurrentUndervoltGPU)(IADLXGPUAutoTuning* pThis, adlx_bool* isUndervoltGPU);
|
|
447
|
+
ADLX_RESULT (ADLX_STD_CALL *IsCurrentOverclockGPU)(IADLXGPUAutoTuning* pThis, adlx_bool* isOverclockGPU);
|
|
448
|
+
ADLX_RESULT (ADLX_STD_CALL *IsCurrentOverclockVRAM)(IADLXGPUAutoTuning* pThis, adlx_bool* isOverclockVRAM);
|
|
449
|
+
|
|
450
|
+
ADLX_RESULT (ADLX_STD_CALL *StartUndervoltGPU)(IADLXGPUAutoTuning* pThis, IADLXGPUAutoTuningCompleteListener* pCompleteListener);
|
|
451
|
+
ADLX_RESULT (ADLX_STD_CALL *StartOverclockGPU)(IADLXGPUAutoTuning* pThis, IADLXGPUAutoTuningCompleteListener* pCompleteListener);
|
|
452
|
+
ADLX_RESULT (ADLX_STD_CALL *StartOverclockVRAM)(IADLXGPUAutoTuning* pThis, IADLXGPUAutoTuningCompleteListener* pCompleteListener);
|
|
453
|
+
|
|
454
|
+
}IADLXGPUAutoTuningVtbl;
|
|
455
|
+
|
|
456
|
+
struct IADLXGPUAutoTuning { const IADLXGPUAutoTuningVtbl *pVtbl; };
|
|
457
|
+
#endif //__cplusplus
|
|
458
|
+
#pragma endregion IADLXGPUAutoTuning
|
|
459
|
+
|
|
460
|
+
#endif//ADLX_IGPUAUTOTUNING_H
|