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.
Files changed (71) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +336 -0
  3. package/binding.gyp +69 -0
  4. package/build/Release/gpu.exp +0 -0
  5. package/build/Release/gpu.lib +0 -0
  6. package/build/Release/gpu.node +0 -0
  7. package/build/Release/gpu.pdb +0 -0
  8. package/build/binding.sln +19 -0
  9. package/build/gpu.vcxproj +175 -0
  10. package/build/gpu.vcxproj.filters +169 -0
  11. package/example.js +69 -0
  12. package/index.js +33 -0
  13. package/package.json +68 -0
  14. package/src/binding.cpp +201 -0
  15. package/src/gpu_info.c +130 -0
  16. package/src/gpu_info.h +86 -0
  17. package/src/includes/adlx/ADLX.h +367 -0
  18. package/src/includes/adlx/ADLXDefines.h +1345 -0
  19. package/src/includes/adlx/ADLXHelper/ADLXHelper.c +175 -0
  20. package/src/includes/adlx/ADLXHelper/ADLXHelper.h +245 -0
  21. package/src/includes/adlx/ADLXHelper/WinAPIS.c +64 -0
  22. package/src/includes/adlx/ADLXStructures.h +206 -0
  23. package/src/includes/adlx/ADLXVersion.h +18 -0
  24. package/src/includes/adlx/I3DSettings.h +3476 -0
  25. package/src/includes/adlx/I3DSettings1.h +292 -0
  26. package/src/includes/adlx/I3DSettings2.h +317 -0
  27. package/src/includes/adlx/IApplications.h +397 -0
  28. package/src/includes/adlx/IChangedEvent.h +71 -0
  29. package/src/includes/adlx/ICollections.h +325 -0
  30. package/src/includes/adlx/IDesktops.h +918 -0
  31. package/src/includes/adlx/IDisplay3DLUT.h +663 -0
  32. package/src/includes/adlx/IDisplayGamma.h +683 -0
  33. package/src/includes/adlx/IDisplayGamut.h +760 -0
  34. package/src/includes/adlx/IDisplaySettings.h +3476 -0
  35. package/src/includes/adlx/IDisplays.h +2676 -0
  36. package/src/includes/adlx/IDisplays1.h +191 -0
  37. package/src/includes/adlx/IDisplays2.h +188 -0
  38. package/src/includes/adlx/IDisplays3.h +256 -0
  39. package/src/includes/adlx/IGPUAutoTuning.h +460 -0
  40. package/src/includes/adlx/IGPUManualFanTuning.h +1007 -0
  41. package/src/includes/adlx/IGPUManualGFXTuning.h +607 -0
  42. package/src/includes/adlx/IGPUManualPowerTuning.h +340 -0
  43. package/src/includes/adlx/IGPUManualVRAMTuning.h +576 -0
  44. package/src/includes/adlx/IGPUPresetTuning.h +469 -0
  45. package/src/includes/adlx/IGPUTuning.h +1239 -0
  46. package/src/includes/adlx/IGPUTuning1.h +197 -0
  47. package/src/includes/adlx/II2C.h +198 -0
  48. package/src/includes/adlx/ILog.h +72 -0
  49. package/src/includes/adlx/IMultiMedia.h +578 -0
  50. package/src/includes/adlx/IPerformanceMonitoring.h +2520 -0
  51. package/src/includes/adlx/IPerformanceMonitoring1.h +134 -0
  52. package/src/includes/adlx/IPerformanceMonitoring2.h +341 -0
  53. package/src/includes/adlx/IPerformanceMonitoring3.h +199 -0
  54. package/src/includes/adlx/IPowerTuning.h +473 -0
  55. package/src/includes/adlx/IPowerTuning1.h +515 -0
  56. package/src/includes/adlx/ISmartAccessMemory.h +114 -0
  57. package/src/includes/adlx/ISystem.h +1557 -0
  58. package/src/includes/adlx/ISystem1.h +237 -0
  59. package/src/includes/adlx/ISystem2.h +643 -0
  60. package/src/linux/amd_linux.c +269 -0
  61. package/src/linux/intel_linux.c +20 -0
  62. package/src/linux/nvidia_linux.c +257 -0
  63. package/src/macos/amd_mac.c +131 -0
  64. package/src/macos/intel_mac.c +131 -0
  65. package/src/macos/nvidia_mac.c +21 -0
  66. package/src/vendor/amd.c +37 -0
  67. package/src/vendor/intel.c +37 -0
  68. package/src/vendor/nvidia.c +37 -0
  69. package/src/windows/amd_windows.c +468 -0
  70. package/src/windows/intel_windows.c +157 -0
  71. package/src/windows/nvidia_windows.c +252 -0
