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,1239 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright (c) 2021 - 2025 Advanced Micro Devices, Inc. All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
//-------------------------------------------------------------------------------------------------
|
|
5
|
+
|
|
6
|
+
#ifndef ADLX_IGPUTUNING_H
|
|
7
|
+
#define ADLX_IGPUTUNING_H
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "ADLXStructures.h"
|
|
11
|
+
#include "ICollections.h"
|
|
12
|
+
#include "IChangedEvent.h"
|
|
13
|
+
|
|
14
|
+
//-------------------------------------------------------------------------------------------------
|
|
15
|
+
//IGPUTuning.h - Interfaces for ADLX GPU Tuning functionality
|
|
16
|
+
|
|
17
|
+
//Manual Tuning interface
|
|
18
|
+
#pragma region IADLXManualTuningState
|
|
19
|
+
#if defined (__cplusplus)
|
|
20
|
+
namespace adlx
|
|
21
|
+
{
|
|
22
|
+
class ADLX_NO_VTABLE IADLXManualTuningState : public IADLXInterface
|
|
23
|
+
{
|
|
24
|
+
public:
|
|
25
|
+
ADLX_DECLARE_IID (L"IADLXManualTuningState")
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @page DOX_IADLXManualTuningState_GetFrequency GetFrequency
|
|
29
|
+
* @ENG_START_DOX
|
|
30
|
+
* @brief Gets the frequency in the manual tuning state on a GPU.
|
|
31
|
+
* @ENG_END_DOX
|
|
32
|
+
*
|
|
33
|
+
* @syntax
|
|
34
|
+
* @codeStart
|
|
35
|
+
* @ref ADLX_RESULT GetFrequency (adlx_uint* value)
|
|
36
|
+
* @codeEnd
|
|
37
|
+
*
|
|
38
|
+
* @params
|
|
39
|
+
* @paramrow{1.,[out] ,value,adlx_uint* ,@ENG_START_DOX The pointer to a variable where the frequency (in MHz) in the manual tuning state is returned. @ENG_END_DOX}
|
|
40
|
+
*
|
|
41
|
+
* @retvalues
|
|
42
|
+
* @ENG_START_DOX
|
|
43
|
+
* If the frequency is successfully returned, __ADLX_OK__ is returned.<br>
|
|
44
|
+
* If the frequency is not successfully returned, an error code is returned.<br>
|
|
45
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
46
|
+
* @ENG_END_DOX
|
|
47
|
+
*
|
|
48
|
+
* @copydoc IADLXManualTuningState_REQ_TABLE
|
|
49
|
+
*
|
|
50
|
+
*/
|
|
51
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetFrequency (adlx_int* value) = 0;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
*@page DOX_IADLXManualTuningState_SetFrequency SetFrequency
|
|
55
|
+
*@ENG_START_DOX @brief Sets the frequency in the manual tuning state on a GPU. @ENG_END_DOX
|
|
56
|
+
*
|
|
57
|
+
*@syntax
|
|
58
|
+
*@codeStart
|
|
59
|
+
* @ref ADLX_RESULT SetFrequency (adlx_int value)
|
|
60
|
+
*@codeEnd
|
|
61
|
+
*
|
|
62
|
+
* @params
|
|
63
|
+
* @paramrow{1.,[in] ,value,adlx_int ,@ENG_START_DOX The new frequency (in MHz) in the manual tuning state. @ENG_END_DOX}
|
|
64
|
+
*
|
|
65
|
+
*@retvalues
|
|
66
|
+
*@ENG_START_DOX If the frequency is successfully set, __ADLX_OK__ is returned.<br>
|
|
67
|
+
* If the frequency is not successfully set, an error code is returned.<br>
|
|
68
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
69
|
+
*
|
|
70
|
+
*@copydoc IADLXManualTuningState_REQ_TABLE
|
|
71
|
+
*
|
|
72
|
+
*/
|
|
73
|
+
virtual ADLX_RESULT ADLX_STD_CALL SetFrequency (adlx_int value) = 0;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* @page DOX_IADLXManualTuningState_GetVoltage GetVoltage
|
|
77
|
+
* @ENG_START_DOX
|
|
78
|
+
* @brief Gets the voltage in the manual tuning state on a GPU.
|
|
79
|
+
* @ENG_END_DOX
|
|
80
|
+
*
|
|
81
|
+
* @syntax
|
|
82
|
+
* @codeStart
|
|
83
|
+
* @ref ADLX_RESULT GetVoltage (adlx_uint* value)
|
|
84
|
+
* @codeEnd
|
|
85
|
+
*
|
|
86
|
+
* @params
|
|
87
|
+
* @paramrow{1.,[out] ,value,adlx_uint* ,@ENG_START_DOX The pointer to a variable where the voltage (in mV) in the manual tuning state is returned. @ENG_END_DOX}
|
|
88
|
+
*
|
|
89
|
+
* @retvalues
|
|
90
|
+
* @ENG_START_DOX
|
|
91
|
+
* If the voltage is successfully returned, __ADLX_OK__ is returned.<br>
|
|
92
|
+
* If the voltage is not successfully returned, an error code is returned.<br>
|
|
93
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
94
|
+
* @ENG_END_DOX
|
|
95
|
+
*
|
|
96
|
+
* @copydoc IADLXManualTuningState_REQ_TABLE
|
|
97
|
+
*
|
|
98
|
+
*/
|
|
99
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetVoltage (adlx_int* value) = 0;
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
*@page DOX_IADLXManualTuningState_SetVoltage SetVoltage
|
|
103
|
+
*@ENG_START_DOX @brief Sets the voltage in the manual tuning state on a GPU. @ENG_END_DOX
|
|
104
|
+
*
|
|
105
|
+
*@syntax
|
|
106
|
+
*@codeStart
|
|
107
|
+
* @ref ADLX_RESULT SetVoltage (adlx_int value)
|
|
108
|
+
*@codeEnd
|
|
109
|
+
*
|
|
110
|
+
* @params
|
|
111
|
+
* @paramrow{1.,[in] ,value,adlx_int ,@ENG_START_DOX The new voltage (in mV) in the manual tuning state. @ENG_END_DOX}
|
|
112
|
+
*
|
|
113
|
+
*@retvalues
|
|
114
|
+
*@ENG_START_DOX If the voltage is successfully set, __ADLX_OK__ is returned.<br>
|
|
115
|
+
* If the voltage is not successfully set, an error code is returned.<br>
|
|
116
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
117
|
+
*
|
|
118
|
+
*@copydoc IADLXManualTuningState_REQ_TABLE
|
|
119
|
+
*
|
|
120
|
+
*/
|
|
121
|
+
virtual ADLX_RESULT ADLX_STD_CALL SetVoltage (adlx_int value) = 0;
|
|
122
|
+
};
|
|
123
|
+
//----------------------------------------------------------------------------------------------
|
|
124
|
+
typedef IADLXInterfacePtr_T<IADLXManualTuningState> IADLXManualTuningStatePtr;
|
|
125
|
+
} //namespace adlx
|
|
126
|
+
#else //__cplusplus
|
|
127
|
+
ADLX_DECLARE_IID (IADLXManualTuningState, L"IADLXManualTuningState")
|
|
128
|
+
|
|
129
|
+
typedef struct IADLXManualTuningState IADLXManualTuningState;
|
|
130
|
+
|
|
131
|
+
typedef struct IADLXManualTuningStateVtbl
|
|
132
|
+
{
|
|
133
|
+
//IADLXInterface
|
|
134
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXManualTuningState* pThis);
|
|
135
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXManualTuningState* pThis);
|
|
136
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXManualTuningState* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
137
|
+
|
|
138
|
+
//IADLXManualTuningState
|
|
139
|
+
ADLX_RESULT (ADLX_STD_CALL *GetFrequency)(IADLXManualTuningState* pThis, adlx_int* value);
|
|
140
|
+
ADLX_RESULT (ADLX_STD_CALL *SetFrequency)(IADLXManualTuningState* pThis, adlx_int value);
|
|
141
|
+
ADLX_RESULT (ADLX_STD_CALL *GetVoltage)(IADLXManualTuningState* pThis, adlx_int* value);
|
|
142
|
+
ADLX_RESULT (ADLX_STD_CALL *SetVoltage)(IADLXManualTuningState* pThis, adlx_int value);
|
|
143
|
+
}IADLXManualTuningStateVtbl;
|
|
144
|
+
|
|
145
|
+
struct IADLXManualTuningState { const IADLXManualTuningStateVtbl *pVtbl; };
|
|
146
|
+
#endif //__cplusplus
|
|
147
|
+
#pragma endregion IADLXManualTuningState
|
|
148
|
+
|
|
149
|
+
#pragma region IADLXMemoryTimingDescription
|
|
150
|
+
#if defined (__cplusplus)
|
|
151
|
+
namespace adlx
|
|
152
|
+
{
|
|
153
|
+
class ADLX_NO_VTABLE IADLXMemoryTimingDescription : public IADLXInterface
|
|
154
|
+
{
|
|
155
|
+
public:
|
|
156
|
+
ADLX_DECLARE_IID (L"IADLXMemoryTimingDescription")
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* @page DOX_IADLXMemoryTimingDescription_GetDescription GetDescription
|
|
160
|
+
* @ENG_START_DOX
|
|
161
|
+
* @brief Gets the memory timing description.
|
|
162
|
+
* @ENG_END_DOX
|
|
163
|
+
*
|
|
164
|
+
* @syntax
|
|
165
|
+
* @codeStart
|
|
166
|
+
* @ref ADLX_RESULT GetDescription (@ref ADLX_MEMORYTIMING_DESCRIPTION* description)
|
|
167
|
+
* @codeEnd
|
|
168
|
+
*
|
|
169
|
+
* @params
|
|
170
|
+
* @paramrow{1.,[out] ,description,@ref ADLX_MEMORYTIMING_DESCRIPTION* ,@ENG_START_DOX The pointer to a variable where the memory timing description is returned. @ENG_END_DOX}
|
|
171
|
+
*
|
|
172
|
+
* @retvalues
|
|
173
|
+
* @ENG_START_DOX
|
|
174
|
+
* If the memory timing description is successfully returned, __ADLX_OK__ is returned.<br>
|
|
175
|
+
* If the memory timing description is not successfully returned, an error code is returned.<br>
|
|
176
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
177
|
+
* @ENG_END_DOX
|
|
178
|
+
*
|
|
179
|
+
* @copydoc IADLXMemoryTimingDescription_REQ_TABLE
|
|
180
|
+
*
|
|
181
|
+
*/
|
|
182
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetDescription (ADLX_MEMORYTIMING_DESCRIPTION* description) = 0;
|
|
183
|
+
};
|
|
184
|
+
typedef IADLXInterfacePtr_T<IADLXMemoryTimingDescription> IADLXMemoryTimingDescriptionPtr;
|
|
185
|
+
} //namespace adlx
|
|
186
|
+
#else //__cplusplus
|
|
187
|
+
ADLX_DECLARE_IID (IADLXMemoryTimingDescription, L"IADLXMemoryTimingDescription")
|
|
188
|
+
|
|
189
|
+
typedef struct IADLXMemoryTimingDescription IADLXMemoryTimingDescription;
|
|
190
|
+
|
|
191
|
+
typedef struct IADLXMemoryTimingDescriptionVtbl
|
|
192
|
+
{
|
|
193
|
+
//IADLXInterface
|
|
194
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXMemoryTimingDescription* pThis);
|
|
195
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXMemoryTimingDescription* pThis);
|
|
196
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXMemoryTimingDescription* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
197
|
+
|
|
198
|
+
//IADLXMemoryTimingDescription
|
|
199
|
+
ADLX_RESULT (ADLX_STD_CALL *GetDescription)(IADLXMemoryTimingDescription* pThis, ADLX_MEMORYTIMING_DESCRIPTION* description);
|
|
200
|
+
}IADLXMemoryTimingDescriptionVtbl;
|
|
201
|
+
|
|
202
|
+
struct IADLXMemoryTimingDescription { const IADLXMemoryTimingDescriptionVtbl *pVtbl; };
|
|
203
|
+
#endif //__cplusplus
|
|
204
|
+
#pragma endregion IADLXMemoryTimingDescription
|
|
205
|
+
|
|
206
|
+
//IADLXManualTuningState list interface
|
|
207
|
+
#pragma region IADLXManualTuningStateList
|
|
208
|
+
#if defined (__cplusplus)
|
|
209
|
+
namespace adlx
|
|
210
|
+
{
|
|
211
|
+
class ADLX_NO_VTABLE IADLXManualTuningStateList : public IADLXList
|
|
212
|
+
{
|
|
213
|
+
public:
|
|
214
|
+
ADLX_DECLARE_IID (L"IADLXManualTuningStateList")
|
|
215
|
+
//Lists must declare the type of items it holds - what was passed as ADLX_DECLARE_IID() in that interface
|
|
216
|
+
ADLX_DECLARE_ITEM_IID (IADLXManualTuningState::IID ())
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* @page DOX_IADLXManualTuningStateList_At At
|
|
220
|
+
* @ENG_START_DOX
|
|
221
|
+
* @brief Returns the reference counted interface at the requested location.
|
|
222
|
+
* @ENG_END_DOX
|
|
223
|
+
*
|
|
224
|
+
* @syntax
|
|
225
|
+
* @codeStart
|
|
226
|
+
* @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXManualTuningState** ppItem)
|
|
227
|
+
* @codeEnd
|
|
228
|
+
*
|
|
229
|
+
* @params
|
|
230
|
+
* @paramrow{1.,[in] ,location,const adlx_uint ,@ENG_START_DOX The location of the requested interface. @ENG_END_DOX}
|
|
231
|
+
* @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXManualTuningState** ,@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}
|
|
232
|
+
*
|
|
233
|
+
* @retvalues
|
|
234
|
+
* @ENG_START_DOX
|
|
235
|
+
* If the location is within the list bounds, __ADLX_OK__ is returned.<br>
|
|
236
|
+
* If the location is not within the list bounds, an error code is returned.<br>
|
|
237
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
238
|
+
* @ENG_END_DOX
|
|
239
|
+
*
|
|
240
|
+
* @detaileddesc
|
|
241
|
+
* @ENG_START_DOX
|
|
242
|
+
* @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
|
|
243
|
+
* @ENG_END_DOX
|
|
244
|
+
*
|
|
245
|
+
* @addinfo
|
|
246
|
+
* @ENG_START_DOX
|
|
247
|
+
* 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.
|
|
248
|
+
* @ENG_END_DOX
|
|
249
|
+
*
|
|
250
|
+
* @copydoc IADLXManualTuningStateList_REQ_TABLE
|
|
251
|
+
*
|
|
252
|
+
*/
|
|
253
|
+
virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXManualTuningState** ppItem) = 0;
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
*@page DOX_IADLXManualTuningStateList_Add_Back Add_Back
|
|
257
|
+
*@ENG_START_DOX @brief Adds an interface to the end of a list. @ENG_END_DOX
|
|
258
|
+
*
|
|
259
|
+
*@syntax
|
|
260
|
+
*@codeStart
|
|
261
|
+
* @ref ADLX_RESULT Add_Back (@ref DOX_IADLXManualTuningState* pItem)
|
|
262
|
+
*@codeEnd
|
|
263
|
+
*
|
|
264
|
+
*@params
|
|
265
|
+
*@paramrow{1.,[in] ,pItem,@ref DOX_IADLXManualTuningState* ,@ENG_START_DOX The pointer to the interface to be added to the list. @ENG_END_DOX}
|
|
266
|
+
*
|
|
267
|
+
* @retvalues
|
|
268
|
+
* @ENG_START_DOX
|
|
269
|
+
* If the interface is added successfully to the end of the list, __ADLX_OK__ is returned.<br>
|
|
270
|
+
* If the interface is not added to the end of the list, an error code is returned.<br>
|
|
271
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
272
|
+
* @ENG_END_DOX
|
|
273
|
+
*
|
|
274
|
+
*@copydoc IADLXManualTuningStateList_REQ_TABLE
|
|
275
|
+
*
|
|
276
|
+
*/
|
|
277
|
+
virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXManualTuningState* pItem) = 0;
|
|
278
|
+
}; //IADLXManualTuningStateList
|
|
279
|
+
//----------------------------------------------------------------------------------------------
|
|
280
|
+
typedef IADLXInterfacePtr_T<IADLXManualTuningStateList> IADLXManualTuningStateListPtr;
|
|
281
|
+
} //namespace adlx
|
|
282
|
+
#else //__cplusplus
|
|
283
|
+
ADLX_DECLARE_IID (IADLXManualTuningStateList, L"IADLXManualTuningStateList")
|
|
284
|
+
ADLX_DECLARE_ITEM_IID (IADLXManualTuningState, IID_IADLXManualTuningState ())
|
|
285
|
+
|
|
286
|
+
typedef struct IADLXManualTuningStateList IADLXManualTuningStateList;
|
|
287
|
+
|
|
288
|
+
typedef struct IADLXManualTuningStateListVtbl
|
|
289
|
+
{
|
|
290
|
+
//IADLXInterface
|
|
291
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXManualTuningStateList* pThis);
|
|
292
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXManualTuningStateList* pThis);
|
|
293
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXManualTuningStateList* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
294
|
+
|
|
295
|
+
//IADLXList
|
|
296
|
+
adlx_uint (ADLX_STD_CALL *Size)(IADLXManualTuningStateList* pThis);
|
|
297
|
+
adlx_bool (ADLX_STD_CALL *Empty)(IADLXManualTuningStateList* pThis);
|
|
298
|
+
adlx_uint (ADLX_STD_CALL *Begin)(IADLXManualTuningStateList* pThis);
|
|
299
|
+
adlx_uint (ADLX_STD_CALL *End)(IADLXManualTuningStateList* pThis);
|
|
300
|
+
ADLX_RESULT (ADLX_STD_CALL *At)(IADLXManualTuningStateList* pThis, const adlx_uint location, IADLXInterface** ppItem);
|
|
301
|
+
ADLX_RESULT (ADLX_STD_CALL *Clear)(IADLXManualTuningStateList* pThis);
|
|
302
|
+
ADLX_RESULT (ADLX_STD_CALL *Remove_Back)(IADLXManualTuningStateList* pThis);
|
|
303
|
+
ADLX_RESULT (ADLX_STD_CALL *Add_Back)(IADLXManualTuningStateList* pThis, IADLXInterface* pItem);
|
|
304
|
+
|
|
305
|
+
//IADLXManualTuningStateList
|
|
306
|
+
ADLX_RESULT (ADLX_STD_CALL *At_ManualTuningStateList)(IADLXManualTuningStateList* pThis, const adlx_uint location, IADLXManualTuningState** ppItem);
|
|
307
|
+
ADLX_RESULT (ADLX_STD_CALL *Add_Back_ManualTuningStateList)(IADLXManualTuningStateList* pThis, IADLXManualTuningState* pItem);
|
|
308
|
+
|
|
309
|
+
}IADLXManualTuningStateListVtbl;
|
|
310
|
+
|
|
311
|
+
struct IADLXManualTuningStateList { const IADLXManualTuningStateListVtbl *pVtbl; };
|
|
312
|
+
#endif //__cplusplus
|
|
313
|
+
#pragma endregion IADLXManualTuningStateList
|
|
314
|
+
|
|
315
|
+
#pragma region IADLXMemoryTimingDescriptionList
|
|
316
|
+
#if defined (__cplusplus)
|
|
317
|
+
namespace adlx
|
|
318
|
+
{
|
|
319
|
+
class ADLX_NO_VTABLE IADLXMemoryTimingDescriptionList : public IADLXList
|
|
320
|
+
{
|
|
321
|
+
public:
|
|
322
|
+
ADLX_DECLARE_IID (L"IADLXMemoryTimingDescriptionList")
|
|
323
|
+
//Lists must declare the type of items it holds - what was passed as ADLX_DECLARE_IID() in that interface
|
|
324
|
+
ADLX_DECLARE_ITEM_IID (IADLXMemoryTimingDescription::IID ())
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* @page DOX_IADLXMemoryTimingDescriptionList_At At
|
|
328
|
+
* @ENG_START_DOX
|
|
329
|
+
* @brief Returns the reference counted interface at the requested location.
|
|
330
|
+
* @ENG_END_DOX
|
|
331
|
+
*
|
|
332
|
+
* @syntax
|
|
333
|
+
* @codeStart
|
|
334
|
+
* @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXMemoryTimingDescription** ppItem)
|
|
335
|
+
* @codeEnd
|
|
336
|
+
*
|
|
337
|
+
* @params
|
|
338
|
+
* @paramrow{1.,[in] ,location,const adlx_uint ,@ENG_START_DOX The location of the requested interface. @ENG_END_DOX}
|
|
339
|
+
* @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXMemoryTimingDescription** ,@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}
|
|
340
|
+
*
|
|
341
|
+
* @retvalues
|
|
342
|
+
* @ENG_START_DOX
|
|
343
|
+
* If the location is within the list bounds, __ADLX_OK__ is returned.<br>
|
|
344
|
+
* If the location is not within the list bounds, an error code is returned.<br>
|
|
345
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
346
|
+
* @ENG_END_DOX
|
|
347
|
+
*
|
|
348
|
+
* @detaileddesc
|
|
349
|
+
* @ENG_START_DOX
|
|
350
|
+
* @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
|
|
351
|
+
* @ENG_END_DOX
|
|
352
|
+
*
|
|
353
|
+
* @addinfo
|
|
354
|
+
* @ENG_START_DOX
|
|
355
|
+
* 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.
|
|
356
|
+
* @ENG_END_DOX
|
|
357
|
+
*
|
|
358
|
+
* @copydoc IADLXMemoryTimingDescriptionList_REQ_TABLE
|
|
359
|
+
*
|
|
360
|
+
*/
|
|
361
|
+
virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXMemoryTimingDescription** ppItem) = 0;
|
|
362
|
+
|
|
363
|
+
/**
|
|
364
|
+
*@page DOX_IADLXMemoryTimingDescriptionList_Add_Back Add_Back
|
|
365
|
+
*@ENG_START_DOX @brief Adds an interface to the end of a list. @ENG_END_DOX
|
|
366
|
+
*
|
|
367
|
+
*@syntax
|
|
368
|
+
*@codeStart
|
|
369
|
+
* @ref ADLX_RESULT Add_Back (@ref DOX_IADLXMemoryTimingDescription* pItem)
|
|
370
|
+
*@codeEnd
|
|
371
|
+
*
|
|
372
|
+
*@params
|
|
373
|
+
*@paramrow{1.,[in] ,pItem,@ref DOX_IADLXMemoryTimingDescription* ,@ENG_START_DOX The pointer to the interface to be added to the list. @ENG_END_DOX}
|
|
374
|
+
*
|
|
375
|
+
* @retvalues
|
|
376
|
+
* @ENG_START_DOX
|
|
377
|
+
* If the interface is added successfully to the end of the list, __ADLX_OK__ is returned.<br>
|
|
378
|
+
* If the interface is not added to the end of the list, an error code is returned.<br>
|
|
379
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
380
|
+
* @ENG_END_DOX
|
|
381
|
+
*
|
|
382
|
+
*@copydoc IADLXMemoryTimingDescriptionList_REQ_TABLE
|
|
383
|
+
*
|
|
384
|
+
*/
|
|
385
|
+
virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXMemoryTimingDescription* pItem) = 0;
|
|
386
|
+
};
|
|
387
|
+
typedef IADLXInterfacePtr_T<IADLXMemoryTimingDescriptionList> IADLXMemoryTimingDescriptionListPtr;
|
|
388
|
+
}
|
|
389
|
+
#else //__cplusplus
|
|
390
|
+
ADLX_DECLARE_IID (IADLXMemoryTimingDescriptionList, L"IADLXMemoryTimingDescriptionList")
|
|
391
|
+
ADLX_DECLARE_ITEM_IID (IADLXMemoryTimingDescription, IID_IADLXMemoryTimingDescription ())
|
|
392
|
+
|
|
393
|
+
typedef struct IADLXMemoryTimingDescriptionList IADLXMemoryTimingDescriptionList;
|
|
394
|
+
|
|
395
|
+
typedef struct IADLXMemoryTimingDescriptionListVtbl
|
|
396
|
+
{
|
|
397
|
+
//IADLXInterface
|
|
398
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXMemoryTimingDescriptionList* pThis);
|
|
399
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXMemoryTimingDescriptionList* pThis);
|
|
400
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXMemoryTimingDescriptionList* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
401
|
+
|
|
402
|
+
//IADLXList
|
|
403
|
+
adlx_uint (ADLX_STD_CALL *Size)(IADLXMemoryTimingDescriptionList* pThis);
|
|
404
|
+
adlx_bool (ADLX_STD_CALL *Empty)(IADLXMemoryTimingDescriptionList* pThis);
|
|
405
|
+
adlx_uint (ADLX_STD_CALL *Begin)(IADLXMemoryTimingDescriptionList* pThis);
|
|
406
|
+
adlx_uint (ADLX_STD_CALL *End)(IADLXMemoryTimingDescriptionList* pThis);
|
|
407
|
+
ADLX_RESULT (ADLX_STD_CALL *At)(IADLXMemoryTimingDescriptionList* pThis, const adlx_uint location, IADLXInterface** ppItem);
|
|
408
|
+
ADLX_RESULT (ADLX_STD_CALL *Clear)(IADLXMemoryTimingDescriptionList* pThis);
|
|
409
|
+
ADLX_RESULT (ADLX_STD_CALL *Remove_Back)(IADLXMemoryTimingDescriptionList* pThis);
|
|
410
|
+
ADLX_RESULT (ADLX_STD_CALL *Add_Back)(IADLXMemoryTimingDescriptionList* pThis, IADLXInterface* pItem);
|
|
411
|
+
|
|
412
|
+
//IADLXMemoryTimingDescriptionList
|
|
413
|
+
ADLX_RESULT (ADLX_STD_CALL *At_MemoryTimingDescriptionList)(IADLXMemoryTimingDescriptionList* pThis, const adlx_uint location, IADLXMemoryTimingDescription** ppItem);
|
|
414
|
+
ADLX_RESULT (ADLX_STD_CALL *Add_Back_MemoryTimingDescriptionList)(IADLXMemoryTimingDescriptionList* pThis, IADLXMemoryTimingDescription* pItem);
|
|
415
|
+
|
|
416
|
+
}IADLXMemoryTimingDescriptionListVtbl;
|
|
417
|
+
|
|
418
|
+
struct IADLXMemoryTimingDescriptionList { const IADLXMemoryTimingDescriptionListVtbl *pVtbl; };
|
|
419
|
+
#endif //__cplusplus
|
|
420
|
+
#pragma endregion IADLXMemoryTimingDescriptionList
|
|
421
|
+
|
|
422
|
+
#pragma region IADLXGPUTuningChangedEvent
|
|
423
|
+
#if defined (__cplusplus)
|
|
424
|
+
namespace adlx
|
|
425
|
+
{
|
|
426
|
+
class ADLX_NO_VTABLE IADLXGPU;
|
|
427
|
+
class ADLX_NO_VTABLE IADLXGPUTuningChangedEvent : public IADLXChangedEvent
|
|
428
|
+
{
|
|
429
|
+
public:
|
|
430
|
+
ADLX_DECLARE_IID (L"IADLXGPUTuningChangedEvent")
|
|
431
|
+
/**
|
|
432
|
+
*@page DOX_IADLXGPUTuningChangedEvent_GetGPU GetGPU
|
|
433
|
+
*@ENG_START_DOX @brief Gets the reference counted GPU interface on which the GPU tuning is changed. @ENG_END_DOX
|
|
434
|
+
*
|
|
435
|
+
*@syntax
|
|
436
|
+
*@codeStart
|
|
437
|
+
* @ref ADLX_RESULT GetGPU (@ref DOX_IADLXGPU** ppGPU)
|
|
438
|
+
*@codeEnd
|
|
439
|
+
*
|
|
440
|
+
*@params
|
|
441
|
+
*@paramrow{1.,[out] ,ppGPU,@ref DOX_IADLXGPU** ,@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 __*ppGPU__ to __nullptr__. @ENG_END_DOX}
|
|
442
|
+
*
|
|
443
|
+
*
|
|
444
|
+
*@retvalues
|
|
445
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
|
|
446
|
+
* If the interface 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
|
+
*@detaileddesc
|
|
450
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
|
|
451
|
+
*
|
|
452
|
+
*@addinfo
|
|
453
|
+
*@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. <br>
|
|
454
|
+
* __Note:__ @ref DOX_IADLXGPUTuningChangedEvent_GetGPU returns the reference counted GPU interface used by all the methods in this interface to check if there are any changes in GPU tuning.
|
|
455
|
+
*@ENG_END_DOX
|
|
456
|
+
*
|
|
457
|
+
*@copydoc IADLXGPUTuningChangedEvent_REQ_TABLE
|
|
458
|
+
*
|
|
459
|
+
*/
|
|
460
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetGPU (IADLXGPU** ppGPU) = 0;
|
|
461
|
+
|
|
462
|
+
/**
|
|
463
|
+
*@page DOX_IADLXGPUTuningChangedEvent_IsAutomaticTuningChanged IsAutomaticTuningChanged
|
|
464
|
+
*@ENG_START_DOX @brief Checks if the automatic tuning settings are changed. @ENG_END_DOX
|
|
465
|
+
*
|
|
466
|
+
*@syntax
|
|
467
|
+
*@codeStart
|
|
468
|
+
* adlx_bool IsAutomaticTuningChanged ()
|
|
469
|
+
*@codeEnd
|
|
470
|
+
*
|
|
471
|
+
*@params
|
|
472
|
+
*N/A
|
|
473
|
+
*
|
|
474
|
+
*@retvalues
|
|
475
|
+
*@ENG_START_DOX If the automatic tuning settings are changed, __true__ is returned.<br>
|
|
476
|
+
* If the automatic tuning settings are not changed, __false__ is returned.<br> @ENG_END_DOX
|
|
477
|
+
*
|
|
478
|
+
*@addinfo
|
|
479
|
+
*@ENG_START_DOX
|
|
480
|
+
* __Note:__ To obtain the GPU, use @ref DOX_IADLXGPUTuningChangedEvent_GetGPU.
|
|
481
|
+
*@ENG_END_DOX
|
|
482
|
+
*
|
|
483
|
+
*@copydoc IADLXGPUTuningChangedEvent_REQ_TABLE
|
|
484
|
+
*
|
|
485
|
+
*/
|
|
486
|
+
virtual adlx_bool ADLX_STD_CALL IsAutomaticTuningChanged () = 0;
|
|
487
|
+
|
|
488
|
+
/**
|
|
489
|
+
*@page DOX_IADLXGPUTuningChangedEvent_IsPresetTuningChanged IsPresetTuningChanged
|
|
490
|
+
*@ENG_START_DOX @brief Checks if the preset tuning settings are changed. @ENG_END_DOX
|
|
491
|
+
*
|
|
492
|
+
*@syntax
|
|
493
|
+
*@codeStart
|
|
494
|
+
* adlx_bool IsPresetTuningChanged ()
|
|
495
|
+
*@codeEnd
|
|
496
|
+
*
|
|
497
|
+
*@params
|
|
498
|
+
*N/A
|
|
499
|
+
*
|
|
500
|
+
*@retvalues
|
|
501
|
+
*@ENG_START_DOX If the preset tuning settings are changed, __true__ is returned.<br>
|
|
502
|
+
* If the preset tuning settings are not changed, __false__ is returned.<br> @ENG_END_DOX
|
|
503
|
+
*
|
|
504
|
+
*@addinfo
|
|
505
|
+
*@ENG_START_DOX
|
|
506
|
+
* __Note:__ To obtain the GPU, use @ref DOX_IADLXGPUTuningChangedEvent_GetGPU.
|
|
507
|
+
*@ENG_END_DOX
|
|
508
|
+
*
|
|
509
|
+
*@copydoc IADLXGPUTuningChangedEvent_REQ_TABLE
|
|
510
|
+
*
|
|
511
|
+
*/
|
|
512
|
+
virtual adlx_bool ADLX_STD_CALL IsPresetTuningChanged () = 0;
|
|
513
|
+
|
|
514
|
+
/**
|
|
515
|
+
*@page DOX_IADLXGPUTuningChangedEvent_IsManualGPUCLKTuningChanged IsManualGPUCLKTuningChanged
|
|
516
|
+
*@ENG_START_DOX @brief Checks if the manual graphic clock tuning settings are changed. @ENG_END_DOX
|
|
517
|
+
*
|
|
518
|
+
*@syntax
|
|
519
|
+
*@codeStart
|
|
520
|
+
* adlx_bool IsManualGPUCLKTuningChanged ()
|
|
521
|
+
*@codeEnd
|
|
522
|
+
*
|
|
523
|
+
*@params
|
|
524
|
+
*N/A
|
|
525
|
+
*
|
|
526
|
+
*@retvalues
|
|
527
|
+
*@ENG_START_DOX If the manual graphic clock tuning settings are changed, __true__ is returned.<br>
|
|
528
|
+
* If the manual graphic clock tuning settings are not changed, __false__ is returned.<br> @ENG_END_DOX
|
|
529
|
+
*
|
|
530
|
+
*@addinfo
|
|
531
|
+
*@ENG_START_DOX
|
|
532
|
+
* __Note:__ To obtain the GPU, use @ref DOX_IADLXGPUTuningChangedEvent_GetGPU.
|
|
533
|
+
*@ENG_END_DOX
|
|
534
|
+
*
|
|
535
|
+
*@copydoc IADLXGPUTuningChangedEvent_REQ_TABLE
|
|
536
|
+
*
|
|
537
|
+
*/
|
|
538
|
+
virtual adlx_bool ADLX_STD_CALL IsManualGPUCLKTuningChanged () = 0;
|
|
539
|
+
|
|
540
|
+
/**
|
|
541
|
+
*@page DOX_IADLXGPUTuningChangedEvent_IsManualVRAMTuningChanged IsManualVRAMTuningChanged
|
|
542
|
+
*@ENG_START_DOX @brief Checks if the manual VRAM tuning settings are changed. @ENG_END_DOX
|
|
543
|
+
*
|
|
544
|
+
*@syntax
|
|
545
|
+
*@codeStart
|
|
546
|
+
* adlx_bool IsManualVRAMTuningChanged ()
|
|
547
|
+
*@codeEnd
|
|
548
|
+
*
|
|
549
|
+
*@params
|
|
550
|
+
*N/A
|
|
551
|
+
*
|
|
552
|
+
*@retvalues
|
|
553
|
+
*@ENG_START_DOX If the manual VRAM tuning settings are changed, __true__ is returned.<br>
|
|
554
|
+
* If the manual VRAM tuning settings are not changed, __false__ is returned.<br> @ENG_END_DOX
|
|
555
|
+
*
|
|
556
|
+
*@addinfo
|
|
557
|
+
*@ENG_START_DOX
|
|
558
|
+
* __Note:__ To obtain the GPU, use @ref DOX_IADLXGPUTuningChangedEvent_GetGPU.
|
|
559
|
+
*@ENG_END_DOX
|
|
560
|
+
*
|
|
561
|
+
*@copydoc IADLXGPUTuningChangedEvent_REQ_TABLE
|
|
562
|
+
*
|
|
563
|
+
*/
|
|
564
|
+
virtual adlx_bool ADLX_STD_CALL IsManualVRAMTuningChanged () = 0;
|
|
565
|
+
|
|
566
|
+
/**
|
|
567
|
+
*@page DOX_IADLXGPUTuningChangedEvent_IsManualFanTuningChanged IsManualFanTuningChanged
|
|
568
|
+
*@ENG_START_DOX @brief Checks if the manual fan tuning settings are changed. @ENG_END_DOX
|
|
569
|
+
*
|
|
570
|
+
*@syntax
|
|
571
|
+
*@codeStart
|
|
572
|
+
* adlx_bool IsManualFanTuningChanged ()
|
|
573
|
+
*@codeEnd
|
|
574
|
+
*
|
|
575
|
+
*@params
|
|
576
|
+
*N/A
|
|
577
|
+
*
|
|
578
|
+
*@retvalues
|
|
579
|
+
*@ENG_START_DOX If the manual fan tuning settings are changed, __true__ is returned.<br>
|
|
580
|
+
* If the manual fan tuning settings are not changed, __false__ is returned.<br> @ENG_END_DOX
|
|
581
|
+
*
|
|
582
|
+
*@addinfo
|
|
583
|
+
*@ENG_START_DOX
|
|
584
|
+
* __Note:__ To obtain the GPU, use @ref DOX_IADLXGPUTuningChangedEvent_GetGPU.
|
|
585
|
+
*@ENG_END_DOX
|
|
586
|
+
*
|
|
587
|
+
*@copydoc IADLXGPUTuningChangedEvent_REQ_TABLE
|
|
588
|
+
*
|
|
589
|
+
*/
|
|
590
|
+
virtual adlx_bool ADLX_STD_CALL IsManualFanTuningChanged () = 0;
|
|
591
|
+
|
|
592
|
+
/**
|
|
593
|
+
*@page DOX_IADLXGPUTuningChangedEvent_IsManualPowerTuningChanged IsManualPowerTuningChanged
|
|
594
|
+
*@ENG_START_DOX @brief Checks if the manual power tuning settings are changed. @ENG_END_DOX
|
|
595
|
+
*
|
|
596
|
+
*@syntax
|
|
597
|
+
*@codeStart
|
|
598
|
+
* adlx_bool IsManualPowerTuningChanged ()
|
|
599
|
+
*@codeEnd
|
|
600
|
+
*
|
|
601
|
+
*@params
|
|
602
|
+
*N/A
|
|
603
|
+
*
|
|
604
|
+
*@retvalues
|
|
605
|
+
*@ENG_START_DOX If the manual power tuning settings are changed, __true__ is returned.<br>
|
|
606
|
+
* If the manual power tuning settings are not changed, __false__ is returned.<br> @ENG_END_DOX
|
|
607
|
+
*
|
|
608
|
+
*@addinfo
|
|
609
|
+
*@ENG_START_DOX
|
|
610
|
+
* __Note:__ To obtain the GPU, use @ref DOX_IADLXGPUTuningChangedEvent_GetGPU.
|
|
611
|
+
*@ENG_END_DOX
|
|
612
|
+
*
|
|
613
|
+
*@copydoc IADLXGPUTuningChangedEvent_REQ_TABLE
|
|
614
|
+
*
|
|
615
|
+
*/
|
|
616
|
+
virtual adlx_bool ADLX_STD_CALL IsManualPowerTuningChanged () = 0;
|
|
617
|
+
}; //IADLXGPUTuningChangedEvent
|
|
618
|
+
//----------------------------------------------------------------------------------------------
|
|
619
|
+
typedef IADLXInterfacePtr_T<IADLXGPUTuningChangedEvent> IADLXGPUTuningChangedEventPtr;
|
|
620
|
+
} //namespace adlx
|
|
621
|
+
#else //__cplusplus
|
|
622
|
+
typedef struct IADLXGPU IADLXGPU;
|
|
623
|
+
|
|
624
|
+
ADLX_DECLARE_IID (IADLXGPUTuningChangedEvent, L"IADLXGPUTuningChangedEvent")
|
|
625
|
+
typedef struct IADLXGPUTuningChangedEvent IADLXGPUTuningChangedEvent;
|
|
626
|
+
|
|
627
|
+
typedef struct IADLXGPUTuningChangedEventVtbl
|
|
628
|
+
{
|
|
629
|
+
//IADLXInterface
|
|
630
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXGPUTuningChangedEvent* pThis);
|
|
631
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXGPUTuningChangedEvent* pThis);
|
|
632
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXGPUTuningChangedEvent* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
633
|
+
|
|
634
|
+
//IADLXChangedEvent
|
|
635
|
+
ADLX_SYNC_ORIGIN(ADLX_STD_CALL* GetOrigin)(IADLXGPUTuningChangedEvent* pThis);
|
|
636
|
+
|
|
637
|
+
// IADLXAutomaticTuningChangedEvent interface
|
|
638
|
+
ADLX_RESULT (ADLX_STD_CALL *GetGPU)(IADLXGPUTuningChangedEvent* pThis, IADLXGPU** ppGPU);
|
|
639
|
+
|
|
640
|
+
adlx_bool (ADLX_STD_CALL *IsAutomaticTuningChanged)(IADLXGPUTuningChangedEvent* pThis);
|
|
641
|
+
adlx_bool (ADLX_STD_CALL *IsPresetTuningChanged)(IADLXGPUTuningChangedEvent* pThis);
|
|
642
|
+
adlx_bool (ADLX_STD_CALL *IsManualGPUCLKTuningChanged)(IADLXGPUTuningChangedEvent* pThis);
|
|
643
|
+
adlx_bool (ADLX_STD_CALL *IsManualVRAMTuningChanged)(IADLXGPUTuningChangedEvent* pThis);
|
|
644
|
+
adlx_bool (ADLX_STD_CALL *IsManualFanTuningChanged)(IADLXGPUTuningChangedEvent* pThis);
|
|
645
|
+
adlx_bool (ADLX_STD_CALL *IsManualPowerTuningChanged)(IADLXGPUTuningChangedEvent* pThis);
|
|
646
|
+
} IADLXGPUTuningChangedEventVtbl;
|
|
647
|
+
|
|
648
|
+
struct IADLXGPUTuningChangedEvent { const IADLXGPUTuningChangedEventVtbl *pVtbl; };
|
|
649
|
+
#endif //__cplusplus
|
|
650
|
+
#pragma endregion IADLXGPUTuningChangedEvent
|
|
651
|
+
|
|
652
|
+
//GPU Tuning changed listener interface. To be implemented in application and passed in IADLXGPUTuningChangedHandling::IADLXGPUTuningChangedListener()
|
|
653
|
+
#pragma region IADLXGPUTuningChangedListener
|
|
654
|
+
#if defined (__cplusplus)
|
|
655
|
+
namespace adlx
|
|
656
|
+
{
|
|
657
|
+
class ADLX_NO_VTABLE IADLXGPUTuningChangedListener
|
|
658
|
+
{
|
|
659
|
+
public:
|
|
660
|
+
/**
|
|
661
|
+
*@page DOX_IADLXGPUTuningChangedListener_OnGPUTuningChanged OnGPUTuningChanged
|
|
662
|
+
*@ENG_START_DOX @brief __OnGPUTuningChanged__ is called by ADLX when GPU tuning changes. @ENG_END_DOX
|
|
663
|
+
*
|
|
664
|
+
*@syntax
|
|
665
|
+
*@codeStart
|
|
666
|
+
* adlx_bool OnGPUTuningChanged (@ref DOX_IADLXGPUTuningChangedEvent* pGPUTuningChangedEvent)
|
|
667
|
+
*@codeEnd
|
|
668
|
+
*
|
|
669
|
+
*@params
|
|
670
|
+
*@paramrow{1.,[in] ,pGPUTuningChangedEvent,@ref DOX_IADLXGPUTuningChangedEvent* ,@ENG_START_DOX The pointer to a GPU tuning change event. @ENG_END_DOX}
|
|
671
|
+
*
|
|
672
|
+
*@retvalues
|
|
673
|
+
*@ENG_START_DOX If the application requires ADLX to continue notifying the next listener, __true__ must be returned.<br>
|
|
674
|
+
* If the application requires ADLX to stop notifying the next listener, __false__ must be returned.<br> @ENG_END_DOX
|
|
675
|
+
*
|
|
676
|
+
*@detaileddesc
|
|
677
|
+
*@ENG_START_DOX Once the application registers to the notifications with @ref DOX_IADLXGPUTuningChangedHandling_AddGPUTuningEventListener, ADLX will call this method until the application unregisters from the notifications with @ref DOX_IADLXGPUTuningChangedHandling_RemoveGPUTuningEventListener.
|
|
678
|
+
* 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 change 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 change event with @ref DOX_IADLXInterface_Release. @ENG_END_DOX
|
|
679
|
+
*
|
|
680
|
+
*@copydoc IADLXGPUTuningChangedListener_REQ_TABLE
|
|
681
|
+
*
|
|
682
|
+
*/
|
|
683
|
+
virtual adlx_bool ADLX_STD_CALL OnGPUTuningChanged (IADLXGPUTuningChangedEvent* pGPUTuningChangedEvent) = 0;
|
|
684
|
+
}; //IADLXGPUTuningChangedListener
|
|
685
|
+
} //namespace adlx
|
|
686
|
+
#else //__cplusplus
|
|
687
|
+
typedef struct IADLXGPUTuningChangedListener IADLXGPUTuningChangedListener;
|
|
688
|
+
|
|
689
|
+
typedef struct IADLXGPUTuningChangedListenerVtbl
|
|
690
|
+
{
|
|
691
|
+
// IADLXGPUTuningChangedListener interface
|
|
692
|
+
adlx_bool (ADLX_STD_CALL *OnGPUTuningChanged)(IADLXGPUTuningChangedListener* pThis, IADLXGPUTuningChangedEvent* pGPUTuningChangedEvent);
|
|
693
|
+
} IADLXGPUTuningChangedListenerVtbl;
|
|
694
|
+
|
|
695
|
+
struct IADLXGPUTuningChangedListener { const IADLXGPUTuningChangedListenerVtbl *pVtbl; };
|
|
696
|
+
#endif //__cplusplus
|
|
697
|
+
#pragma endregion IADLXGPUTuningChangedListener
|
|
698
|
+
|
|
699
|
+
//Interface that allows registration to gpu tuning-related events:
|
|
700
|
+
// - GPU Tuning List changed
|
|
701
|
+
// - Automatic Tuning changed
|
|
702
|
+
// - Preset Tuning changed
|
|
703
|
+
// - Manual Tuning changed
|
|
704
|
+
#pragma region IADLXGPUTuningChangedHandling
|
|
705
|
+
#if defined (__cplusplus)
|
|
706
|
+
namespace adlx
|
|
707
|
+
{
|
|
708
|
+
class ADLX_NO_VTABLE IADLXGPUTuningChangedHandling : public IADLXInterface
|
|
709
|
+
{
|
|
710
|
+
public:
|
|
711
|
+
ADLX_DECLARE_IID (L"IADLXGPUTuningChangedHandling")
|
|
712
|
+
/**
|
|
713
|
+
*@page DOX_IADLXGPUTuningChangedHandling_AddGPUTuningEventListener AddGPUTuningEventListener
|
|
714
|
+
*@ENG_START_DOX @brief Registers an event listener for notifications when the GPU tuning changes. @ENG_END_DOX
|
|
715
|
+
*
|
|
716
|
+
*@syntax
|
|
717
|
+
*@codeStart
|
|
718
|
+
* @ref ADLX_RESULT AddGPUTuningEventListener (@ref DOX_IADLXGPUTuningChangedListener* pGPUTuningChangedListener);
|
|
719
|
+
*@codeEnd
|
|
720
|
+
*
|
|
721
|
+
*@params
|
|
722
|
+
*@paramrow{1.,[in] ,pGPUTuningChangedListener,@ref DOX_IADLXGPUTuningChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to register for receiving GPU tuning change notifications. @ENG_END_DOX}
|
|
723
|
+
*
|
|
724
|
+
*@retvalues
|
|
725
|
+
*@ENG_START_DOX If the event listener is successfully registered, __ADLX_OK__ is returned.<br>
|
|
726
|
+
* If the event listener is not successfully registered, an error code is returned.<br>
|
|
727
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
728
|
+
*
|
|
729
|
+
*@detaileddesc
|
|
730
|
+
*@ENG_START_DOX After the event listener is successfully registered, ADLX will call @ref DOX_IADLXGPUTuningChangedListener_OnGPUTuningChanged method of the listener when GPU tuning changes.<br>
|
|
731
|
+
* The event listener instance must exist until the application unregisters the event listener with @ref DOX_IADLXGPUTuningChangedHandling_RemoveGPUTuningEventListener.<br> @ENG_END_DOX
|
|
732
|
+
*
|
|
733
|
+
*@copydoc IADLXGPUTuningChangedHandling_REQ_TABLE
|
|
734
|
+
*
|
|
735
|
+
*/
|
|
736
|
+
virtual ADLX_RESULT ADLX_STD_CALL AddGPUTuningEventListener (IADLXGPUTuningChangedListener* pGPUTuningChangedListener) = 0;
|
|
737
|
+
|
|
738
|
+
/**
|
|
739
|
+
*@page DOX_IADLXGPUTuningChangedHandling_RemoveGPUTuningEventListener RemoveGPUTuningEventListener
|
|
740
|
+
*@ENG_START_DOX @brief Unregisters an event listener from the GPU tuning event list. @ENG_END_DOX
|
|
741
|
+
*
|
|
742
|
+
*@syntax
|
|
743
|
+
*@codeStart
|
|
744
|
+
* @ref ADLX_RESULT RemoveGPUTuningEventListener (@ref DOX_IADLXGPUTuningChangedListener* pGPUTuningChangedListener)
|
|
745
|
+
*@codeEnd
|
|
746
|
+
*
|
|
747
|
+
*@params
|
|
748
|
+
*@paramrow{1.,[in] ,pGPUTuningChangedListener,@ref DOX_IADLXGPUTuningChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to unregister from receiving GPU tuning change notifications. @ENG_END_DOX}
|
|
749
|
+
*
|
|
750
|
+
*@retvalues
|
|
751
|
+
*@ENG_START_DOX If the event listener is successfully unregistered, __ADLX_OK__ is returned.<br>
|
|
752
|
+
* If the event listener is not successfully unregistered, an error code is returned.<br>
|
|
753
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
754
|
+
*
|
|
755
|
+
*@detaileddesc
|
|
756
|
+
*@ENG_START_DOX After the event listener is successfully unregistered, ADLX will no longer call @ref DOX_IADLXGPUTuningChangedListener_OnGPUTuningChanged method of the listener when GPU tuning changes.
|
|
757
|
+
* The application can discard the event listener instance. @ENG_END_DOX
|
|
758
|
+
*
|
|
759
|
+
*@copydoc IADLXGPUTuningChangedHandling_REQ_TABLE
|
|
760
|
+
*
|
|
761
|
+
*/
|
|
762
|
+
virtual ADLX_RESULT ADLX_STD_CALL RemoveGPUTuningEventListener (IADLXGPUTuningChangedListener* pGPUTuningChangedListener) = 0;
|
|
763
|
+
}; // IADLXGPUTuningChangedHandling
|
|
764
|
+
//----------------------------------------------------------------------------------------------
|
|
765
|
+
typedef IADLXInterfacePtr_T<IADLXGPUTuningChangedHandling> IADLXGPUTuningChangedHandlingPtr;
|
|
766
|
+
} //namespace adlx
|
|
767
|
+
#else //__cplusplus
|
|
768
|
+
ADLX_DECLARE_IID (IADLXGPUTuningChangedHandling, L"IADLXGPUTuningChangedHandling")
|
|
769
|
+
typedef struct IADLXGPUTuningChangedHandling IADLXGPUTuningChangedHandling;
|
|
770
|
+
|
|
771
|
+
typedef struct IADLXGPUTuningChangedHandlingVtbl
|
|
772
|
+
{
|
|
773
|
+
//IADLXInterface
|
|
774
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXGPUTuningChangedHandling* pThis);
|
|
775
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXGPUTuningChangedHandling* pThis);
|
|
776
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXGPUTuningChangedHandling* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
777
|
+
|
|
778
|
+
// IADLXGPUTuningChangedHandling interface
|
|
779
|
+
ADLX_RESULT (ADLX_STD_CALL *AddGPUTuningEventListener)(IADLXGPUTuningChangedHandling* pThis, IADLXGPUTuningChangedListener* pGPUTuningChangedListener);
|
|
780
|
+
ADLX_RESULT (ADLX_STD_CALL *RemoveGPUTuningEventListener)(IADLXGPUTuningChangedHandling* pThis, IADLXGPUTuningChangedListener* pGPUTuningChangedListener);
|
|
781
|
+
} IADLXGPUTuningChangedHandlingVtbl;
|
|
782
|
+
|
|
783
|
+
struct IADLXGPUTuningChangedHandling { const IADLXGPUTuningChangedHandlingVtbl *pVtbl; };
|
|
784
|
+
#endif //__cplusplus
|
|
785
|
+
#pragma endregion IADLXGPUTuningChangedHandling
|
|
786
|
+
|
|
787
|
+
|
|
788
|
+
//GPU Tuning Services interface
|
|
789
|
+
#pragma region IADLXGPUTuningServices
|
|
790
|
+
#if defined (__cplusplus)
|
|
791
|
+
namespace adlx
|
|
792
|
+
{
|
|
793
|
+
class ADLX_NO_VTABLE IADLXGPUTuningServices : public IADLXInterface
|
|
794
|
+
{
|
|
795
|
+
public:
|
|
796
|
+
ADLX_DECLARE_IID (L"IADLXGPUTuningServices")
|
|
797
|
+
|
|
798
|
+
/**
|
|
799
|
+
* @page DOX_IADLXGPUTuningServices_GetGPUTuningChangedHandling GetGPUTuningChangedHandling
|
|
800
|
+
* @ENG_START_DOX
|
|
801
|
+
* @brief Gets the reference counted interface that allows registering and unregistering for notifications when GPU tuning changes.
|
|
802
|
+
* @ENG_END_DOX
|
|
803
|
+
*
|
|
804
|
+
* @syntax
|
|
805
|
+
* @codeStart
|
|
806
|
+
* @ref ADLX_RESULT GetGPUTuningChangedHandling (@ref DOX_IADLXGPUTuningChangedHandling** ppGPUTuningChangedHandling)
|
|
807
|
+
* @codeEnd
|
|
808
|
+
*
|
|
809
|
+
* @params
|
|
810
|
+
* @paramrow{1.,[out] ,ppGPUTuningChangedHandling,@ref DOX_IADLXGPUTuningChangedHandling** ,@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 __*ppGPUTuningChangedHandling__ to __nullptr__. @ENG_END_DOX}
|
|
811
|
+
*
|
|
812
|
+
* @retvalues
|
|
813
|
+
* @ENG_START_DOX
|
|
814
|
+
* If the interface is successfully returned, __ADLX_OK__ is returned.<br>
|
|
815
|
+
* If the interface is not successfully returned, an error code is returned.<br>
|
|
816
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
817
|
+
* @ENG_END_DOX
|
|
818
|
+
*
|
|
819
|
+
* @detaileddesc
|
|
820
|
+
* @ENG_START_DOX
|
|
821
|
+
* @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
|
|
822
|
+
* @ENG_END_DOX
|
|
823
|
+
*
|
|
824
|
+
* @addinfo
|
|
825
|
+
* @ENG_START_DOX
|
|
826
|
+
* 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.
|
|
827
|
+
* @ENG_END_DOX
|
|
828
|
+
*
|
|
829
|
+
* @copydoc IADLXGPUTuningServices_REQ_TABLE
|
|
830
|
+
*
|
|
831
|
+
*/
|
|
832
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetGPUTuningChangedHandling (IADLXGPUTuningChangedHandling** ppGPUTuningChangedHandling) = 0;
|
|
833
|
+
|
|
834
|
+
/**
|
|
835
|
+
*@page DOX_IADLXGPUTuningServices_IsAtFactory IsAtFactory
|
|
836
|
+
*@ENG_START_DOX @brief Checks if the GPU tuning on a GPU is set to factory settings. @ENG_END_DOX
|
|
837
|
+
*
|
|
838
|
+
*@syntax
|
|
839
|
+
*@codeStart
|
|
840
|
+
* @ref ADLX_RESULT IsAtFactory (@ref DOX_IADLXGPU* pGPU, adlx_bool* isFactory)
|
|
841
|
+
*@codeEnd
|
|
842
|
+
*
|
|
843
|
+
*@params
|
|
844
|
+
*@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
|
|
845
|
+
*@paramrow{2.,[out] ,isFactory,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the state of the GPU tuning is returned. The variable is __true__ if the GPU tuning is set to factory settings. The variable is __false__ if the GPU tuning is not set to factory settings. @ENG_END_DOX}
|
|
846
|
+
*
|
|
847
|
+
*@retvalues
|
|
848
|
+
*@ENG_START_DOX If the state of the GPU tuning is successfully returned, __ADLX_OK__ is returned.<br>
|
|
849
|
+
* If the state of the GPU tuning is not successfully returned, an error code is returned.<br>
|
|
850
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
851
|
+
*
|
|
852
|
+
*@copydoc IADLXGPUTuningServices_REQ_TABLE
|
|
853
|
+
*
|
|
854
|
+
*/
|
|
855
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsAtFactory (IADLXGPU* pGPU, adlx_bool* isFactory) = 0;
|
|
856
|
+
|
|
857
|
+
/**
|
|
858
|
+
*@page DOX_IADLXGPUTuningServices_ResetToFactory ResetToFactory
|
|
859
|
+
*@ENG_START_DOX @brief Reset the GPU tuning to factory settings. @ENG_END_DOX
|
|
860
|
+
*
|
|
861
|
+
*@syntax
|
|
862
|
+
*@codeStart
|
|
863
|
+
* @ref ADLX_RESULT ResetToFactory (@ref DOX_IADLXGPU* pGPU)
|
|
864
|
+
*@codeEnd
|
|
865
|
+
*
|
|
866
|
+
*@params
|
|
867
|
+
*@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
|
|
868
|
+
*
|
|
869
|
+
*@retvalues
|
|
870
|
+
*@ENG_START_DOX If the factory settings are successfully reset, __ADLX_OK__ is returned.<br>
|
|
871
|
+
* If the factory settings are not successfully reset, an error code is returned.<br>
|
|
872
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
873
|
+
*
|
|
874
|
+
*@detaileddesc
|
|
875
|
+
*@ENG_START_DOX @details The method resets settings of Auto Tuning, Manual GPU Tuning, Manual Fan Tuning, Manual VRAM Tuning and Manual Power Tuning. @ENG_END_DOX
|
|
876
|
+
*
|
|
877
|
+
*@copydoc IADLXGPUTuningServices_REQ_TABLE
|
|
878
|
+
*
|
|
879
|
+
*/
|
|
880
|
+
virtual ADLX_RESULT ADLX_STD_CALL ResetToFactory (IADLXGPU* pGPU) = 0;
|
|
881
|
+
|
|
882
|
+
/**
|
|
883
|
+
*@page DOX_IADLXGPUTuningServices_IsSupportedAutoTuning IsSupportedAutoTuning
|
|
884
|
+
*@ENG_START_DOX @brief Checks if the automatic tuning is supported on a GPU. @ENG_END_DOX
|
|
885
|
+
*
|
|
886
|
+
*@syntax
|
|
887
|
+
*@codeStart
|
|
888
|
+
* @ref ADLX_RESULT IsSupportedAutoTuning (@ref DOX_IADLXGPU* pGPU, adlx_bool* supported)
|
|
889
|
+
*@codeEnd
|
|
890
|
+
*
|
|
891
|
+
*@params
|
|
892
|
+
*@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
|
|
893
|
+
*@paramrow{2.,[out] ,supported,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the state of automatic tuning is returned. The variable is __true__ if automatic tuning is supported. The variable is __false__ if automatic tuning is not supported. @ENG_END_DOX}
|
|
894
|
+
*
|
|
895
|
+
*@retvalues
|
|
896
|
+
*@ENG_START_DOX If the state of automatic tuning is successfully returned, __ADLX_OK__ is returned.<br>
|
|
897
|
+
* If the state of automatic tuning 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
|
+
*@copydoc IADLXGPUTuningServices_REQ_TABLE
|
|
901
|
+
*
|
|
902
|
+
*/
|
|
903
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedAutoTuning (IADLXGPU* pGPU, adlx_bool* supported) = 0;
|
|
904
|
+
|
|
905
|
+
/**
|
|
906
|
+
*@page DOX_IADLXGPUTuningServices_IsSupportedPresetTuning IsSupportedPresetTuning
|
|
907
|
+
*@ENG_START_DOX @brief Checks if the preset tuning is supported on a GPU. @ENG_END_DOX
|
|
908
|
+
*
|
|
909
|
+
*@syntax
|
|
910
|
+
*@codeStart
|
|
911
|
+
* @ref ADLX_RESULT IsSupportedPresetTuning (@ref DOX_IADLXGPU* pGPU, adlx_bool* supported)
|
|
912
|
+
*@codeEnd
|
|
913
|
+
*
|
|
914
|
+
*@params
|
|
915
|
+
*@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
|
|
916
|
+
*@paramrow{2.,[out] ,supported,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the state of preset tuning is returned. The variable is __true__ if preset tuning is supported. The variable is __false__ if preset tuning is not supported. @ENG_END_DOX}
|
|
917
|
+
*
|
|
918
|
+
*@retvalues
|
|
919
|
+
*@ENG_START_DOX If the state of preset tuning is successfully returned, __ADLX_OK__ is returned.<br>
|
|
920
|
+
* If the state of preset tuning is not successfully returned, an error code is returned.<br>
|
|
921
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
922
|
+
*
|
|
923
|
+
*@copydoc IADLXGPUTuningServices_REQ_TABLE
|
|
924
|
+
*
|
|
925
|
+
*/
|
|
926
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedPresetTuning (IADLXGPU* pGPU, adlx_bool* supported) = 0;
|
|
927
|
+
|
|
928
|
+
/**
|
|
929
|
+
*@page DOX_IADLXGPUTuningServices_IsSupportedManualGFXTuning IsSupportedManualGFXTuning
|
|
930
|
+
*@ENG_START_DOX @brief Checks if the manual graphic tuning is supported on a GPU. @ENG_END_DOX
|
|
931
|
+
*
|
|
932
|
+
*@syntax
|
|
933
|
+
*@codeStart
|
|
934
|
+
* @ref ADLX_RESULT IsSupportedManualGFXTuning (@ref DOX_IADLXGPU* pGPU, adlx_bool* supported)
|
|
935
|
+
*@codeEnd
|
|
936
|
+
*
|
|
937
|
+
*@params
|
|
938
|
+
*@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
|
|
939
|
+
*@paramrow{2.,[out] ,supported,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the state of manual graphic tuning is returned. The variable is __true__ if manual graphic tuning is supported. The variable is __false__ if manual graphic tuning is not supported. @ENG_END_DOX}
|
|
940
|
+
*
|
|
941
|
+
*@retvalues
|
|
942
|
+
*@ENG_START_DOX If the state of manual graphic tuning is successfully returned, __ADLX_OK__ is returned.<br>
|
|
943
|
+
* If the state of manual graphic tuning is not successfully returned, an error code is returned.<br>
|
|
944
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
945
|
+
*
|
|
946
|
+
*@copydoc IADLXGPUTuningServices_REQ_TABLE
|
|
947
|
+
*
|
|
948
|
+
*/
|
|
949
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedManualGFXTuning (IADLXGPU* pGPU, adlx_bool* supported) = 0;
|
|
950
|
+
|
|
951
|
+
/**
|
|
952
|
+
*@page DOX_IADLXGPUTuningServices_IsSupportedManualVRAMTuning IsSupportedManualVRAMTuning
|
|
953
|
+
*@ENG_START_DOX @brief Checks if the manual VRAM Tuning is supported on a GPU. @ENG_END_DOX
|
|
954
|
+
*
|
|
955
|
+
*@syntax
|
|
956
|
+
*@codeStart
|
|
957
|
+
* @ref ADLX_RESULT IsSupportedManualVRAMTuning (@ref DOX_IADLXGPU* pGPU, adlx_bool* supported)
|
|
958
|
+
*@codeEnd
|
|
959
|
+
*
|
|
960
|
+
*@params
|
|
961
|
+
*@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
|
|
962
|
+
*@paramrow{2.,[out] ,supported,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the state of manual VRAM tuning is returned. The variable is __true__ if manual VRAM tuning is supported. The variable is __false__ if manual VRAM tuning is not supported. @ENG_END_DOX}
|
|
963
|
+
*
|
|
964
|
+
*@retvalues
|
|
965
|
+
*@ENG_START_DOX If the state of manual VRAM tuning is successfully returned, __ADLX_OK__ is returned.<br>
|
|
966
|
+
* If the state of manual VRAM tuning is not successfully returned, an error code is returned.<br>
|
|
967
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
968
|
+
*
|
|
969
|
+
*@copydoc IADLXGPUTuningServices_REQ_TABLE
|
|
970
|
+
*
|
|
971
|
+
*/
|
|
972
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedManualVRAMTuning (IADLXGPU* pGPU, adlx_bool* supported) = 0;
|
|
973
|
+
|
|
974
|
+
/**
|
|
975
|
+
*@page DOX_IADLXGPUTuningServices_IsSupportedManualFanTuning IsSupportedManualFanTuning
|
|
976
|
+
*@ENG_START_DOX @brief Checks if the manual fan tuning is supported on a GPU. @ENG_END_DOX
|
|
977
|
+
*
|
|
978
|
+
*@syntax
|
|
979
|
+
*@codeStart
|
|
980
|
+
* @ref ADLX_RESULT IsSupportedManualFanTuning (@ref DOX_IADLXGPU* pGPU, adlx_bool* supported)
|
|
981
|
+
*@codeEnd
|
|
982
|
+
*
|
|
983
|
+
*@params
|
|
984
|
+
*@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
|
|
985
|
+
*@paramrow{2.,[out] ,supported,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the state of manual fan tuning is returned. The variable is __true__ if manual fan tuning is supported. The variable is __false__ if manual fan tuning is not supported. @ENG_END_DOX}
|
|
986
|
+
*
|
|
987
|
+
*@retvalues
|
|
988
|
+
*@ENG_START_DOX If the state of manual fan tuning is successfully returned, __ADLX_OK__ is returned.<br>
|
|
989
|
+
* If the state of manual fan tuning is not successfully returned, an error code is returned.<br>
|
|
990
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
991
|
+
*
|
|
992
|
+
*@copydoc IADLXGPUTuningServices_REQ_TABLE
|
|
993
|
+
*
|
|
994
|
+
*/
|
|
995
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedManualFanTuning (IADLXGPU* pGPU, adlx_bool* supported) = 0;
|
|
996
|
+
|
|
997
|
+
/**
|
|
998
|
+
*@page DOX_IADLXGPUTuningServices_IsSupportedManualPowerTuning IsSupportedManualPowerTuning
|
|
999
|
+
*@ENG_START_DOX @brief Checks if the manual power tuning is supported on a GPU. @ENG_END_DOX
|
|
1000
|
+
*
|
|
1001
|
+
*@syntax
|
|
1002
|
+
*@codeStart
|
|
1003
|
+
* @ref ADLX_RESULT IsSupportedManualPowerTuning (@ref DOX_IADLXGPU* pGPU, adlx_bool* supported)
|
|
1004
|
+
*@codeEnd
|
|
1005
|
+
*
|
|
1006
|
+
*@params
|
|
1007
|
+
*@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
|
|
1008
|
+
*@paramrow{2.,[out] ,supported,adlx_bool* ,@ENG_START_DOX The pointer to a variable where the state of manual power tuning is returned. The variable is __true__ if manual power tuning is supported. The variable is __false__ if manual power tuning is not supported. @ENG_END_DOX}
|
|
1009
|
+
*
|
|
1010
|
+
*@retvalues
|
|
1011
|
+
*@ENG_START_DOX If the state of manual power tuning is successfully returned, __ADLX_OK__ is returned.<br>
|
|
1012
|
+
* If the state of manual power tuning is not successfully returned, an error code is returned.<br>
|
|
1013
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
1014
|
+
*
|
|
1015
|
+
*@copydoc IADLXGPUTuningServices_REQ_TABLE
|
|
1016
|
+
*
|
|
1017
|
+
*/
|
|
1018
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedManualPowerTuning (IADLXGPU* pGPU, adlx_bool* supported) = 0;
|
|
1019
|
+
|
|
1020
|
+
/**
|
|
1021
|
+
*@page DOX_IADLXGPUTuningServices_GetAutoTuning GetAutoTuning
|
|
1022
|
+
*@ENG_START_DOX @brief Gets the reference counted automatic tuning interface of a GPU. @ENG_END_DOX
|
|
1023
|
+
*
|
|
1024
|
+
*@syntax
|
|
1025
|
+
*@codeStart
|
|
1026
|
+
* @ref ADLX_RESULT GetAutoTuning (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXInterface** ppAutoTuning)
|
|
1027
|
+
*@codeEnd
|
|
1028
|
+
*
|
|
1029
|
+
*@params
|
|
1030
|
+
*@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
|
|
1031
|
+
*@paramrow{2.,[out] ,ppAutoTuning,@ref DOX_IADLXInterface** ,@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 __*ppAutoTuning__ to __nullptr__. @ENG_END_DOX}
|
|
1032
|
+
*
|
|
1033
|
+
*@retvalues
|
|
1034
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
|
|
1035
|
+
* If the interface is not successfully returned, an error code is returned.<br>
|
|
1036
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
1037
|
+
*
|
|
1038
|
+
*@detaileddesc
|
|
1039
|
+
*@ENG_START_DOX @details The method returns an @ref DOX_IADLXInterface interface. To get the @ref DOX_IADLXGPUAutoTuning interface, which is the automatic tuning interface, the application must call @ref DOX_IADLXInterface_QueryInterface in the returned @ref DOX_IADLXInterface.<br>
|
|
1040
|
+
* The @ref DOX_IADLXInterface interface and the @ref DOX_IADLXGPUAutoTuning interface must be discarded with @ref DOX_IADLXInterface_Release when they are no longer needed.<br> @ENG_END_DOX
|
|
1041
|
+
*@addinfo
|
|
1042
|
+
*@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
|
|
1043
|
+
*
|
|
1044
|
+
*@copydoc IADLXGPUTuningServices_REQ_TABLE
|
|
1045
|
+
*
|
|
1046
|
+
*/
|
|
1047
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetAutoTuning (IADLXGPU* pGPU, IADLXInterface** ppAutoTuning) = 0;
|
|
1048
|
+
|
|
1049
|
+
/**
|
|
1050
|
+
*@page DOX_IADLXGPUTuningServices_GetPresetTuning GetPresetTuning
|
|
1051
|
+
*@ENG_START_DOX @brief Gets the reference counted preset tuning interface of a GPU. @ENG_END_DOX
|
|
1052
|
+
*
|
|
1053
|
+
*@syntax
|
|
1054
|
+
*@codeStart
|
|
1055
|
+
* @ref ADLX_RESULT GetPresetTuning (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXInterface** ppPresetTuning)
|
|
1056
|
+
*@codeEnd
|
|
1057
|
+
*
|
|
1058
|
+
*@params
|
|
1059
|
+
*@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
|
|
1060
|
+
*@paramrow{2.,[out] ,ppPresetTuning,@ref DOX_IADLXInterface** ,@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 __*ppPresetTuning__ to __nullptr__. @ENG_END_DOX}
|
|
1061
|
+
*
|
|
1062
|
+
*@retvalues
|
|
1063
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
|
|
1064
|
+
* If the interface is not successfully returned, an error code is returned.<br>
|
|
1065
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
1066
|
+
*
|
|
1067
|
+
*@detaileddesc
|
|
1068
|
+
*@ENG_START_DOX @details The method returns an @ref DOX_IADLXInterface interface. To get the @ref DOX_IADLXGPUPresetTuning interface, which is the preset tuning interface, the application must call @ref DOX_IADLXInterface_QueryInterface in the returned @ref DOX_IADLXInterface.<br>
|
|
1069
|
+
* The @ref DOX_IADLXInterface interface and the @ref DOX_IADLXGPUPresetTuning interface must be discarded with @ref DOX_IADLXInterface_Release when they are no longer needed.<br> @ENG_END_DOX
|
|
1070
|
+
*@addinfo
|
|
1071
|
+
*@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
|
|
1072
|
+
*
|
|
1073
|
+
*@copydoc IADLXGPUTuningServices_REQ_TABLE
|
|
1074
|
+
*
|
|
1075
|
+
*/
|
|
1076
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetPresetTuning (IADLXGPU* pGPU, IADLXInterface** ppPresetTuning) = 0;
|
|
1077
|
+
|
|
1078
|
+
/**
|
|
1079
|
+
*@page DOX_IADLXGPUTuningServices_GetManualGFXTuning GetManualGFXTuning
|
|
1080
|
+
*@ENG_START_DOX @brief Gets the reference counted manual graphics tuning interface of a GPU. @ENG_END_DOX
|
|
1081
|
+
*
|
|
1082
|
+
*@syntax
|
|
1083
|
+
*@codeStart
|
|
1084
|
+
* @ref ADLX_RESULT GetManualGFXTuning (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXInterface** ppManualGFXTuning)
|
|
1085
|
+
*@codeEnd
|
|
1086
|
+
*
|
|
1087
|
+
*@params
|
|
1088
|
+
*@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
|
|
1089
|
+
*@paramrow{2.,[out] ,ppManualGFXTuning,@ref DOX_IADLXInterface** ,@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 __*ppManualGFXTuning__ to __nullptr__. @ENG_END_DOX}
|
|
1090
|
+
*
|
|
1091
|
+
*@retvalues
|
|
1092
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
|
|
1093
|
+
* If the interface is not successfully returned, an error code is returned.<br>
|
|
1094
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
1095
|
+
* @ENG_END_DOX
|
|
1096
|
+
*@detaileddesc
|
|
1097
|
+
*@ENG_START_DOX @details Different GPUs support different manual graphics tuning functionality.<br>
|
|
1098
|
+
* ADLX provides the @ref DOX_IADLXManualGraphicsTuning1 interface or the @ref DOX_IADLXManualGraphicsTuning2 interface to obtain the supported manual graphics tuning interface.<br>
|
|
1099
|
+
* To get the manual graphics tuning interface, the application must call @ref DOX_IADLXInterface_QueryInterface in the returned @ref DOX_IADLXInterface.<br>
|
|
1100
|
+
* The @ref DOX_IADLXInterface interface and the manual graphics tuning interface must be discarded with @ref DOX_IADLXInterface_Release when they are no longer needed. @ENG_END_DOX
|
|
1101
|
+
*
|
|
1102
|
+
*@addinfo
|
|
1103
|
+
*@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
|
|
1104
|
+
*
|
|
1105
|
+
*@copydoc IADLXGPUTuningServices_REQ_TABLE
|
|
1106
|
+
*
|
|
1107
|
+
*/
|
|
1108
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetManualGFXTuning (IADLXGPU* pGPU, IADLXInterface** ppManualGFXTuning) = 0;
|
|
1109
|
+
|
|
1110
|
+
/**
|
|
1111
|
+
*@page DOX_IADLXGPUTuningServices_GetManualVRAMTuning GetManualVRAMTuning
|
|
1112
|
+
*@ENG_START_DOX @brief Gets the reference counted manual VRAM tuning interface of a GPU. @ENG_END_DOX
|
|
1113
|
+
*
|
|
1114
|
+
*@syntax
|
|
1115
|
+
*@codeStart
|
|
1116
|
+
* @ref ADLX_RESULT GetManualVRAMTuning (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXInterface** ppManualVRAMTuning)
|
|
1117
|
+
*@codeEnd
|
|
1118
|
+
*
|
|
1119
|
+
*@params
|
|
1120
|
+
*@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
|
|
1121
|
+
*@paramrow{2.,[out] ,ppManualVRAMTuning,@ref DOX_IADLXInterface** ,@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 __*ppManualVRAMTuning__ to __nullptr__. @ENG_END_DOX}
|
|
1122
|
+
*
|
|
1123
|
+
*@retvalues
|
|
1124
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
|
|
1125
|
+
* If the interface is not successfully returned, an error code is returned.<br>
|
|
1126
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
1127
|
+
* @ENG_END_DOX
|
|
1128
|
+
*@detaileddesc
|
|
1129
|
+
*@ENG_START_DOX @details Different GPUs support different manual VRAM tuning functionality.<br>
|
|
1130
|
+
* ADLX provides the @ref DOX_IADLXManualVRAMTuning1 interface or the @ref DOX_IADLXManualVRAMTuning2 interface to obtain the supported manual VRAM tuning interface.<br>
|
|
1131
|
+
* To get the manual VRAM tuning interface, the application must call @ref DOX_IADLXInterface_QueryInterface in the returned @ref DOX_IADLXInterface.<br>
|
|
1132
|
+
* The @ref DOX_IADLXInterface interface and the manual VRAM tuning interface must be discarded with @ref DOX_IADLXInterface_Release when they are no longer needed. @ENG_END_DOX
|
|
1133
|
+
*
|
|
1134
|
+
*@addinfo
|
|
1135
|
+
*@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
|
|
1136
|
+
*
|
|
1137
|
+
*@copydoc IADLXGPUTuningServices_REQ_TABLE
|
|
1138
|
+
*
|
|
1139
|
+
*/
|
|
1140
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetManualVRAMTuning (IADLXGPU* pGPU, IADLXInterface** ppManualVRAMTuning) = 0;
|
|
1141
|
+
|
|
1142
|
+
/**
|
|
1143
|
+
*@page DOX_IADLXGPUTuningServices_GetManualFanTuning GetManualFanTuning
|
|
1144
|
+
*@ENG_START_DOX @brief Gets the reference counted manual fan tuning interface of a GPU. @ENG_END_DOX
|
|
1145
|
+
*
|
|
1146
|
+
*@syntax
|
|
1147
|
+
*@codeStart
|
|
1148
|
+
* @ref ADLX_RESULT GetManualFanTuning (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXInterface** ppManualFanTuning)
|
|
1149
|
+
*@codeEnd
|
|
1150
|
+
*
|
|
1151
|
+
*@params
|
|
1152
|
+
*@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
|
|
1153
|
+
*@paramrow{2.,[out] ,ppManualFanTuning,@ref DOX_IADLXInterface** ,@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 __*ppManualFanTuning__ to __nullptr__. @ENG_END_DOX}
|
|
1154
|
+
*
|
|
1155
|
+
*@retvalues
|
|
1156
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
|
|
1157
|
+
* If the interface is not successfully returned, an error code is returned.<br>
|
|
1158
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br>
|
|
1159
|
+
* @ENG_END_DOX
|
|
1160
|
+
*@detaileddesc
|
|
1161
|
+
*@ENG_START_DOX @details The method returns an @ref DOX_IADLXInterface interface. To get the @ref DOX_IADLXManualFanTuning interface, which is the manual fan tuning interface, the application must call @ref DOX_IADLXInterface_QueryInterface in the returned @ref DOX_IADLXInterface.<br>
|
|
1162
|
+
* The @ref DOX_IADLXInterface interface and the @ref DOX_IADLXManualFanTuning interface must be discarded with @ref DOX_IADLXInterface_Release when they are no longer needed.<br> @ENG_END_DOX
|
|
1163
|
+
*
|
|
1164
|
+
*@addinfo
|
|
1165
|
+
*@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
|
|
1166
|
+
*
|
|
1167
|
+
*@copydoc IADLXGPUTuningServices_REQ_TABLE
|
|
1168
|
+
*
|
|
1169
|
+
*/
|
|
1170
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetManualFanTuning (IADLXGPU* pGPU, IADLXInterface** ppManualFanTuning) = 0;
|
|
1171
|
+
|
|
1172
|
+
/**
|
|
1173
|
+
*@page DOX_IADLXGPUTuningServices_GetManualPowerTuning GetManualPowerTuning
|
|
1174
|
+
*@ENG_START_DOX @brief Gets the reference counted manual power tuning interface of a GPU. @ENG_END_DOX
|
|
1175
|
+
*
|
|
1176
|
+
*@syntax
|
|
1177
|
+
*@codeStart
|
|
1178
|
+
* @ref ADLX_RESULT GetManualPowerTuning (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXInterface** ppManualPowerTuning)
|
|
1179
|
+
*@codeEnd
|
|
1180
|
+
*
|
|
1181
|
+
*@params
|
|
1182
|
+
*@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
|
|
1183
|
+
*@paramrow{2.,[out] ,ppManualPowerTuning,@ref DOX_IADLXInterface** ,@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 __*ppManualPowerTuning__ to __nullptr__. @ENG_END_DOX}
|
|
1184
|
+
*
|
|
1185
|
+
*@retvalues
|
|
1186
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
|
|
1187
|
+
* If the interface is not successfully returned, an error code is returned.<br>
|
|
1188
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
1189
|
+
*
|
|
1190
|
+
*@detaileddesc
|
|
1191
|
+
*@ENG_START_DOX @details The method returns an @ref DOX_IADLXInterface interface. To get the @ref DOX_IADLXManualPowerTuning interface, which is the manual power tuning interface, the application must call @ref DOX_IADLXInterface_QueryInterface in the returned @ref DOX_IADLXInterface.<br>
|
|
1192
|
+
* The @ref DOX_IADLXInterface interface and the @ref DOX_IADLXManualPowerTuning interface must be discarded with @ref DOX_IADLXInterface_Release when they are no longer needed.<br> @ENG_END_DOX
|
|
1193
|
+
*@addinfo
|
|
1194
|
+
*@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
|
|
1195
|
+
*
|
|
1196
|
+
*@copydoc IADLXGPUTuningServices_REQ_TABLE
|
|
1197
|
+
*
|
|
1198
|
+
*/
|
|
1199
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetManualPowerTuning (IADLXGPU* pGPU, IADLXInterface** ppManualPowerTuning) = 0;
|
|
1200
|
+
}; //IADLXGPUTuningServices
|
|
1201
|
+
//----------------------------------------------------------------------------------------------
|
|
1202
|
+
typedef IADLXInterfacePtr_T<IADLXGPUTuningServices> IADLXGPUTuningServicesPtr;
|
|
1203
|
+
} //namespace adlx
|
|
1204
|
+
#else //__cplusplus
|
|
1205
|
+
ADLX_DECLARE_IID (IADLXGPUTuningServices, L"IADLXGPUTuningServices")
|
|
1206
|
+
typedef struct IADLXGPUTuningServices IADLXGPUTuningServices;
|
|
1207
|
+
|
|
1208
|
+
typedef struct IADLXGPUTuningServicesVtbl
|
|
1209
|
+
{
|
|
1210
|
+
//IADLXInterface
|
|
1211
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXGPUTuningServices* pThis);
|
|
1212
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXGPUTuningServices* pThis);
|
|
1213
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXGPUTuningServices* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
1214
|
+
|
|
1215
|
+
//IADLXGPUTuningServices
|
|
1216
|
+
ADLX_RESULT (ADLX_STD_CALL *GetGPUTuningChangedHandling)(IADLXGPUTuningServices* pThis, IADLXGPUTuningChangedHandling** ppGPUTuningChangedHandling);
|
|
1217
|
+
ADLX_RESULT (ADLX_STD_CALL *IsAtFactory)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, adlx_bool* isFactory);
|
|
1218
|
+
ADLX_RESULT (ADLX_STD_CALL *ResetToFactory)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU);
|
|
1219
|
+
|
|
1220
|
+
ADLX_RESULT (ADLX_STD_CALL *IsSupportedAutoTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, adlx_bool* supported);
|
|
1221
|
+
ADLX_RESULT (ADLX_STD_CALL *IsSupportedPresetTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, adlx_bool* supported);
|
|
1222
|
+
ADLX_RESULT (ADLX_STD_CALL *IsSupportedManualGFXTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, adlx_bool* supported);
|
|
1223
|
+
ADLX_RESULT (ADLX_STD_CALL *IsSupportedManualVRAMTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, adlx_bool* supported);
|
|
1224
|
+
ADLX_RESULT (ADLX_STD_CALL *IsSupportedManualFanTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, adlx_bool* supported);
|
|
1225
|
+
ADLX_RESULT (ADLX_STD_CALL *IsSupportedManualPowerTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, adlx_bool* supported);
|
|
1226
|
+
|
|
1227
|
+
ADLX_RESULT (ADLX_STD_CALL *GetAutoTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, IADLXInterface** ppAutoTuning);
|
|
1228
|
+
ADLX_RESULT (ADLX_STD_CALL *GetPresetTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, IADLXInterface** ppPresetTuning);
|
|
1229
|
+
ADLX_RESULT (ADLX_STD_CALL *GetManualGFXTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, IADLXInterface** ppManualGFXTuning);
|
|
1230
|
+
ADLX_RESULT (ADLX_STD_CALL *GetManualVRAMTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, IADLXInterface** ppManualVRAMTuning);
|
|
1231
|
+
ADLX_RESULT (ADLX_STD_CALL *GetManualFanTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, IADLXInterface** ppManualFanTuning);
|
|
1232
|
+
ADLX_RESULT (ADLX_STD_CALL *GetManualPowerTuning)(IADLXGPUTuningServices* pThis, IADLXGPU* pGPU, IADLXInterface** ppManualPowerTuning);
|
|
1233
|
+
}IADLXGPUTuningServicesVtbl;
|
|
1234
|
+
|
|
1235
|
+
struct IADLXGPUTuningServices { const IADLXGPUTuningServicesVtbl *pVtbl; };
|
|
1236
|
+
#endif //__cplusplus
|
|
1237
|
+
#pragma endregion IADLXGPUTuningServices
|
|
1238
|
+
|
|
1239
|
+
#endif//ADLX_IGPUTUNING_H
|