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,576 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright (c) 2021 - 2025 Advanced Micro Devices, Inc. All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
//-------------------------------------------------------------------------------------------------
|
|
5
|
+
#ifndef ADLX_IGPUMANUALVRAMTUNING_H
|
|
6
|
+
#define ADLX_IGPUMANUALVRAMTUNING_H
|
|
7
|
+
#pragma once
|
|
8
|
+
|
|
9
|
+
#include "ADLXStructures.h"
|
|
10
|
+
|
|
11
|
+
//-------------------------------------------------------------------------------------------------
|
|
12
|
+
//IGPUManualVRAMTuning.h - Interfaces for ADLX GPU manual VRAM Tuning functionality
|
|
13
|
+
|
|
14
|
+
// Manual VRAM Tuning, common verion
|
|
15
|
+
#pragma region IADLXManualVRAMTuning1
|
|
16
|
+
#if defined (__cplusplus)
|
|
17
|
+
namespace adlx
|
|
18
|
+
{
|
|
19
|
+
class ADLX_NO_VTABLE IADLXManualTuningStateList;
|
|
20
|
+
class ADLX_NO_VTABLE IADLXMemoryTimingDescriptionList;
|
|
21
|
+
class ADLX_NO_VTABLE IADLXManualVRAMTuning1 : public IADLXInterface
|
|
22
|
+
{
|
|
23
|
+
public:
|
|
24
|
+
ADLX_DECLARE_IID (L"IADLXManualVRAMTuning1")
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
*@page DOX_IADLXManualVRAMTuning1_IsSupportedMemoryTiming IsSupportedMemoryTiming
|
|
28
|
+
*@ENG_START_DOX @brief Checks if the memory timing is supported on a GPU. @ENG_END_DOX
|
|
29
|
+
*
|
|
30
|
+
*@syntax
|
|
31
|
+
*@codeStart
|
|
32
|
+
* @ref ADLX_RESULT IsSupportedMemoryTiming (adlx_bool* supported)
|
|
33
|
+
*@codeEnd
|
|
34
|
+
*
|
|
35
|
+
*@params
|
|
36
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of memory timing is returned. The variable is __true__ if memory timing is supported. The variable is __false__ if memory timing is not supported. @ENG_END_DOX}
|
|
37
|
+
*
|
|
38
|
+
*@retvalues
|
|
39
|
+
*@ENG_START_DOX If the state of memory timing is successfully returned, __ADLX_OK__ is returned.<br>
|
|
40
|
+
* If the state of memory timing is not successfully returned, an error code is returned.<br>
|
|
41
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
42
|
+
*
|
|
43
|
+
* @addinfo
|
|
44
|
+
* @ENG_START_DOX Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed. @ENG_END_DOX
|
|
45
|
+
*
|
|
46
|
+
*@copydoc IADLXManualVRAMTuning1_REQ_TABLE
|
|
47
|
+
*
|
|
48
|
+
*/
|
|
49
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedMemoryTiming (adlx_bool* supported) = 0;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
*@page DOX_IADLXManualVRAMTuning1_GetSupportedMemoryTimingDescriptionList GetSupportedMemoryTimingDescriptionList
|
|
53
|
+
*@ENG_START_DOX @brief Gets the reference counted list of the supported memory timing description on a GPU. @ENG_END_DOX
|
|
54
|
+
*
|
|
55
|
+
*@syntax
|
|
56
|
+
*@codeStart
|
|
57
|
+
* @ref ADLX_RESULT GetSupportedMemoryTimingDescriptionList (@ref DOX_IADLXMemoryTimingDescriptionList** ppDescriptionList)
|
|
58
|
+
*@codeEnd
|
|
59
|
+
*
|
|
60
|
+
*@params
|
|
61
|
+
*@paramrow{1.,[out],ppDescriptionList,@ref DOX_IADLXMemoryTimingDescriptionList**,@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 __*ppDescriptionList__ to __nullptr__. @ENG_END_DOX}
|
|
62
|
+
*
|
|
63
|
+
*@retvalues
|
|
64
|
+
*@ENG_START_DOX If the list of the supported memory timing description is successfully returned, __ADLX_OK__ is returned.<br>
|
|
65
|
+
* If the list of the supported memory timing description 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
|
+
*@detaileddesc
|
|
69
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
|
|
70
|
+
*
|
|
71
|
+
*@addinfo
|
|
72
|
+
*@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.
|
|
73
|
+
*
|
|
74
|
+
* Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed. @ENG_END_DOX
|
|
75
|
+
*
|
|
76
|
+
*@copydoc IADLXManualVRAMTuning1_REQ_TABLE
|
|
77
|
+
*
|
|
78
|
+
*/
|
|
79
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetSupportedMemoryTimingDescriptionList (IADLXMemoryTimingDescriptionList** ppDescriptionList) = 0;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
*@page DOX_IADLXManualVRAMTuning1_GetMemoryTimingDescription GetMemoryTimingDescription
|
|
83
|
+
*@ENG_START_DOX @brief Gets the current memory timing description on a GPU. @ENG_END_DOX
|
|
84
|
+
*
|
|
85
|
+
*@syntax
|
|
86
|
+
*@codeStart
|
|
87
|
+
* @ref ADLX_RESULT GetMemoryTimingDescription (@ref ADLX_MEMORYTIMING_DESCRIPTION* description)
|
|
88
|
+
*@codeEnd
|
|
89
|
+
*
|
|
90
|
+
*@params
|
|
91
|
+
*@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}
|
|
92
|
+
*
|
|
93
|
+
*@retvalues
|
|
94
|
+
*@ENG_START_DOX If the memory timing description is successfully returned, __ADLX_OK__ is returned.<br>
|
|
95
|
+
* If the memory timing description is not successfully returned, an error code is returned.<br>
|
|
96
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
97
|
+
*
|
|
98
|
+
* @addinfo
|
|
99
|
+
* @ENG_START_DOX
|
|
100
|
+
* Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed.
|
|
101
|
+
* @ENG_END_DOX
|
|
102
|
+
*
|
|
103
|
+
*@copydoc IADLXManualVRAMTuning1_REQ_TABLE
|
|
104
|
+
*
|
|
105
|
+
*/
|
|
106
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetMemoryTimingDescription (ADLX_MEMORYTIMING_DESCRIPTION* description) = 0;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
*@page DOX_IADLXManualVRAMTuning1_SetMemoryTimingDescription SetMemoryTimingDescription
|
|
110
|
+
*@ENG_START_DOX @brief Sets the memory timing description on a GPU. @ENG_END_DOX
|
|
111
|
+
*
|
|
112
|
+
*@syntax
|
|
113
|
+
*@codeStart
|
|
114
|
+
* @ref ADLX_RESULT SetMemoryTimingDescription (@ref ADLX_MEMORYTIMING_DESCRIPTION description)
|
|
115
|
+
*@codeEnd
|
|
116
|
+
*
|
|
117
|
+
*@params
|
|
118
|
+
*@paramrow{1.,[in],description,@ref ADLX_MEMORYTIMING_DESCRIPTION,@ENG_START_DOX The new memory timing description. @ENG_END_DOX}
|
|
119
|
+
*
|
|
120
|
+
*@retvalues
|
|
121
|
+
*@ENG_START_DOX If the memory timing description is successfully set, __ADLX_OK__ is returned.<br>
|
|
122
|
+
* If the memory timing description is not successfully set, an error code is returned.<br>
|
|
123
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
124
|
+
*
|
|
125
|
+
* @addinfo
|
|
126
|
+
* @ENG_START_DOX
|
|
127
|
+
* Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed.
|
|
128
|
+
* @ENG_END_DOX
|
|
129
|
+
*
|
|
130
|
+
*@copydoc IADLXManualVRAMTuning1_REQ_TABLE
|
|
131
|
+
*
|
|
132
|
+
*/
|
|
133
|
+
virtual ADLX_RESULT ADLX_STD_CALL SetMemoryTimingDescription (ADLX_MEMORYTIMING_DESCRIPTION description) = 0;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
*@page DOX_IADLXManualVRAMTuning1_GetVRAMTuningRanges GetVRAMTuningRanges
|
|
137
|
+
*@ENG_START_DOX @brief Gets the VRAM frequency range and the VRAM voltage range on a GPU. @ENG_END_DOX
|
|
138
|
+
*
|
|
139
|
+
*@syntax
|
|
140
|
+
*@codeStart
|
|
141
|
+
* @ref ADLX_RESULT GetVRAMTuningRanges (@ref ADLX_IntRange* frequencyRange, @ref ADLX_IntRange* voltageRange)
|
|
142
|
+
*@codeEnd
|
|
143
|
+
*
|
|
144
|
+
*@params
|
|
145
|
+
*@paramrow{1.,[out],frequencyRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the frequency range (in MHz) is returned. @ENG_END_DOX}
|
|
146
|
+
*@paramrow{2.,[out],voltageRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the voltage range (in mV) is returned. @ENG_END_DOX}
|
|
147
|
+
*
|
|
148
|
+
*@retvalues
|
|
149
|
+
*@ENG_START_DOX If the frequency and voltage range are successfully returned, __ADLX_OK__ is returned.<br>
|
|
150
|
+
* If the frequency and voltage range are not successfully returned, an error code is returned.<br>
|
|
151
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
152
|
+
*
|
|
153
|
+
*@detaileddesc
|
|
154
|
+
*@ENG_START_DOX @details The VRAM frequency range and the VRAM voltage range are applicable to all the VRAM states on this GPU. @ENG_END_DOX
|
|
155
|
+
*
|
|
156
|
+
*@copydoc IADLXManualVRAMTuning1_REQ_TABLE
|
|
157
|
+
*
|
|
158
|
+
*/
|
|
159
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetVRAMTuningRanges (ADLX_IntRange* frequencyRange, ADLX_IntRange* voltageRange) = 0;
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
*@page DOX_IADLXManualVRAMTuning1_GetVRAMTuningStates GetVRAMTuningStates
|
|
163
|
+
*@ENG_START_DOX @brief Gets the reference counted list of current VRAM tuning states on a GPU. @ENG_END_DOX
|
|
164
|
+
*
|
|
165
|
+
*@syntax
|
|
166
|
+
*@codeStart
|
|
167
|
+
* @ref ADLX_RESULT GetVRAMTuningStates (@ref DOX_IADLXManualTuningStateList** ppVRAMStates)
|
|
168
|
+
*@codeEnd
|
|
169
|
+
*
|
|
170
|
+
*@params
|
|
171
|
+
*@paramrow{1.,[out],ppVRAMStates,@ref DOX_IADLXManualTuningStateList**,@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 __*ppVRAMStates__ to __nullptr__. @ENG_END_DOX}
|
|
172
|
+
*
|
|
173
|
+
*@retvalues
|
|
174
|
+
*@ENG_START_DOX If the list of VRAM tuning states is successfully returned, __ADLX_OK__ is returned.<br>
|
|
175
|
+
* If the list of VRAM tuning states is not successfully returned, an error code is returned.<br>
|
|
176
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
177
|
+
*
|
|
178
|
+
*@detaileddesc
|
|
179
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
|
|
180
|
+
*
|
|
181
|
+
*@addinfo
|
|
182
|
+
*@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
|
|
183
|
+
*
|
|
184
|
+
*@copydoc IADLXManualVRAMTuning1_REQ_TABLE
|
|
185
|
+
*
|
|
186
|
+
*/
|
|
187
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetVRAMTuningStates (IADLXManualTuningStateList** ppVRAMStates) = 0;
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
*@page DOX_IADLXManualVRAMTuning1_GetEmptyVRAMTuningStates GetEmptyVRAMTuningStates
|
|
191
|
+
*@ENG_START_DOX @brief Gets the reference counted list of empty VRAM tuning states on a GPU. @ENG_END_DOX
|
|
192
|
+
*
|
|
193
|
+
*@syntax
|
|
194
|
+
*@codeStart
|
|
195
|
+
* @ref ADLX_RESULT GetEmptyVRAMTuningStates (@ref DOX_IADLXManualTuningStateList** ppVRAMStates)
|
|
196
|
+
*@codeEnd
|
|
197
|
+
*
|
|
198
|
+
*@params
|
|
199
|
+
*@paramrow{1.,[out],ppVRAMStates,@ref DOX_IADLXManualTuningStateList**,@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 __*ppVRAMStates__ to __nullptr__. @ENG_END_DOX}
|
|
200
|
+
*
|
|
201
|
+
*@retvalues
|
|
202
|
+
*@ENG_START_DOX If the list of empty VRAM tuning states is successfully returned, __ADLX_OK__ is returned.<br>
|
|
203
|
+
* If the list of empty VRAM tuning states is not successfully returned, an error code is returned.<br>
|
|
204
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
205
|
+
*
|
|
206
|
+
*@detaileddesc
|
|
207
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
|
|
208
|
+
*
|
|
209
|
+
*@addinfo
|
|
210
|
+
*@ENG_START_DOX All the value in this list are zero.
|
|
211
|
+
* 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
|
|
212
|
+
*
|
|
213
|
+
*@copydoc IADLXManualVRAMTuning1_REQ_TABLE
|
|
214
|
+
*
|
|
215
|
+
*/
|
|
216
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetEmptyVRAMTuningStates (IADLXManualTuningStateList** ppVRAMStates) = 0;
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
*@page DOX_IADLXManualVRAMTuning1_IsValidVRAMTuningStates IsValidVRAMTuningStates
|
|
220
|
+
*@ENG_START_DOX @brief Checks the validity of listed VRAM tuning states on a GPU. @ENG_END_DOX
|
|
221
|
+
*
|
|
222
|
+
*@syntax
|
|
223
|
+
*@codeStart
|
|
224
|
+
* @ref ADLX_RESULT IsValidVRAMTuningStates (@ref DOX_IADLXManualTuningStateList* pVRAMStates, adlx_int* errorIndex)
|
|
225
|
+
*@codeEnd
|
|
226
|
+
*
|
|
227
|
+
*@params
|
|
228
|
+
*@paramrow{1.,[in],pVRAMStates,@ref DOX_IADLXManualTuningStateList*,@ENG_START_DOX The pointer to the VRAM states list interface. @ENG_END_DOX}
|
|
229
|
+
*@paramrow{2.,[out],errorIndex,adlx_int*,@ENG_START_DOX The pointer to a variable where the invalid states index is returned. @ENG_END_DOX}
|
|
230
|
+
*
|
|
231
|
+
*@retvalues
|
|
232
|
+
*@ENG_START_DOX If __IsValidVRAMTuningStates__ is successfully executed, __ADLX_OK__ is returned.<br>
|
|
233
|
+
* If __IsValidVRAMTuningStates__ is not successfully executed, an error code is returned.<br>
|
|
234
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
235
|
+
*
|
|
236
|
+
*@detaileddesc
|
|
237
|
+
*@ENG_START_DOX @details If the __*pVRAMStates__ is valid then the method sets the __errorIndex__ to -1. @ENG_END_DOX
|
|
238
|
+
*
|
|
239
|
+
*@copydoc IADLXManualVRAMTuning1_REQ_TABLE
|
|
240
|
+
*
|
|
241
|
+
*/
|
|
242
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsValidVRAMTuningStates (IADLXManualTuningStateList* pVRAMStates, adlx_int* errorIndex) = 0;
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
*@page DOX_IADLXManualVRAMTuning1_SetVRAMTuningStates SetVRAMTuningStates
|
|
246
|
+
*@ENG_START_DOX @brief Sets listed VRAM states to the tuning state on a GPU. @ENG_END_DOX
|
|
247
|
+
*
|
|
248
|
+
*@syntax
|
|
249
|
+
*@codeStart
|
|
250
|
+
* @ref ADLX_RESULT SetVRAMTuningStates (@ref DOX_IADLXManualTuningStateList* pVRAMStates)
|
|
251
|
+
*@codeEnd
|
|
252
|
+
*
|
|
253
|
+
*@params
|
|
254
|
+
*@paramrow{1.,[in],pVRAMStates,@ref DOX_IADLXManualTuningStateList*,@ENG_START_DOX The pointer to the VRAM states list interface. @ENG_END_DOX}
|
|
255
|
+
*
|
|
256
|
+
*@retvalues
|
|
257
|
+
*@ENG_START_DOX If the VRAM tuning states are successfully set, __ADLX_OK__ is returned.<br>
|
|
258
|
+
* If the VRAM tuning states are not successfully set, an error code is returned.<br>
|
|
259
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
260
|
+
*
|
|
261
|
+
*@copydoc IADLXManualVRAMTuning1_REQ_TABLE
|
|
262
|
+
*
|
|
263
|
+
*/
|
|
264
|
+
virtual ADLX_RESULT ADLX_STD_CALL SetVRAMTuningStates (IADLXManualTuningStateList* pVRAMStates) = 0;
|
|
265
|
+
};
|
|
266
|
+
//----------------------------------------------------------------------------------------------
|
|
267
|
+
typedef IADLXInterfacePtr_T<IADLXManualVRAMTuning1> IADLXManualVRAMTuning1Ptr;
|
|
268
|
+
} //namespace adlx
|
|
269
|
+
#else //__cplusplus
|
|
270
|
+
|
|
271
|
+
ADLX_DECLARE_IID (IADLXManualVRAMTuning1, L"IADLXManualVRAMTuning1")
|
|
272
|
+
typedef struct IADLXManualVRAMTuning1 IADLXManualVRAMTuning1;
|
|
273
|
+
typedef struct IADLXManualTuningStateList IADLXManualTuningStateList;
|
|
274
|
+
typedef struct IADLXMemoryTimingDescriptionList IADLXMemoryTimingDescriptionList;
|
|
275
|
+
typedef struct IADLXManualVRAMTuning1Vtbl
|
|
276
|
+
{
|
|
277
|
+
//IADLXInterface
|
|
278
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXManualVRAMTuning1* pThis);
|
|
279
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXManualVRAMTuning1* pThis);
|
|
280
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXManualVRAMTuning1* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
281
|
+
|
|
282
|
+
//IADLXManualVRAMTuning1
|
|
283
|
+
ADLX_RESULT (ADLX_STD_CALL *IsSupportedMemoryTiming)(IADLXManualVRAMTuning1* pThis, adlx_bool* supported);
|
|
284
|
+
ADLX_RESULT (ADLX_STD_CALL *GetSupportedMemoryTimingDescriptionList)(IADLXManualVRAMTuning1* pThis, IADLXMemoryTimingDescriptionList** ppDescriptionList);
|
|
285
|
+
ADLX_RESULT (ADLX_STD_CALL *GetMemoryTimingDescription)(IADLXManualVRAMTuning1* pThis, ADLX_MEMORYTIMING_DESCRIPTION* description);
|
|
286
|
+
ADLX_RESULT (ADLX_STD_CALL *SetMemoryTimingDescription)(IADLXManualVRAMTuning1* pThis, ADLX_MEMORYTIMING_DESCRIPTION description);
|
|
287
|
+
|
|
288
|
+
ADLX_RESULT (ADLX_STD_CALL *GetVRAMTuningRanges)(IADLXManualVRAMTuning1* pThis, ADLX_IntRange* frequencyRange, ADLX_IntRange* voltageRange);
|
|
289
|
+
ADLX_RESULT (ADLX_STD_CALL *GetVRAMTuningStates)(IADLXManualVRAMTuning1* pThis, IADLXManualTuningStateList** ppVRAMStates);
|
|
290
|
+
ADLX_RESULT (ADLX_STD_CALL *GetEmptyVRAMTuningStates)(IADLXManualVRAMTuning1* pThis, IADLXManualTuningStateList** ppVRAMStates);
|
|
291
|
+
ADLX_RESULT (ADLX_STD_CALL *IsValidVRAMTuningStates)(IADLXManualVRAMTuning1* pThis, IADLXManualTuningStateList* pVRAMStates, adlx_int* errorIndex);
|
|
292
|
+
ADLX_RESULT (ADLX_STD_CALL *SetVRAMTuningStates)(IADLXManualVRAMTuning1* pThis, IADLXManualTuningStateList* pVRAMStates);
|
|
293
|
+
}IADLXManualVRAMTuning1Vtbl;
|
|
294
|
+
|
|
295
|
+
struct IADLXManualVRAMTuning1 { const IADLXManualVRAMTuning1Vtbl *pVtbl; };
|
|
296
|
+
#endif //__cplusplus
|
|
297
|
+
#pragma endregion IADLXManualVRAMTuning1
|
|
298
|
+
|
|
299
|
+
// Manual VRAM Tuning2 for Navi2X
|
|
300
|
+
#pragma region IADLXManualVRAMTuning2
|
|
301
|
+
#if defined (__cplusplus)
|
|
302
|
+
namespace adlx
|
|
303
|
+
{
|
|
304
|
+
class ADLX_NO_VTABLE IADLXManualVRAMTuning2 : public IADLXInterface
|
|
305
|
+
{
|
|
306
|
+
public:
|
|
307
|
+
ADLX_DECLARE_IID (L"IADLXManualVRAMTuning2")
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
*@page DOX_IADLXManualVRAMTuning2_IsSupportedMemoryTiming IsSupportedMemoryTiming
|
|
311
|
+
*@ENG_START_DOX @brief Checks if the memory timing is supported on a GPU. @ENG_END_DOX
|
|
312
|
+
*
|
|
313
|
+
*@syntax
|
|
314
|
+
*@codeStart
|
|
315
|
+
* @ref ADLX_RESULT IsSupportedMemoryTiming (adlx_bool* supported)
|
|
316
|
+
*@codeEnd
|
|
317
|
+
*
|
|
318
|
+
*@params
|
|
319
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of memory timing is returned. The variable is __true__ if memory timing is supported. The variable is __false__ if memory timing is not supported. @ENG_END_DOX}
|
|
320
|
+
*
|
|
321
|
+
*@retvalues
|
|
322
|
+
*@ENG_START_DOX If the state of memory timing is successfully returned, __ADLX_OK__ is returned.<br>
|
|
323
|
+
* If the state of memory timing is not successfully returned, an error code is returned.<br>
|
|
324
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
325
|
+
*
|
|
326
|
+
* @addinfo
|
|
327
|
+
* @ENG_START_DOX
|
|
328
|
+
* Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed.
|
|
329
|
+
* @ENG_END_DOX
|
|
330
|
+
*
|
|
331
|
+
*@copydoc IADLXManualVRAMTuning2_REQ_TABLE
|
|
332
|
+
*
|
|
333
|
+
*/
|
|
334
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedMemoryTiming (adlx_bool* supported) = 0;
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
*@page DOX_IADLXManualVRAMTuning2_GetSupportedMemoryTimingDescriptionList GetSupportedMemoryTimingDescriptionList
|
|
338
|
+
*@ENG_START_DOX @brief Gets the reference counted list of the supported memory timing description on a GPU. @ENG_END_DOX
|
|
339
|
+
*
|
|
340
|
+
*@syntax
|
|
341
|
+
*@codeStart
|
|
342
|
+
* @ref ADLX_RESULT GetSupportedMemoryTimingDescriptionList (@ref DOX_IADLXMemoryTimingDescriptionList** ppDescriptionList)
|
|
343
|
+
*@codeEnd
|
|
344
|
+
*
|
|
345
|
+
*@params
|
|
346
|
+
*@paramrow{1.,[out],ppDescriptionList,@ref DOX_IADLXMemoryTimingDescriptionList**,@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 __*ppDescriptionList__ to __nullptr__. @ENG_END_DOX}
|
|
347
|
+
*
|
|
348
|
+
*@retvalues
|
|
349
|
+
*@ENG_START_DOX If the list of the supported memory timing description is successfully returned, __ADLX_OK__ is returned.<br>
|
|
350
|
+
* If the list of the supported memory timing description is not successfully returned, an error code is returned.<br>
|
|
351
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
352
|
+
*
|
|
353
|
+
*@detaileddesc
|
|
354
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
|
|
355
|
+
*
|
|
356
|
+
*@addinfo
|
|
357
|
+
*@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.
|
|
358
|
+
*
|
|
359
|
+
* Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed. @ENG_END_DOX
|
|
360
|
+
*
|
|
361
|
+
*@copydoc IADLXManualVRAMTuning2_REQ_TABLE
|
|
362
|
+
*
|
|
363
|
+
*/
|
|
364
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetSupportedMemoryTimingDescriptionList (IADLXMemoryTimingDescriptionList** ppDescriptionList) = 0;
|
|
365
|
+
|
|
366
|
+
/**
|
|
367
|
+
*@page DOX_IADLXManualVRAMTuning2_GetMemoryTimingDescription GetMemoryTimingDescription
|
|
368
|
+
*@ENG_START_DOX @brief Gets the current memory timing description on a GPU. @ENG_END_DOX
|
|
369
|
+
*
|
|
370
|
+
*@syntax
|
|
371
|
+
*@codeStart
|
|
372
|
+
* @ref ADLX_RESULT GetMemoryTimingDescription (@ref ADLX_MEMORYTIMING_DESCRIPTION* description)
|
|
373
|
+
*@codeEnd
|
|
374
|
+
*
|
|
375
|
+
*@params
|
|
376
|
+
*@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}
|
|
377
|
+
*
|
|
378
|
+
*@retvalues
|
|
379
|
+
*@ENG_START_DOX If the memory timing description is successfully returned, __ADLX_OK__ is returned.<br>
|
|
380
|
+
* If the memory timing description is not successfully returned, an error code is returned.<br>
|
|
381
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
382
|
+
*
|
|
383
|
+
* @addinfo
|
|
384
|
+
* @ENG_START_DOX
|
|
385
|
+
* Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed.
|
|
386
|
+
* @ENG_END_DOX
|
|
387
|
+
*
|
|
388
|
+
*@copydoc IADLXManualVRAMTuning2_REQ_TABLE
|
|
389
|
+
*
|
|
390
|
+
*/
|
|
391
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetMemoryTimingDescription (ADLX_MEMORYTIMING_DESCRIPTION* description) = 0;
|
|
392
|
+
|
|
393
|
+
/**
|
|
394
|
+
*@page DOX_IADLXManualVRAMTuning2_SetMemoryTimingDescription SetMemoryTimingDescription
|
|
395
|
+
*@ENG_START_DOX @brief Sets the memory timing description on a GPU. @ENG_END_DOX
|
|
396
|
+
*
|
|
397
|
+
*@syntax
|
|
398
|
+
*@codeStart
|
|
399
|
+
* @ref ADLX_RESULT SetMemoryTimingDescription (@ref ADLX_MEMORYTIMING_DESCRIPTION description)
|
|
400
|
+
*@codeEnd
|
|
401
|
+
*
|
|
402
|
+
*@params
|
|
403
|
+
*@paramrow{1.,[in],description,@ref ADLX_MEMORYTIMING_DESCRIPTION,@ENG_START_DOX The new memory timing description. @ENG_END_DOX}
|
|
404
|
+
*
|
|
405
|
+
*@retvalues
|
|
406
|
+
*@ENG_START_DOX If the memory timing description is successfully set, __ADLX_OK__ is returned.<br>
|
|
407
|
+
* If the memory timing description is not successfully set, an error code is returned.<br>
|
|
408
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
409
|
+
*
|
|
410
|
+
* @addinfo
|
|
411
|
+
* @ENG_START_DOX
|
|
412
|
+
* Some GPUs support memory timing presets for VRAM latency control to adjust the video memory clock speed.
|
|
413
|
+
* @ENG_END_DOX
|
|
414
|
+
*
|
|
415
|
+
*@copydoc IADLXManualVRAMTuning2_REQ_TABLE
|
|
416
|
+
*
|
|
417
|
+
*/
|
|
418
|
+
virtual ADLX_RESULT ADLX_STD_CALL SetMemoryTimingDescription (ADLX_MEMORYTIMING_DESCRIPTION description) = 0;
|
|
419
|
+
|
|
420
|
+
/**
|
|
421
|
+
*@page DOX_IADLXManualVRAMTuning2_GetMaxVRAMFrequencyRange GetMaxVRAMFrequencyRange
|
|
422
|
+
*@ENG_START_DOX @brief Gets the maximum VRAM frequency range on a GPU. @ENG_END_DOX
|
|
423
|
+
*
|
|
424
|
+
*@syntax
|
|
425
|
+
*@codeStart
|
|
426
|
+
* @ref ADLX_RESULT GetMaxVRAMFrequencyRange (@ref ADLX_IntRange* tuningRange)
|
|
427
|
+
*@codeEnd
|
|
428
|
+
*
|
|
429
|
+
*@params
|
|
430
|
+
*@paramrow{1.,[out],tuningRange,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the max frequency range (in MHz) is returned. @ENG_END_DOX}
|
|
431
|
+
*
|
|
432
|
+
*@retvalues
|
|
433
|
+
*@ENG_START_DOX If the max frequency range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
434
|
+
* If the max frequency range is not successfully returned, an error code is returned.<br>
|
|
435
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
436
|
+
*
|
|
437
|
+
*@copydoc IADLXManualVRAMTuning2_REQ_TABLE
|
|
438
|
+
*
|
|
439
|
+
*/
|
|
440
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetMaxVRAMFrequencyRange (ADLX_IntRange* tuningRange) = 0;
|
|
441
|
+
|
|
442
|
+
/**
|
|
443
|
+
*@page DOX_IADLXManualVRAMTuning2_GetMaxVRAMFrequency GetMaxVRAMFrequency
|
|
444
|
+
*@ENG_START_DOX @brief Gets the current maximum frequency value of a VRAM on a GPU. @ENG_END_DOX
|
|
445
|
+
*
|
|
446
|
+
*@syntax
|
|
447
|
+
*@codeStart
|
|
448
|
+
* @ref ADLX_RESULT GetMaxVRAMFrequency (adlx_int* freq)
|
|
449
|
+
*@codeEnd
|
|
450
|
+
*
|
|
451
|
+
*@params
|
|
452
|
+
*@paramrow{1.,[out],freq,adlx_int*,@ENG_START_DOX The pointer to a variable where the max frequency value (in MHz) is returned. @ENG_END_DOX}
|
|
453
|
+
*
|
|
454
|
+
*@retvalues
|
|
455
|
+
*@ENG_START_DOX If the max frequency value is successfully returned, __ADLX_OK__ is returned.<br>
|
|
456
|
+
* If the max frequency value is not successfully returned, an error code is returned.<br>
|
|
457
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
458
|
+
*
|
|
459
|
+
*@copydoc IADLXManualVRAMTuning2_REQ_TABLE
|
|
460
|
+
*
|
|
461
|
+
*/
|
|
462
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetMaxVRAMFrequency (adlx_int* freq) = 0;
|
|
463
|
+
|
|
464
|
+
/**
|
|
465
|
+
*@page DOX_IADLXManualVRAMTuning2_SetMaxVRAMFrequency SetMaxVRAMFrequency
|
|
466
|
+
*@ENG_START_DOX @brief Sets the maximum VRAM frequency value on a GPU. @ENG_END_DOX
|
|
467
|
+
*
|
|
468
|
+
*@syntax
|
|
469
|
+
*@codeStart
|
|
470
|
+
* @ref ADLX_RESULT SetMaxVRAMFrequency (adlx_int freq)
|
|
471
|
+
*@codeEnd
|
|
472
|
+
*
|
|
473
|
+
*@params
|
|
474
|
+
*@paramrow{1.,[in],freq,adlx_int,@ENG_START_DOX The new max frequency value (in MHz). @ENG_END_DOX}
|
|
475
|
+
*
|
|
476
|
+
*@retvalues
|
|
477
|
+
*@ENG_START_DOX If the max frequency value is successfully set, __ADLX_OK__ is returned.<br>
|
|
478
|
+
* If the max frequency value is not successfully set, an error code is returned.<br>
|
|
479
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
480
|
+
*
|
|
481
|
+
*@copydoc IADLXManualVRAMTuning2_REQ_TABLE
|
|
482
|
+
*
|
|
483
|
+
*/
|
|
484
|
+
virtual ADLX_RESULT ADLX_STD_CALL SetMaxVRAMFrequency (adlx_int freq) = 0;
|
|
485
|
+
};
|
|
486
|
+
//----------------------------------------------------------------------------------------------
|
|
487
|
+
typedef IADLXInterfacePtr_T<IADLXManualVRAMTuning2> IADLXManualVRAMTuning2Ptr;
|
|
488
|
+
} //namespace adlx
|
|
489
|
+
#else //__cplusplus
|
|
490
|
+
ADLX_DECLARE_IID (IADLXManualVRAMTuning2, L"IADLXManualVRAMTuning2")
|
|
491
|
+
typedef struct IADLXManualVRAMTuning2 IADLXManualVRAMTuning2;
|
|
492
|
+
typedef struct IADLXManualVRAMTuning2Vtbl
|
|
493
|
+
{
|
|
494
|
+
//IADLXInterface
|
|
495
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXManualVRAMTuning2* pThis);
|
|
496
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXManualVRAMTuning2* pThis);
|
|
497
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXManualVRAMTuning2* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
498
|
+
|
|
499
|
+
//IADLXManualVRAMTuning2
|
|
500
|
+
ADLX_RESULT (ADLX_STD_CALL *IsSupportedMemoryTiming)(IADLXManualVRAMTuning2* pThis, adlx_bool* supported);
|
|
501
|
+
ADLX_RESULT (ADLX_STD_CALL *GetSupportedMemoryTimingDescriptionList)(IADLXManualVRAMTuning2* pThis, IADLXMemoryTimingDescriptionList** ppDescriptionList);
|
|
502
|
+
ADLX_RESULT (ADLX_STD_CALL *GetMemoryTimingDescription)(IADLXManualVRAMTuning2* pThis, ADLX_MEMORYTIMING_DESCRIPTION* description);
|
|
503
|
+
ADLX_RESULT (ADLX_STD_CALL *SetMemoryTimingDescription)(IADLXManualVRAMTuning2* pThis, ADLX_MEMORYTIMING_DESCRIPTION description);
|
|
504
|
+
|
|
505
|
+
ADLX_RESULT (ADLX_STD_CALL *GetMaxVRAMFrequencyRange)(IADLXManualVRAMTuning2* pThis, ADLX_IntRange* tuningRange);
|
|
506
|
+
ADLX_RESULT (ADLX_STD_CALL *GetMaxVRAMFrequency)(IADLXManualVRAMTuning2* pThis, adlx_int* freq);
|
|
507
|
+
ADLX_RESULT (ADLX_STD_CALL *SetMaxVRAMFrequency)(IADLXManualVRAMTuning2* pThis, adlx_int freq);
|
|
508
|
+
}IADLXManualVRAMTuning2Vtbl;
|
|
509
|
+
|
|
510
|
+
struct IADLXManualVRAMTuning2 { const IADLXManualVRAMTuning2Vtbl *pVtbl; };
|
|
511
|
+
#endif //__cplusplus
|
|
512
|
+
#pragma endregion IADLXManualVRAMTuning2
|
|
513
|
+
|
|
514
|
+
#pragma region IADLXManualVRAMTuning2_1
|
|
515
|
+
#if defined (__cplusplus)
|
|
516
|
+
namespace adlx
|
|
517
|
+
{
|
|
518
|
+
class ADLX_NO_VTABLE IADLXManualVRAMTuning2_1 : public IADLXManualVRAMTuning2
|
|
519
|
+
{
|
|
520
|
+
public:
|
|
521
|
+
ADLX_DECLARE_IID(L"IADLXManualVRAMTuning2_1")
|
|
522
|
+
|
|
523
|
+
/**
|
|
524
|
+
*@page DOX_IADLXManualVRAMTuning2_1_GetMaxVRAMFrequencyDefault GetMaxVRAMFrequencyDefault
|
|
525
|
+
*@ENG_START_DOX @brief Gets the default maximum VRAM frequency on a GPU. @ENG_END_DOX
|
|
526
|
+
*
|
|
527
|
+
*@syntax
|
|
528
|
+
*@codeStart
|
|
529
|
+
* @ref ADLX_RESULT GetMaxVRAMFrequencyDefault (adlx_int* defaultVal)
|
|
530
|
+
*@codeEnd
|
|
531
|
+
*
|
|
532
|
+
*@params
|
|
533
|
+
*@paramrow{1.,[out],defaultVal,adlx_int*,@ENG_START_DOX The pointer to a variable where the default max frequency (in MHz) is returned. @ENG_END_DOX}
|
|
534
|
+
*
|
|
535
|
+
*@retvalues
|
|
536
|
+
*@ENG_START_DOX If the default max frequency is successfully returned, __ADLX_OK__ is returned.<br>
|
|
537
|
+
* If the default max frequency is not successfully returned, an error code is returned.<br>
|
|
538
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
539
|
+
*
|
|
540
|
+
*@copydoc IADLXManualVRAMTuning2_1_REQ_TABLE
|
|
541
|
+
*
|
|
542
|
+
*/
|
|
543
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetMaxVRAMFrequencyDefault(adlx_int* defaultVal) = 0;
|
|
544
|
+
};
|
|
545
|
+
//----------------------------------------------------------------------------------------------
|
|
546
|
+
typedef IADLXInterfacePtr_T<IADLXManualVRAMTuning2_1> IADLXManualVRAMTuning2_1Ptr;
|
|
547
|
+
} //namespace adlx
|
|
548
|
+
#else //__cplusplus
|
|
549
|
+
ADLX_DECLARE_IID(IADLXManualVRAMTuning2_1, L"IADLXManualVRAMTuning2_1")
|
|
550
|
+
typedef struct IADLXManualVRAMTuning2_1 IADLXManualVRAMTuning2_1;
|
|
551
|
+
typedef struct IADLXManualVRAMTuning2_1Vtbl
|
|
552
|
+
{
|
|
553
|
+
//IADLXInterface
|
|
554
|
+
adlx_long(ADLX_STD_CALL* Acquire)(IADLXManualVRAMTuning2_1* pThis);
|
|
555
|
+
adlx_long(ADLX_STD_CALL* Release)(IADLXManualVRAMTuning2_1* pThis);
|
|
556
|
+
ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXManualVRAMTuning2_1* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
557
|
+
|
|
558
|
+
//IADLXManualVRAMTuning2
|
|
559
|
+
ADLX_RESULT(ADLX_STD_CALL* IsSupportedMemoryTiming)(IADLXManualVRAMTuning2_1* pThis, adlx_bool* supported);
|
|
560
|
+
ADLX_RESULT(ADLX_STD_CALL* GetSupportedMemoryTimingDescriptionList)(IADLXManualVRAMTuning2_1* pThis, IADLXMemoryTimingDescriptionList** ppDescriptionList);
|
|
561
|
+
ADLX_RESULT(ADLX_STD_CALL* GetMemoryTimingDescription)(IADLXManualVRAMTuning2_1* pThis, ADLX_MEMORYTIMING_DESCRIPTION* description);
|
|
562
|
+
ADLX_RESULT(ADLX_STD_CALL* SetMemoryTimingDescription)(IADLXManualVRAMTuning2_1* pThis, ADLX_MEMORYTIMING_DESCRIPTION description);
|
|
563
|
+
|
|
564
|
+
ADLX_RESULT(ADLX_STD_CALL* GetMaxVRAMFrequencyRange)(IADLXManualVRAMTuning2_1* pThis, ADLX_IntRange* tuningRange);
|
|
565
|
+
ADLX_RESULT(ADLX_STD_CALL* GetMaxVRAMFrequency)(IADLXManualVRAMTuning2_1* pThis, adlx_int* freq);
|
|
566
|
+
ADLX_RESULT(ADLX_STD_CALL* SetMaxVRAMFrequency)(IADLXManualVRAMTuning2_1* pThis, adlx_int freq);
|
|
567
|
+
|
|
568
|
+
//IADLXManualVRAMTuning2_1
|
|
569
|
+
ADLX_RESULT(ADLX_STD_CALL* GetMaxVRAMFrequencyDefault)(IADLXManualVRAMTuning2_1* pThis, adlx_int* defaultVal);
|
|
570
|
+
}IADLXManualVRAMTuning2_1Vtbl;
|
|
571
|
+
|
|
572
|
+
struct IADLXManualVRAMTuning2_1 { const IADLXManualVRAMTuning2_1Vtbl* pVtbl; };
|
|
573
|
+
#endif //__cplusplus
|
|
574
|
+
#pragma endregion IADLXManualVRAMTuning2_1
|
|
575
|
+
|
|
576
|
+
#endif//ADLX_IGPUMANUALVRAMTUNING_H
|