@@ -0,0 +1,469 @@
1
+ //
2
+ // Copyright (c) 2021 - 2025 Advanced Micro Devices, Inc. All rights reserved.
3
+ //
4
+ //-------------------------------------------------------------------------------------------------
5
+
6
+ #ifndef ADLX_IGPUPRESETTUNING_H
7
+ #define ADLX_IGPUPRESETTUNING_H
8
+ #pragma once
9
+
10
+ #include "ADLXStructures.h"
11
+
12
+ //-------------------------------------------------------------------------------------------------
13
+ //IGPUPresetTuning.h - Interfaces for ADLX GPU Preset Tuning functionality
14
+
15
+ // Preset Tuning
16
+ #pragma region IADLXGPUPresetTuning
17
+ #if defined (__cplusplus)
18
+ namespace adlx
19
+ {
20
+ class ADLX_NO_VTABLE IADLXGPUPresetTuning : public IADLXInterface
21
+ {
22
+ public:
23
+ ADLX_DECLARE_IID (L"IADLXGPUPresetTuning")
24
+
25
+ /**
26
+ *@page DOX_IADLXGPUPresetTuning_IsSupportedPowerSaver IsSupportedPowerSaver
27
+ *@ENG_START_DOX @brief Checks if the power saver tuning preset is supported on a GPU. @ENG_END_DOX
28
+ *
29
+ *@syntax
30
+ *@codeStart
31
+ * @ref ADLX_RESULT IsSupportedPowerSaver (adlx_bool* supported)
32
+ *@codeEnd
33
+ *
34
+ *@params
35
+ *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of power saver is returned. The variable is __true__ if power saver is supported. The variable is __false__ if power saver is not supported. @ENG_END_DOX}
36
+ *
37
+ *@retvalues
38
+ *@ENG_START_DOX If the state of power saver is successfully returned, __ADLX_OK__ is returned.<br>
39
+ * If the state of power saver is not successfully returned, an error code is returned.<br>
40
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
41
+ * @addinfo
42
+ * @ENG_START_DOX
43
+ * Use of the power saver tuning preset is limited to some GPUs.
44
+ * @ENG_END_DOX
45
+ *
46
+ *@copydoc IADLXGPUPresetTuning_REQ_TABLE
47
+ *
48
+ */
49
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedPowerSaver (adlx_bool* supported) = 0;
50
+
51
+ /**
52
+ *@page DOX_IADLXGPUPresetTuning_IsSupportedQuiet IsSupportedQuiet
53
+ *@ENG_START_DOX @brief Checks if the quiet tuning preset is supported on a GPU. @ENG_END_DOX
54
+ *
55
+ *@syntax
56
+ *@codeStart
57
+ * @ref ADLX_RESULT IsSupportedQuiet (adlx_bool* supported)
58
+ *@codeEnd
59
+ *
60
+ *@params
61
+ *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of quiet is returned. The variable is __true__ if quiet is supported. The variable is __false__ if quiet is not supported. @ENG_END_DOX}
62
+ *
63
+ *@retvalues
64
+ *@ENG_START_DOX If the state of quiet is successfully returned, __ADLX_OK__ is returned.<br>
65
+ * If the state of quiet is not successfully returned, an error code is returned.<br>
66
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
67
+ *
68
+ * @addinfo
69
+ * @ENG_START_DOX
70
+ * The quiet tuning preset enables quiet operation with lowered power and fan settings.
71
+ * @ENG_END_DOX
72
+ *
73
+ *@copydoc IADLXGPUPresetTuning_REQ_TABLE
74
+ *
75
+ */
76
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedQuiet (adlx_bool* supported) = 0;
77
+
78
+ /**
79
+ *@page DOX_IADLXGPUPresetTuning_IsSupportedBalanced IsSupportedBalanced
80
+ *@ENG_START_DOX @brief Checks if the balanced tuning preset is supported on a GPU. @ENG_END_DOX
81
+ *
82
+ *@syntax
83
+ *@codeStart
84
+ * @ref ADLX_RESULT IsSupportedBalanced (adlx_bool* supported)
85
+ *@codeEnd
86
+ *
87
+ *@params
88
+ *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the balanced of quiet is returned. The variable is __true__ if balanced is supported. The variable is __false__ if balanced is not supported. @ENG_END_DOX}
89
+ *
90
+ *@retvalues
91
+ *@ENG_START_DOX If the state of balanced is successfully returned, __ADLX_OK__ is returned.<br>
92
+ * If the state of balanced is not successfully returned, an error code is returned.<br>
93
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
94
+ *
95
+ * @addinfo
96
+ * @ENG_START_DOX
97
+ * The balanced tuning preset offers all-round performance with a balance of power, clocks, and fan settings. Use of the balanced tuning preset is limited to some GPUs.
98
+ * @ENG_END_DOX
99
+ *
100
+ *@copydoc IADLXGPUPresetTuning_REQ_TABLE
101
+ *
102
+ */
103
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedBalanced (adlx_bool* supported) = 0;
104
+
105
+ /**
106
+ *@page DOX_IADLXGPUPresetTuning_IsSupportedTurbo IsSupportedTurbo
107
+ *@ENG_START_DOX @brief Checks if the turbo tuning preset is supported on a GPU. @ENG_END_DOX
108
+ *
109
+ *@syntax
110
+ *@codeStart
111
+ * @ref ADLX_RESULT IsSupportedTurbo (adlx_bool* supported)
112
+ *@codeEnd
113
+ *
114
+ *@params
115
+ *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of turbo is returned. The variable is __true__ if turbo is supported. The variable is __false__ if turbo is not supported. @ENG_END_DOX}
116
+ *
117
+ *@retvalues
118
+ *@ENG_START_DOX If the state of turbo is successfully returned, __ADLX_OK__ is returned.<br>
119
+ * If the state of turbo is not successfully returned, an error code is returned.<br>
120
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
121
+ *
122
+ * @addinfo
123
+ * @ENG_START_DOX
124
+ * The turbo tuning preset sets a higher power limit to allow more headroom for performance. Use of the turbo tuning preset is limited to some GPUs.
125
+ * @ENG_END_DOX
126
+ *
127
+ *@copydoc IADLXGPUPresetTuning_REQ_TABLE
128
+ *
129
+ */
130
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedTurbo (adlx_bool* supported) = 0;
131
+
132
+ /**
133
+ *@page DOX_IADLXGPUPresetTuning_IsSupportedRage IsSupportedRage
134
+ *@ENG_START_DOX @brief Checks if the rage tuning preset is supported on a GPU. @ENG_END_DOX
135
+ *
136
+ *@syntax
137
+ *@codeStart
138
+ * @ref ADLX_RESULT IsSupportedRage (adlx_bool* supported)
139
+ *@codeEnd
140
+ *
141
+ *@params
142
+ *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of rage is returned. The variable is __true__ if rage is supported. The variable is __false__ if rage is not supported. @ENG_END_DOX}
143
+ *
144
+ *@retvalues
145
+ *@ENG_START_DOX If the state of rage is successfully returned, __ADLX_OK__ is returned.<br>
146
+ * If the state of rage is not successfully returned, an error code is returned.<br>
147
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
148
+ *
149
+ * @addinfo
150
+ * @ENG_START_DOX
151
+ * The rage tuning preset sets a higher power limit to allow more headroom for performance.
152
+ * @ENG_END_DOX
153
+ *
154
+ *@copydoc IADLXGPUPresetTuning_REQ_TABLE
155
+ *
156
+ */
157
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedRage (adlx_bool* supported) = 0;
158
+
159
+ /**
160
+ *@page DOX_IADLXGPUPresetTuning_IsCurrentPowerSaver IsCurrentPowerSaver
161
+ *@ENG_START_DOX @brief Checks if the power saver tuning preset is used on a GPU. @ENG_END_DOX
162
+ *
163
+ *@syntax
164
+ *@codeStart
165
+ * @ref ADLX_RESULT IsCurrentPowerSaver (adlx_bool* isPowerSaver)
166
+ *@codeEnd
167
+ *
168
+ *@params
169
+ *@paramrow{1.,[out],isPowerSaver,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of power saver is returned. The variable is __true__ if power saver is applied. The variable is __false__ if power saver is not applied. @ENG_END_DOX}
170
+ *
171
+ *@retvalues
172
+ *@ENG_START_DOX If the state of power saver is successfully returned, __ADLX_OK__ is returned.<br>
173
+ * If the state of power saver is not successfully returned, an error code is returned.<br>
174
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
175
+ *
176
+ * @addinfo
177
+ * @ENG_START_DOX
178
+ * Use of the power saver tuning preset is limited to some GPUs.
179
+ * @ENG_END_DOX
180
+ *
181
+ *@copydoc IADLXGPUPresetTuning_REQ_TABLE
182
+ *
183
+ */
184
+ virtual ADLX_RESULT ADLX_STD_CALL IsCurrentPowerSaver (adlx_bool* isPowerSaver) = 0;
185
+
186
+ /**
187
+ *@page DOX_IADLXGPUPresetTuning_IsCurrentQuiet IsCurrentQuiet
188
+ *@ENG_START_DOX @brief Checks if the quiet tuning preset is used on a GPU. @ENG_END_DOX
189
+ *
190
+ *@syntax
191
+ *@codeStart
192
+ * @ref ADLX_RESULT IsCurrentQuiet (adlx_bool* isQuiet)
193
+ *@codeEnd
194
+ *
195
+ *@params
196
+ *@paramrow{1.,[out],isQuiet,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of quiet is returned. The variable is __true__ if quiet is applied. The variable is __false__ if quiet is not applied. @ENG_END_DOX}
197
+ *
198
+ *@retvalues
199
+ *@ENG_START_DOX If the state of quiet is successfully returned, __ADLX_OK__ is returned.<br>
200
+ * If the state of quiet is not successfully returned, an error code is returned.<br>
201
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
202
+ *
203
+ * @addinfo
204
+ * @ENG_START_DOX
205
+ * The quiet tuning preset enables quiet operation with lowered power and fan settings.
206
+ * @ENG_END_DOX
207
+ *
208
+ *@copydoc IADLXGPUPresetTuning_REQ_TABLE
209
+ *
210
+ */
211
+ virtual ADLX_RESULT ADLX_STD_CALL IsCurrentQuiet (adlx_bool* isQuiet) = 0;
212
+
213
+ /**
214
+ *@page DOX_IADLXGPUPresetTuning_IsCurrentBalanced IsCurrentBalanced
215
+ *@ENG_START_DOX @brief Checks if the balanced tuning preset is used on a GPU. @ENG_END_DOX
216
+ *
217
+ *@syntax
218
+ *@codeStart
219
+ * @ref ADLX_RESULT IsCurrentBalanced (adlx_bool* isBalanced)
220
+ *@codeEnd
221
+ *
222
+ *@params
223
+ *@paramrow{1.,[out],isBalanced,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of balanced is returned. The variable is __true__ if balanced is applied. The variable is __false__ if balanced is not applied. @ENG_END_DOX}
224
+ *
225
+ *@retvalues
226
+ *@ENG_START_DOX If the state of balanced is successfully returned, __ADLX_OK__ is returned.<br>
227
+ * If the state of balanced is not successfully returned, an error code is returned.<br>
228
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
229
+ *
230
+ * @addinfo
231
+ * @ENG_START_DOX
232
+ * The balanced tuning preset offers all-round performance with a balance of power, clocks, and fan settings. Use of the balanced tuning preset is limited to some GPUs.
233
+ * @ENG_END_DOX
234
+ *
235
+ *@copydoc IADLXGPUPresetTuning_REQ_TABLE
236
+ *
237
+ */
238
+ virtual ADLX_RESULT ADLX_STD_CALL IsCurrentBalanced (adlx_bool* isBalance) = 0;
239
+
240
+ /**
241
+ *@page DOX_IADLXGPUPresetTuning_IsCurrentTurbo IsCurrentTurbo
242
+ *@ENG_START_DOX @brief Checks if the turbo tuning preset is used on a GPU. @ENG_END_DOX
243
+ *
244
+ *@syntax
245
+ *@codeStart
246
+ * @ref ADLX_RESULT IsCurrentTurbo (adlx_bool* isTurbo)
247
+ *@codeEnd
248
+ *
249
+ *@params
250
+ *@paramrow{1.,[out],isTurbo,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of turbo is returned. The variable is __true__ if turbo is applied. The variable is __false__ if turbo is not applied. @ENG_END_DOX}
251
+ *
252
+ *@retvalues
253
+ *@ENG_START_DOX If the state of turbo is successfully returned, __ADLX_OK__ is returned.<br>
254
+ * If the state of turbo is not successfully returned, an error code is returned.<br>
255
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
256
+ *
257
+ * @addinfo
258
+ * @ENG_START_DOX
259
+ * The turbo tuning preset sets a higher power limit to allow more headroom for performance. Use of the turbo preset is limited to some GPUs.
260
+ * @ENG_END_DOX
261
+ *
262
+ *@copydoc IADLXGPUPresetTuning_REQ_TABLE
263
+ *
264
+ */
265
+ virtual ADLX_RESULT ADLX_STD_CALL IsCurrentTurbo (adlx_bool* isTurbo) = 0;
266
+
267
+ /**
268
+ *@page DOX_IADLXGPUPresetTuning_IsCurrentRage IsCurrentRage
269
+ *@ENG_START_DOX @brief Checks if the rage tuning preset is used on a GPU. @ENG_END_DOX
270
+ *
271
+ *@syntax
272
+ *@codeStart
273
+ * @ref ADLX_RESULT IsCurrentRage (adlx_bool* isRage)
274
+ *@codeEnd
275
+ *
276
+ *@params
277
+ *@paramrow{1.,[out],isRage,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of rage is returned. The variable is __true__ if rage is applied. The variable is __false__ if rage is not applied. @ENG_END_DOX}
278
+ *
279
+ *@retvalues
280
+ *@ENG_START_DOX If the state of rage is successfully returned, __ADLX_OK__ is returned.<br>
281
+ * If the state of rage is not successfully returned, an error code is returned.<br>
282
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
283
+ *
284
+ * @addinfo
285
+ * @ENG_START_DOX
286
+ * The rage tuning preset sets a higher power limit to allow more headroom for performance.
287
+ * @ENG_END_DOX
288
+ *
289
+ *@copydoc IADLXGPUPresetTuning_REQ_TABLE
290
+ *
291
+ */
292
+ virtual ADLX_RESULT ADLX_STD_CALL IsCurrentRage (adlx_bool* isRage) = 0;
293
+
294
+ /**
295
+ *@page DOX_IADLXGPUPresetTuning_SetPowerSaver SetPowerSaver
296
+ *@ENG_START_DOX @brief Sets the power saver tuning preset on a GPU. @ENG_END_DOX
297
+ *
298
+ *@syntax
299
+ *@codeStart
300
+ * @ref ADLX_RESULT SetPowerSaver ()
301
+ *@codeEnd
302
+ *
303
+ *@params
304
+ * N/A
305
+ *
306
+ *@retvalues
307
+ *@ENG_START_DOX If the power saver is successfully applied, __ADLX_OK__ is returned.<br>
308
+ * If the power saver is not successfully applied, an error code is returned.<br>
309
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
310
+ *
311
+ * @addinfo
312
+ * @ENG_START_DOX
313
+ * Use of the power saver tuning preset is limited to some GPUs.
314
+ * @ENG_END_DOX
315
+ *
316
+ *@copydoc IADLXGPUPresetTuning_REQ_TABLE
317
+ *
318
+ */
319
+ virtual ADLX_RESULT ADLX_STD_CALL SetPowerSaver () = 0;
320
+
321
+ /**
322
+ *@page DOX_IADLXGPUPresetTuning_SetQuiet SetQuiet
323
+ *@ENG_START_DOX @brief Sets the quiet tuning preset on a GPU. @ENG_END_DOX
324
+ *
325
+ *@syntax
326
+ *@codeStart
327
+ * @ref ADLX_RESULT SetQuiet ()
328
+ *@codeEnd
329
+ *
330
+ *@params
331
+ * N/A
332
+ *
333
+ *@retvalues
334
+ *@ENG_START_DOX If the quiet is successfully applied, __ADLX_OK__ is returned.<br>
335
+ * If the quiet is not successfully applied, an error code is returned.<br>
336
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
337
+ *
338
+ * @addinfo
339
+ * @ENG_START_DOX
340
+ * The quiet tuning preset enables quiet operation with lowered power and fan settings.
341
+ * @ENG_END_DOX
342
+ *
343
+ *@copydoc IADLXGPUPresetTuning_REQ_TABLE
344
+ *
345
+ */
346
+ virtual ADLX_RESULT ADLX_STD_CALL SetQuiet () = 0;
347
+
348
+ /**
349
+ *@page DOX_IADLXGPUPresetTuning_SetBalanced SetBalanced
350
+ *@ENG_START_DOX @brief Sets the balanced tuning preset on a GPU. @ENG_END_DOX
351
+ *
352
+ *@syntax
353
+ *@codeStart
354
+ * @ref ADLX_RESULT SetBalanced ()
355
+ *@codeEnd
356
+ *
357
+ *@params
358
+ * N/A
359
+ *
360
+ *@retvalues
361
+ *@ENG_START_DOX If the balanced is successfully applied, __ADLX_OK__ is returned.<br>
362
+ * If the balanced is not successfully applied, an error code is returned.<br>
363
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
364
+ *
365
+ * @addinfo
366
+ * @ENG_START_DOX
367
+ * The balanced tuning preset offers all-round performance with a balance of power, clocks, and fan settings. Use of the balanced tuning preset is limited to some GPUs.
368
+ * @ENG_END_DOX
369
+ *
370
+ *@copydoc IADLXGPUPresetTuning_REQ_TABLE
371
+ *
372
+ */
373
+ virtual ADLX_RESULT ADLX_STD_CALL SetBalanced () = 0;
374
+
375
+ /**
376
+ *@page DOX_IADLXGPUPresetTuning_SetTurbo SetTurbo
377
+ *@ENG_START_DOX @brief Sets the turbo tuning preset on a GPU. @ENG_END_DOX
378
+ *
379
+ *@syntax
380
+ *@codeStart
381
+ * @ref ADLX_RESULT SetTurbo ()
382
+ *@codeEnd
383
+ *
384
+ *@params
385
+ * N/A
386
+ *
387
+ *@retvalues
388
+ *@ENG_START_DOX If the turbo is successfully applied, __ADLX_OK__ is returned.<br>
389
+ * If the turbo is not successfully applied, an error code is returned.<br>
390
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
391
+ *
392
+ * @addinfo
393
+ * @ENG_START_DOX
394
+ * The turbo tuning preset sets a higher power limit to allow more headroom for performance. Use of the turbo tuning preset is limited to some GPUs.
395
+ * @ENG_END_DOX
396
+ *
397
+ *@copydoc IADLXGPUPresetTuning_REQ_TABLE
398
+ *
399
+ */
400
+ virtual ADLX_RESULT ADLX_STD_CALL SetTurbo () = 0;
401
+
402
+ /**
403
+ *@page DOX_IADLXGPUPresetTuning_SetRage SetRage
404
+ *@ENG_START_DOX @brief Sets the rage tuning preset on a GPU. @ENG_END_DOX
405
+ *
406
+ *@syntax
407
+ *@codeStart
408
+ * @ref ADLX_RESULT SetRage ()
409
+ *@codeEnd
410
+ *
411
+ *@params
412
+ * N/A
413
+ *
414
+ *@retvalues
415
+ *@ENG_START_DOX If the rage is successfully applied, __ADLX_OK__ is returned.<br>
416
+ * If the rage is not successfully applied, an error code is returned.<br>
417
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
418
+ *
419
+ * @addinfo
420
+ * @ENG_START_DOX
421
+ * The rage tuning preset sets a higher power limit to allow more headroom for performance.
422
+ * @ENG_END_DOX
423
+ *
424
+ *@copydoc IADLXGPUPresetTuning_REQ_TABLE
425
+ *
426
+ */
427
+ virtual ADLX_RESULT ADLX_STD_CALL SetRage () = 0;
428
+ };
429
+ //----------------------------------------------------------------------------------------------
430
+ typedef IADLXInterfacePtr_T<IADLXGPUPresetTuning> IADLXGPUPresetTuningPtr;
431
+ } //namespace adlx
432
+ #else //__cplusplus
433
+ ADLX_DECLARE_IID (IADLXGPUPresetTuning, L"IADLXGPUPresetTuning")
434
+
435
+ typedef struct IADLXGPUPresetTuning IADLXGPUPresetTuning;
436
+
437
+ typedef struct IADLXGPUPresetTuningVtbl
438
+ {
439
+ //IADLXInterface
440
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLXGPUPresetTuning* pThis);
441
+ adlx_long (ADLX_STD_CALL *Release)(IADLXGPUPresetTuning* pThis);
442
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXGPUPresetTuning* pThis, const wchar_t* interfaceId, void** ppInterface);
443
+
444
+ //IADLXGPUPresetTuning
445
+ ADLX_RESULT (ADLX_STD_CALL *IsSupportedPowerSaver)(IADLXGPUPresetTuning* pThis, adlx_bool* supported);
446
+ ADLX_RESULT (ADLX_STD_CALL *IsSupportedQuiet)(IADLXGPUPresetTuning* pThis, adlx_bool* supported);
447
+ ADLX_RESULT (ADLX_STD_CALL *IsSupportedBalanced)(IADLXGPUPresetTuning* pThis, adlx_bool* supported);
448
+ ADLX_RESULT (ADLX_STD_CALL *IsSupportedTurbo)(IADLXGPUPresetTuning* pThis, adlx_bool* supported);
449
+ ADLX_RESULT (ADLX_STD_CALL *IsSupportedRage)(IADLXGPUPresetTuning* pThis, adlx_bool* supported);
450
+
451
+ ADLX_RESULT (ADLX_STD_CALL *IsCurrentPowerSaver)(IADLXGPUPresetTuning* pThis, adlx_bool* isPowerSaver);
452
+ ADLX_RESULT (ADLX_STD_CALL *IsCurrentQuiet)(IADLXGPUPresetTuning* pThis, adlx_bool* isQuiet);
453
+ ADLX_RESULT (ADLX_STD_CALL *IsCurrentBalanced)(IADLXGPUPresetTuning* pThis, adlx_bool* isBalance);
454
+ ADLX_RESULT (ADLX_STD_CALL *IsCurrentTurbo)(IADLXGPUPresetTuning* pThis, adlx_bool* isTurbo);
455
+ ADLX_RESULT (ADLX_STD_CALL *IsCurrentRage)(IADLXGPUPresetTuning* pThis, adlx_bool* isRage);
456
+
457
+ ADLX_RESULT (ADLX_STD_CALL *SetPowerSaver)(IADLXGPUPresetTuning* pThis);
458
+ ADLX_RESULT (ADLX_STD_CALL *SetQuiet)(IADLXGPUPresetTuning* pThis);
459
+ ADLX_RESULT (ADLX_STD_CALL *SetBalanced)(IADLXGPUPresetTuning* pThis);
460
+ ADLX_RESULT (ADLX_STD_CALL *SetTurbo)(IADLXGPUPresetTuning* pThis);
461
+ ADLX_RESULT (ADLX_STD_CALL *SetRage)(IADLXGPUPresetTuning* pThis);
462
+
463
+ }IADLXGPUPresetTuningVtbl;
464
+
465
+ struct IADLXGPUPresetTuning { const IADLXGPUPresetTuningVtbl *pVtbl; };
466
+ #endif //__cplusplus
467
+ #pragma endregion IADLXGPUPresetTuning
468
+
469
+ #endif//ADLX_IGPUPRESETTUNING_H