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,2520 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright (c) 2021 - 2025 Advanced Micro Devices, Inc. All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
//-------------------------------------------------------------------------------------------------
|
|
5
|
+
|
|
6
|
+
#ifndef ADLX_IPERFORMANCEMONITORING_H
|
|
7
|
+
#define ADLX_IPERFORMANCEMONITORING_H
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "ADLXStructures.h"
|
|
11
|
+
#include "ICollections.h"
|
|
12
|
+
|
|
13
|
+
//-------------------------------------------------------------------------------------------------
|
|
14
|
+
//IPerformanceMonitoring.h - Interfaces for ADLX Performance Monitoring functionality
|
|
15
|
+
#pragma region IADLXGPUMetricsSupport
|
|
16
|
+
#if defined (__cplusplus)
|
|
17
|
+
namespace adlx
|
|
18
|
+
{
|
|
19
|
+
class ADLX_NO_VTABLE IADLXGPUMetricsSupport : public IADLXInterface
|
|
20
|
+
{
|
|
21
|
+
public:
|
|
22
|
+
ADLX_DECLARE_IID (L"IADLXGPUMetricsSupport")
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
*@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUUsage IsSupportedGPUUsage
|
|
26
|
+
*@ENG_START_DOX @brief Checks if the GPU usage metric reporting is supported on a GPU. @ENG_END_DOX
|
|
27
|
+
*
|
|
28
|
+
*@syntax
|
|
29
|
+
*@codeStart
|
|
30
|
+
* @ref ADLX_RESULT IsSupportedGPUUsage (adlx_bool* supported)
|
|
31
|
+
*@codeEnd
|
|
32
|
+
*
|
|
33
|
+
*@params
|
|
34
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU usage metric reporting is returned. The variable is __true__ if the GPU usage metric reporting is supported\. The variable is __false__ if the GPU usage metric reporting is not supported. @ENG_END_DOX}
|
|
35
|
+
*
|
|
36
|
+
*@retvalues
|
|
37
|
+
*@ENG_START_DOX If the state of GPU usage metric reporting is successfully returned, __ADLX_OK__ is returned. <br>
|
|
38
|
+
*If the state of GPU usage metric reporting is not successfully returned, an error code is returned. <br>
|
|
39
|
+
*Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
40
|
+
*
|
|
41
|
+
*
|
|
42
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
43
|
+
*
|
|
44
|
+
*/
|
|
45
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUUsage (adlx_bool* supported) = 0;
|
|
46
|
+
/**
|
|
47
|
+
*@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUClockSpeed IsSupportedGPUClockSpeed
|
|
48
|
+
*@ENG_START_DOX @brief Checks if the GPU clock speed metric reporting is supported on a GPU. @ENG_END_DOX
|
|
49
|
+
*
|
|
50
|
+
*@syntax
|
|
51
|
+
*@codeStart
|
|
52
|
+
* @ref ADLX_RESULT IsSupportedGPUClockSpeed (adlx_bool* supported)
|
|
53
|
+
*@codeEnd
|
|
54
|
+
*
|
|
55
|
+
*@params
|
|
56
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU clock speed metric reporting is returned. The variable is __true__ if the GPU clock speed metric reporting is supported\. The variable is __false__ if the GPU clock speed metric reporting is not supported. @ENG_END_DOX}
|
|
57
|
+
*
|
|
58
|
+
*@retvalues
|
|
59
|
+
*@ENG_START_DOX If the state of GPU clock speed metric reporting is successfully returned, __ADLX_OK__ is returned. <br>
|
|
60
|
+
*If the state of GPU clock speed metric reporting is not successfully returned, an error code is returned. <br>
|
|
61
|
+
*Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
62
|
+
*
|
|
63
|
+
*
|
|
64
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
65
|
+
*
|
|
66
|
+
*/
|
|
67
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUClockSpeed (adlx_bool* supported) = 0;
|
|
68
|
+
/**
|
|
69
|
+
*@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUVRAMClockSpeed IsSupportedGPUVRAMClockSpeed
|
|
70
|
+
*@ENG_START_DOX @brief Checks if the GPU memory clock speed metric reporting is supported on a GPU. @ENG_END_DOX
|
|
71
|
+
*
|
|
72
|
+
*@syntax
|
|
73
|
+
*@codeStart
|
|
74
|
+
* @ref ADLX_RESULT IsSupportedGPUVRAMClockSpeed (adlx_bool* supported)
|
|
75
|
+
*@codeEnd
|
|
76
|
+
*
|
|
77
|
+
*@params
|
|
78
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU memory clock speed metric reporting is returned. The variable is __true__ if the GPU memory clock speed metric reporting is supported\. The variable is __false__ if the GPU memory clock speed metric reporting is not supported. @ENG_END_DOX}
|
|
79
|
+
*
|
|
80
|
+
*@retvalues
|
|
81
|
+
*@ENG_START_DOX If the state of GPU memory clock speed metric reporting is successfully returned, __ADLX_OK__ is returned. <br>
|
|
82
|
+
*If the state of GPU memory clock speed metric reporting is not successfully returned, an error code is returned. <br>
|
|
83
|
+
*Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
84
|
+
*
|
|
85
|
+
*
|
|
86
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
87
|
+
*
|
|
88
|
+
*/
|
|
89
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUVRAMClockSpeed (adlx_bool* supported) = 0;
|
|
90
|
+
/**
|
|
91
|
+
*@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUTemperature IsSupportedGPUTemperature
|
|
92
|
+
*@ENG_START_DOX @brief Checks if the GPU temperature metric reporting is supported on a GPU. @ENG_END_DOX
|
|
93
|
+
*
|
|
94
|
+
*@syntax
|
|
95
|
+
*@codeStart
|
|
96
|
+
* @ref ADLX_RESULT IsSupportedGPUTemperature (adlx_bool* supported)
|
|
97
|
+
*@codeEnd
|
|
98
|
+
*
|
|
99
|
+
*@params
|
|
100
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU temperature metric reporting is returned. The variable is __true__ if the GPU temperature metric reporting is supported\. The variable is __false__ if the GPU temperature metric reporting is not supported. @ENG_END_DOX}
|
|
101
|
+
*
|
|
102
|
+
*@retvalues
|
|
103
|
+
*@ENG_START_DOX If the state of GPU temperature metric reporting is successfully returned, __ADLX_OK__ is returned. <br>
|
|
104
|
+
*If the state of GPU temperature metric reporting is not successfully returned, an error code is returned. <br>
|
|
105
|
+
*Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
106
|
+
*
|
|
107
|
+
*
|
|
108
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
109
|
+
*
|
|
110
|
+
*/
|
|
111
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUTemperature (adlx_bool* supported) = 0;
|
|
112
|
+
/**
|
|
113
|
+
*@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUHotspotTemperature IsSupportedGPUHotspotTemperature
|
|
114
|
+
*@ENG_START_DOX @brief Checks if the GPU hotspot temperature metric reporting is supported on a GPU. @ENG_END_DOX
|
|
115
|
+
*
|
|
116
|
+
*@syntax
|
|
117
|
+
*@codeStart
|
|
118
|
+
* @ref ADLX_RESULT IsSupportedGPUHotspotTemperature (adlx_bool* supported)
|
|
119
|
+
*@codeEnd
|
|
120
|
+
*
|
|
121
|
+
*@params
|
|
122
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU temperature metric reporting is returned. The variable is __true__ if the GPU hotspot temperature metric reporting is supported\. The variable is __false__ if the GPU hotspot temperature metric reporting is not supported. @ENG_END_DOX}
|
|
123
|
+
*
|
|
124
|
+
*@retvalues
|
|
125
|
+
*@ENG_START_DOX If the state of GPU hotspot temperature metric reporting is successfully returned, __ADLX_OK__ is returned. <br>
|
|
126
|
+
*If the state of GPU hotspot temperature metric reporting is not successfully returned, an error code is returned. <br>
|
|
127
|
+
*Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
128
|
+
*
|
|
129
|
+
*
|
|
130
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
131
|
+
*
|
|
132
|
+
*/
|
|
133
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUHotspotTemperature (adlx_bool* supported) = 0;
|
|
134
|
+
/**
|
|
135
|
+
*@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUPower IsSupportedGPUPower
|
|
136
|
+
*@ENG_START_DOX @brief Checks if the GPU power metric reporting is supported on a GPU. @ENG_END_DOX
|
|
137
|
+
*
|
|
138
|
+
*@syntax
|
|
139
|
+
*@codeStart
|
|
140
|
+
* @ref ADLX_RESULT IsSupportedGPUPower (adlx_bool* supported)
|
|
141
|
+
*@codeEnd
|
|
142
|
+
*
|
|
143
|
+
*@params
|
|
144
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU power metric reporting is returned. The variable is __true__ if the GPU power metric reporting is supported\. The variable is __false__ if the GPU power metric reporting is not supported. @ENG_END_DOX}
|
|
145
|
+
*
|
|
146
|
+
*@retvalues
|
|
147
|
+
*@ENG_START_DOX If the state of GPU power metric reporting is successfully returned, __ADLX_OK__ is returned. <br>
|
|
148
|
+
*If the state of GPU power metric reporting is not successfully returned, an error code is returned. <br>
|
|
149
|
+
*Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
150
|
+
*
|
|
151
|
+
*
|
|
152
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
153
|
+
*
|
|
154
|
+
*/
|
|
155
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUPower (adlx_bool* supported) = 0;
|
|
156
|
+
/**
|
|
157
|
+
*@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUTotalBoardPower IsSupportedGPUTotalBoardPower
|
|
158
|
+
*@ENG_START_DOX @brief Checks if the GPU total board power metric reporting is supported on a GPU. @ENG_END_DOX
|
|
159
|
+
*
|
|
160
|
+
*@syntax
|
|
161
|
+
*@codeStart
|
|
162
|
+
* @ref ADLX_RESULT IsSupportedGPUTotalBoardPower (adlx_bool* supported)
|
|
163
|
+
*@codeEnd
|
|
164
|
+
*
|
|
165
|
+
*@params
|
|
166
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU total board power metric reporting is returned. The variable is __true__ if the GPU total board power metric reporting is supported\. The variable is __false__ if the GPU total board power metric reporting is not supported. @ENG_END_DOX}
|
|
167
|
+
*
|
|
168
|
+
*@retvalues
|
|
169
|
+
*@ENG_START_DOX If the state of GPU total board power metric reporting is successfully returned, __ADLX_OK__ is returned. <br>
|
|
170
|
+
*If the state of GPU total board power metric reporting is not successfully returned, an error code is returned. <br>
|
|
171
|
+
*Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
172
|
+
*
|
|
173
|
+
*
|
|
174
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
175
|
+
*
|
|
176
|
+
*/
|
|
177
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUTotalBoardPower(adlx_bool* supported) = 0;
|
|
178
|
+
/**
|
|
179
|
+
*@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUFanSpeed IsSupportedGPUFanSpeed
|
|
180
|
+
*@ENG_START_DOX @brief Checks if the GPU fan speed metric reporting is supported on a GPU. @ENG_END_DOX
|
|
181
|
+
*
|
|
182
|
+
*@syntax
|
|
183
|
+
*@codeStart
|
|
184
|
+
* @ref ADLX_RESULT IsSupportedGPUFanSpeed (adlx_bool* supported)
|
|
185
|
+
*@codeEnd
|
|
186
|
+
*
|
|
187
|
+
*@params
|
|
188
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU fan speed metric reporting is returned. The variable is __true__ if the GPU fan speed metric reporting is supported\. The variable is __false__ if the GPU fan speed metric reporting is not supported. @ENG_END_DOX}
|
|
189
|
+
*
|
|
190
|
+
*@retvalues
|
|
191
|
+
*@ENG_START_DOX If the state of GPU fan speed metric reporting is successfully returned, __ADLX_OK__ is returned. <br>
|
|
192
|
+
*If the state of GPU fan speed metric reporting is not successfully returned, an error code is returned. <br>
|
|
193
|
+
*Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
194
|
+
*
|
|
195
|
+
*
|
|
196
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
197
|
+
*
|
|
198
|
+
*/
|
|
199
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUFanSpeed (adlx_bool* supported) = 0;
|
|
200
|
+
/**
|
|
201
|
+
*@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUVRAM IsSupportedGPUVRAM
|
|
202
|
+
*@ENG_START_DOX @brief Checks if the GPU VRAM usage metric reporting is supported on a GPU. @ENG_END_DOX
|
|
203
|
+
*
|
|
204
|
+
*@syntax
|
|
205
|
+
*@codeStart
|
|
206
|
+
* @ref ADLX_RESULT IsSupportedGPUVRAM (adlx_bool* supported)
|
|
207
|
+
*@codeEnd
|
|
208
|
+
*
|
|
209
|
+
*@params
|
|
210
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU VRAM usage metric reporting is returned. The variable is __true__ if the GPU VRAM usage metric reporting is supported. The variable is __false__ if the GPU VRAM usage metric reporting is not supported. @ENG_END_DOX}
|
|
211
|
+
*
|
|
212
|
+
*@retvalues
|
|
213
|
+
*@ENG_START_DOX If the state of GPU VRAM usage metric reporting is successfully returned, __ADLX_OK__ is returned. <br>
|
|
214
|
+
*If the state of GPU VRAM usage metric reporting is not successfully returned, an error code is returned. <br>
|
|
215
|
+
*Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
216
|
+
*
|
|
217
|
+
*
|
|
218
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
219
|
+
*
|
|
220
|
+
*/
|
|
221
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUVRAM (adlx_bool* supported) = 0;
|
|
222
|
+
/**
|
|
223
|
+
*@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUVoltage IsSupportedGPUVoltage
|
|
224
|
+
*@ENG_START_DOX @brief Checks if the GPU voltage metric reporting is supported on a GPU. @ENG_END_DOX
|
|
225
|
+
*
|
|
226
|
+
*@syntax
|
|
227
|
+
*@codeStart
|
|
228
|
+
* @ref ADLX_RESULT IsSupportedGPUVoltage (adlx_bool* supported)
|
|
229
|
+
*@codeEnd
|
|
230
|
+
*
|
|
231
|
+
*@params
|
|
232
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU voltage metric reporting is returned. The variable is __true__ if the GPU voltage metric reporting is supported. The variable is __false__ if the GPU voltage metric reporting is not supported. @ENG_END_DOX}
|
|
233
|
+
*
|
|
234
|
+
*@retvalues
|
|
235
|
+
*@ENG_START_DOX If the state of GPU voltage metric reporting is successfully returned, __ADLX_OK__ is returned. <br>
|
|
236
|
+
*If the state of GPU voltage metric reporting is not successfully returned, an error code is returned. <br>
|
|
237
|
+
*Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
238
|
+
*
|
|
239
|
+
*
|
|
240
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
241
|
+
*
|
|
242
|
+
*/
|
|
243
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUVoltage (adlx_bool* supported) = 0;
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
*@page DOX_IADLXGPUMetricsSupport_GetGPUUsageRange GetGPUUsageRange
|
|
247
|
+
*@ENG_START_DOX @brief Gets the minimum and maximum GPU usage on a GPU. @ENG_END_DOX
|
|
248
|
+
*
|
|
249
|
+
*@syntax
|
|
250
|
+
*@codeStart
|
|
251
|
+
* @ref ADLX_RESULT GetGPUUsageRange (adlx_int* minValue, adlx_int* maxValue)
|
|
252
|
+
*@codeEnd
|
|
253
|
+
*
|
|
254
|
+
*@params
|
|
255
|
+
* @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU usage (in %) is returned. @ENG_END_DOX}
|
|
256
|
+
* @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU usage (in %) is returned. @ENG_END_DOX}
|
|
257
|
+
*
|
|
258
|
+
*@retvalues
|
|
259
|
+
*@ENG_START_DOX If the GPU usage range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
260
|
+
* If the GPU usage range is not successfully returned, an error code is returned.<br>
|
|
261
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
262
|
+
*
|
|
263
|
+
*@detaileddesc
|
|
264
|
+
*@ENG_START_DOX @details The minimum and maximum GPU usage are read only. @ENG_END_DOX
|
|
265
|
+
*
|
|
266
|
+
*
|
|
267
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
268
|
+
*
|
|
269
|
+
*/
|
|
270
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetGPUUsageRange (adlx_int* minValue, adlx_int* maxValue) = 0;
|
|
271
|
+
/**
|
|
272
|
+
*@page DOX_IADLXGPUMetricsSupport_GetGPUClockSpeedRange GetGPUClockSpeedRange
|
|
273
|
+
*@ENG_START_DOX @brief Gets the minimum and maximum GPU clock speed on a GPU. @ENG_END_DOX
|
|
274
|
+
*
|
|
275
|
+
*@syntax
|
|
276
|
+
*@codeStart
|
|
277
|
+
* @ref ADLX_RESULT GetGPUClockSpeedRange (adlx_int* minValue, adlx_int* maxValue)
|
|
278
|
+
*@codeEnd
|
|
279
|
+
*
|
|
280
|
+
*@params
|
|
281
|
+
* @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU clock speed (in MHz) is returned. @ENG_END_DOX}
|
|
282
|
+
* @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU clock speed (in MHz) is returned. @ENG_END_DOX}
|
|
283
|
+
*
|
|
284
|
+
*@retvalues
|
|
285
|
+
*@ENG_START_DOX If the GPU clock speed range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
286
|
+
* If the GPU clock speed range is not successfully returned, an error code is returned.<br>
|
|
287
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
288
|
+
*
|
|
289
|
+
*@detaileddesc
|
|
290
|
+
*@ENG_START_DOX @details The minimum and maximum GPU clock speed are read only. @ENG_END_DOX
|
|
291
|
+
*
|
|
292
|
+
*
|
|
293
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
294
|
+
*
|
|
295
|
+
*/
|
|
296
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetGPUClockSpeedRange (adlx_int* minValue, adlx_int* maxValue) = 0;
|
|
297
|
+
/**
|
|
298
|
+
*@page DOX_IADLXGPUMetricsSupport_GetGPUVRAMClockSpeedRange GetGPUVRAMClockSpeedRange
|
|
299
|
+
*@ENG_START_DOX @brief Gets the minimum and maximum VRAM clock speed on a GPU. @ENG_END_DOX
|
|
300
|
+
*
|
|
301
|
+
*@syntax
|
|
302
|
+
*@codeStart
|
|
303
|
+
* @ref ADLX_RESULT GetGPUVRAMClockSpeedRange (adlx_int* minValue, adlx_int* maxValue)
|
|
304
|
+
*@codeEnd
|
|
305
|
+
*
|
|
306
|
+
*@params
|
|
307
|
+
* @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum VRAM clock speed (in MHz) is returned. @ENG_END_DOX}
|
|
308
|
+
* @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum VRAM clock speed (in MHz) is returned. @ENG_END_DOX}
|
|
309
|
+
*
|
|
310
|
+
*@retvalues
|
|
311
|
+
*@ENG_START_DOX If the VRAM clock speed range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
312
|
+
* If the VRAM clock speed range is not successfully returned, an error code is returned.<br>
|
|
313
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
314
|
+
*
|
|
315
|
+
*@detaileddesc
|
|
316
|
+
*@ENG_START_DOX @details The minimum and maximum VRAM clock speed are read only. @ENG_END_DOX
|
|
317
|
+
*
|
|
318
|
+
*
|
|
319
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
320
|
+
*
|
|
321
|
+
*/
|
|
322
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetGPUVRAMClockSpeedRange (adlx_int* minValue, adlx_int* maxValue) = 0;
|
|
323
|
+
/**
|
|
324
|
+
*@page DOX_IADLXGPUMetricsSupport_GetGPUTemperatureRange GetGPUTemperatureRange
|
|
325
|
+
*@ENG_START_DOX @brief Gets the minimum and maximum GPU temperature on a GPU. @ENG_END_DOX
|
|
326
|
+
*
|
|
327
|
+
*@syntax
|
|
328
|
+
*@codeStart
|
|
329
|
+
* @ref ADLX_RESULT GetGPUTemperatureRange (adlx_int* minValue, adlx_int* maxValue)
|
|
330
|
+
*@codeEnd
|
|
331
|
+
*
|
|
332
|
+
*@params
|
|
333
|
+
* @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU temperature (in °C) is returned. @ENG_END_DOX}
|
|
334
|
+
* @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU temperature (in °C) is returned. @ENG_END_DOX}
|
|
335
|
+
*
|
|
336
|
+
*@retvalues
|
|
337
|
+
*@ENG_START_DOX If the GPU temperature range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
338
|
+
* If the GPU temperature range is not successfully returned, an error code is returned.<br>
|
|
339
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
340
|
+
*
|
|
341
|
+
*@detaileddesc
|
|
342
|
+
*@ENG_START_DOX @details The minimum and maximum GPU temperature are read only. @ENG_END_DOX
|
|
343
|
+
*
|
|
344
|
+
*
|
|
345
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
346
|
+
*
|
|
347
|
+
*/
|
|
348
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetGPUTemperatureRange (adlx_int* minValue, adlx_int* maxValue) = 0;
|
|
349
|
+
/**
|
|
350
|
+
*@page DOX_IADLXGPUMetricsSupport_GetGPUHotspotTemperatureRange GetGPUHotspotTemperatureRange
|
|
351
|
+
*@ENG_START_DOX @brief Gets the minimum and maximum GPU hotspot temperature on a GPU. @ENG_END_DOX
|
|
352
|
+
*
|
|
353
|
+
*@syntax
|
|
354
|
+
*@codeStart
|
|
355
|
+
* @ref ADLX_RESULT GetGPUHotspotTemperatureRange (adlx_int* minValue, adlx_int* maxValue)
|
|
356
|
+
*@codeEnd
|
|
357
|
+
*
|
|
358
|
+
*@params
|
|
359
|
+
* @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU hotspot temperature (in °C) is returned. @ENG_END_DOX}
|
|
360
|
+
* @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU hotspot temperature (in °C) is returned. @ENG_END_DOX}
|
|
361
|
+
*
|
|
362
|
+
*@retvalues
|
|
363
|
+
*@ENG_START_DOX If the GPU hotspot temperature range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
364
|
+
* If the GPU hotspot temperature range is not successfully returned, an error code is returned.<br>
|
|
365
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
366
|
+
*
|
|
367
|
+
*@detaileddesc
|
|
368
|
+
*@ENG_START_DOX @details The minimum and maximum GPU hotspot temperature are read only. @ENG_END_DOX
|
|
369
|
+
*
|
|
370
|
+
*
|
|
371
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
372
|
+
*
|
|
373
|
+
*/
|
|
374
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetGPUHotspotTemperatureRange (adlx_int* minValue, adlx_int* maxValue) = 0;
|
|
375
|
+
/**
|
|
376
|
+
*@page DOX_IADLXGPUMetricsSupport_GetGPUPowerRange GetGPUPowerRange
|
|
377
|
+
*@ENG_START_DOX @brief Gets the minimum and maximum GPU power consumption on a GPU. @ENG_END_DOX
|
|
378
|
+
*
|
|
379
|
+
*@syntax
|
|
380
|
+
*@codeStart
|
|
381
|
+
* @ref ADLX_RESULT GetGPUPowerRange (adlx_int* minValue, adlx_int* maxValue)
|
|
382
|
+
*@codeEnd
|
|
383
|
+
*
|
|
384
|
+
*@params
|
|
385
|
+
* @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU power consumption (in W) is returned. @ENG_END_DOX}
|
|
386
|
+
* @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU power consumption (in W) is returned. @ENG_END_DOX}
|
|
387
|
+
*
|
|
388
|
+
*@retvalues
|
|
389
|
+
*@ENG_START_DOX If the GPU power consumption range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
390
|
+
* If the GPU power consumption range is not successfully returned, an error code is returned.<br>
|
|
391
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
392
|
+
*
|
|
393
|
+
*@detaileddesc
|
|
394
|
+
*@ENG_START_DOX @details The minimum and maximum GPU power consumption are read only. @ENG_END_DOX
|
|
395
|
+
*
|
|
396
|
+
*
|
|
397
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
398
|
+
*
|
|
399
|
+
*/
|
|
400
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetGPUPowerRange (adlx_int* minValue, adlx_int* maxValue) = 0;
|
|
401
|
+
/**
|
|
402
|
+
*@page DOX_IADLXGPUMetricsSupport_GetGPUFanSpeedRange GetGPUFanSpeedRange
|
|
403
|
+
*@ENG_START_DOX @brief Gets the minimum and maximum GPU fan speed on a GPU. @ENG_END_DOX
|
|
404
|
+
*
|
|
405
|
+
*@syntax
|
|
406
|
+
*@codeStart
|
|
407
|
+
* @ref ADLX_RESULT GetGPUFanSpeedRange (adlx_int* minValue, adlx_int* maxValue)
|
|
408
|
+
*@codeEnd
|
|
409
|
+
*
|
|
410
|
+
*@params
|
|
411
|
+
* @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU fan speed (in RPM) is returned. @ENG_END_DOX}
|
|
412
|
+
* @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU fan speed (in RPM) is returned. @ENG_END_DOX}
|
|
413
|
+
*
|
|
414
|
+
*@retvalues
|
|
415
|
+
*@ENG_START_DOX If the GPU fan speed range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
416
|
+
* If the GPU fan speed range is not successfully returned, an error code is returned.<br>
|
|
417
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
418
|
+
*
|
|
419
|
+
*@detaileddesc
|
|
420
|
+
*@ENG_START_DOX @details The minimum and maximum GPU fan speed are read only. @ENG_END_DOX
|
|
421
|
+
*
|
|
422
|
+
*
|
|
423
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
424
|
+
*
|
|
425
|
+
*/
|
|
426
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetGPUFanSpeedRange (adlx_int* minValue, adlx_int* maxValue) = 0;
|
|
427
|
+
/**
|
|
428
|
+
*@page DOX_IADLXGPUMetricsSupport_GetGPUVRAMRange GetGPUVRAMRange
|
|
429
|
+
*@ENG_START_DOX @brief Gets the minimum and maximum GPU memory on a GPU. @ENG_END_DOX
|
|
430
|
+
*
|
|
431
|
+
*@syntax
|
|
432
|
+
*@codeStart
|
|
433
|
+
* @ref ADLX_RESULT GetGPUVRAMRange (adlx_int* minValue, adlx_int* maxValue)
|
|
434
|
+
*@codeEnd
|
|
435
|
+
*
|
|
436
|
+
*@params
|
|
437
|
+
* @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU memory (in MB) is returned. @ENG_END_DOX}
|
|
438
|
+
* @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU memory (in MB) is returned. @ENG_END_DOX}
|
|
439
|
+
*
|
|
440
|
+
*@retvalues
|
|
441
|
+
*@ENG_START_DOX If the GPU memory range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
442
|
+
* If the GPU memory range is not successfully returned, an error code is returned.<br>
|
|
443
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
444
|
+
*
|
|
445
|
+
*@detaileddesc
|
|
446
|
+
*@ENG_START_DOX @details The minimum and maximum GPU memory are read only. @ENG_END_DOX
|
|
447
|
+
*
|
|
448
|
+
*
|
|
449
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
450
|
+
*
|
|
451
|
+
*/
|
|
452
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetGPUVRAMRange (adlx_int* minValue, adlx_int* maxValue) = 0;
|
|
453
|
+
/**
|
|
454
|
+
*@page DOX_IADLXGPUMetricsSupport_GetGPUVoltageRange GetGPUVoltageRange
|
|
455
|
+
*@ENG_START_DOX @brief Gets the minimum and maximum GPU voltage on a GPU. @ENG_END_DOX
|
|
456
|
+
*
|
|
457
|
+
*@syntax
|
|
458
|
+
*@codeStart
|
|
459
|
+
* @ref ADLX_RESULT GetGPUVoltageRange (adlx_int* minValue, adlx_int* maxValue)
|
|
460
|
+
*@codeEnd
|
|
461
|
+
*
|
|
462
|
+
*@params
|
|
463
|
+
* @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU voltage (in mV) is returned. @ENG_END_DOX}
|
|
464
|
+
* @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU voltage (in mV) is returned. @ENG_END_DOX}
|
|
465
|
+
*
|
|
466
|
+
*@retvalues
|
|
467
|
+
*@ENG_START_DOX If the GPU voltage range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
468
|
+
* If the GPU voltage range is not successfully returned, an error code is returned.<br>
|
|
469
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
470
|
+
*
|
|
471
|
+
*@detaileddesc
|
|
472
|
+
*@ENG_START_DOX @details The minimum and maximum GPU voltage are read only. @ENG_END_DOX
|
|
473
|
+
*
|
|
474
|
+
*
|
|
475
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
476
|
+
*
|
|
477
|
+
*/
|
|
478
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetGPUVoltageRange (adlx_int* minValue, adlx_int* maxValue) = 0;
|
|
479
|
+
/**
|
|
480
|
+
*@page DOX_IADLXGPUMetricsSupport_GetGPUTotalBoardPowerRange GetGPUTotalBoardPowerRange
|
|
481
|
+
*@ENG_START_DOX @brief Gets the minimum and maximum GPU total board power consumption on a GPU. @ENG_END_DOX
|
|
482
|
+
*
|
|
483
|
+
*@syntax
|
|
484
|
+
*@codeStart
|
|
485
|
+
* @ref ADLX_RESULT GetGPUTotalBoardPowerRange (adlx_int* minValue, adlx_int* maxValue)
|
|
486
|
+
*@codeEnd
|
|
487
|
+
*
|
|
488
|
+
*@params
|
|
489
|
+
* @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU total board power consumption (in W) is returned. @ENG_END_DOX}
|
|
490
|
+
* @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU total board power consumption (in W) is returned. @ENG_END_DOX}
|
|
491
|
+
*
|
|
492
|
+
*@retvalues
|
|
493
|
+
*@ENG_START_DOX If the GPU total board power consumption range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
494
|
+
* If the GPU total board power consumption range is not successfully returned, an error code is returned.<br>
|
|
495
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
496
|
+
*
|
|
497
|
+
*@detaileddesc
|
|
498
|
+
*@ENG_START_DOX @details The minimum and maximum GPU total board power consumption are read only. @ENG_END_DOX
|
|
499
|
+
*
|
|
500
|
+
*
|
|
501
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
502
|
+
*
|
|
503
|
+
*/
|
|
504
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetGPUTotalBoardPowerRange (adlx_int* minValue, adlx_int* maxValue) = 0;
|
|
505
|
+
/**
|
|
506
|
+
*@page DOX_IADLXGPUMetricsSupport_GetGPUIntakeTemperatureRange GetGPUIntakeTemperatureRange
|
|
507
|
+
*@ENG_START_DOX @brief Gets the minimum and maximum GPU intake temperature on a GPU. @ENG_END_DOX
|
|
508
|
+
*
|
|
509
|
+
*@syntax
|
|
510
|
+
*@codeStart
|
|
511
|
+
* @ref ADLX_RESULT GetGPUIntakeTemperatureRange (adlx_int* minValue, adlx_int* maxValue)
|
|
512
|
+
*@codeEnd
|
|
513
|
+
*
|
|
514
|
+
*@params
|
|
515
|
+
* @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum GPU intake temperature (in °C) is returned. @ENG_END_DOX}
|
|
516
|
+
* @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum GPU intake temperature (in °C) is returned. @ENG_END_DOX}
|
|
517
|
+
*
|
|
518
|
+
*@retvalues
|
|
519
|
+
*@ENG_START_DOX If the GPU intake temperature range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
520
|
+
* If the GPU intake temperature range is not successfully returned, an error code is returned.<br>
|
|
521
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
522
|
+
*
|
|
523
|
+
*@detaileddesc
|
|
524
|
+
*@ENG_START_DOX @details The minimum and maximum GPU intake temperature are read only. @ENG_END_DOX
|
|
525
|
+
*
|
|
526
|
+
*
|
|
527
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
528
|
+
*
|
|
529
|
+
*/
|
|
530
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetGPUIntakeTemperatureRange (adlx_int* minValue, adlx_int* maxValue) = 0;
|
|
531
|
+
/**
|
|
532
|
+
*@page DOX_IADLXGPUMetricsSupport_IsSupportedGPUIntakeTemperature IsSupportedGPUIntakeTemperature
|
|
533
|
+
*@ENG_START_DOX @brief Checks if the GPU intake temperature metric reporting is supported on a GPU. @ENG_END_DOX
|
|
534
|
+
*
|
|
535
|
+
*@syntax
|
|
536
|
+
*@codeStart
|
|
537
|
+
* @ref ADLX_RESULT IsSupportedGPUIntakeTemperature (adlx_bool* supported)
|
|
538
|
+
*@codeEnd
|
|
539
|
+
*
|
|
540
|
+
*@params
|
|
541
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of GPU intake temperature metric reporting is returned. The variable is __true__ if the GPU intake temperature metric reporting is supported\. The variable is __false__ if the GPU intake temperature metric reporting is not supported. @ENG_END_DOX}
|
|
542
|
+
*
|
|
543
|
+
*@retvalues
|
|
544
|
+
*@ENG_START_DOX If the state of GPU intake temperature metric reporting is successfully returned, __ADLX_OK__ is returned. <br>
|
|
545
|
+
*If the state of GPU intake temperature metric reporting is not successfully returned, an error code is returned. <br>
|
|
546
|
+
*Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
547
|
+
*
|
|
548
|
+
*
|
|
549
|
+
*@copydoc IADLXGPUMetricsSupport_REQ_TABLE
|
|
550
|
+
*
|
|
551
|
+
*/
|
|
552
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedGPUIntakeTemperature (adlx_bool* supported) = 0;
|
|
553
|
+
};
|
|
554
|
+
//----------------------------------------------------------------------------------------------
|
|
555
|
+
typedef IADLXInterfacePtr_T<IADLXGPUMetricsSupport> IADLXGPUMetricsSupportPtr;
|
|
556
|
+
} //namespace adlx
|
|
557
|
+
#else //__cplusplus
|
|
558
|
+
ADLX_DECLARE_IID (IADLXGPUMetricsSupport, L"IADLXGPUMetricsSupport")
|
|
559
|
+
|
|
560
|
+
typedef struct IADLXGPUMetricsSupport IADLXGPUMetricsSupport;
|
|
561
|
+
|
|
562
|
+
typedef struct IADLXGPUMetricsSupportVtbl
|
|
563
|
+
{
|
|
564
|
+
//IADLXInterface
|
|
565
|
+
adlx_long (ADLX_STD_CALL* Acquire)(IADLXGPUMetricsSupport* pThis);
|
|
566
|
+
adlx_long (ADLX_STD_CALL* Release)(IADLXGPUMetricsSupport* pThis);
|
|
567
|
+
ADLX_RESULT (ADLX_STD_CALL* QueryInterface)(IADLXGPUMetricsSupport* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
568
|
+
|
|
569
|
+
//IADLXGPUMetricsSupport
|
|
570
|
+
ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUUsage)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
|
|
571
|
+
ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUClockSpeed)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
|
|
572
|
+
ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUVRAMClockSpeed)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
|
|
573
|
+
ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUTemperature)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
|
|
574
|
+
ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUHotspotTemperature)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
|
|
575
|
+
ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUPower)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
|
|
576
|
+
ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUTotalBoardPower)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
|
|
577
|
+
ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUFanSpeed)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
|
|
578
|
+
ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUVRAM)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
|
|
579
|
+
ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUVoltage)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
|
|
580
|
+
|
|
581
|
+
ADLX_RESULT (ADLX_STD_CALL* GetGPUUsageRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
|
|
582
|
+
ADLX_RESULT (ADLX_STD_CALL* GetGPUClockSpeedRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
|
|
583
|
+
ADLX_RESULT (ADLX_STD_CALL* GetGPUVRAMClockSpeedRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
|
|
584
|
+
ADLX_RESULT (ADLX_STD_CALL* GetGPUTemperatureRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
|
|
585
|
+
ADLX_RESULT (ADLX_STD_CALL* GetGPUHotspotTemperatureRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
|
|
586
|
+
ADLX_RESULT (ADLX_STD_CALL* GetGPUPowerRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
|
|
587
|
+
ADLX_RESULT (ADLX_STD_CALL* GetGPUFanSpeedRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
|
|
588
|
+
ADLX_RESULT (ADLX_STD_CALL* GetGPUVRAMRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
|
|
589
|
+
ADLX_RESULT (ADLX_STD_CALL* GetGPUVoltageRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
|
|
590
|
+
ADLX_RESULT (ADLX_STD_CALL* GetGPUTotalBoardPowerRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
|
|
591
|
+
ADLX_RESULT (ADLX_STD_CALL* GetGPUIntakeTemperatureRange)(IADLXGPUMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
|
|
592
|
+
ADLX_RESULT (ADLX_STD_CALL* IsSupportedGPUIntakeTemperature)(IADLXGPUMetricsSupport* pThis, adlx_bool* supported);
|
|
593
|
+
} IADLXGPUMetricsSupportVtbl;
|
|
594
|
+
|
|
595
|
+
struct IADLXGPUMetricsSupport { const IADLXGPUMetricsSupportVtbl *pVtbl; };
|
|
596
|
+
#endif //__cplusplus
|
|
597
|
+
#pragma endregion IADLXGPUMetricsSupport
|
|
598
|
+
|
|
599
|
+
#pragma region IADLXSystemMetricsSupport
|
|
600
|
+
#if defined (__cplusplus)
|
|
601
|
+
namespace adlx
|
|
602
|
+
{
|
|
603
|
+
class ADLX_NO_VTABLE IADLXSystemMetricsSupport : public IADLXInterface
|
|
604
|
+
{
|
|
605
|
+
public:
|
|
606
|
+
ADLX_DECLARE_IID (L"IADLXSystemMetricsSupport")
|
|
607
|
+
|
|
608
|
+
/**
|
|
609
|
+
*@page DOX_IADLXSystemMetricsSupport_IsSupportedCPUUsage IsSupportedCPUUsage
|
|
610
|
+
*@ENG_START_DOX @brief Checks if the CPU usage metric reporting is supported by the system. @ENG_END_DOX
|
|
611
|
+
*
|
|
612
|
+
*@syntax
|
|
613
|
+
*@codeStart
|
|
614
|
+
* @ref ADLX_RESULT IsSupportedCPUUsage (adlx_bool* supported)
|
|
615
|
+
*@codeEnd
|
|
616
|
+
*
|
|
617
|
+
*@params
|
|
618
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of CPU usage metric reporting is returned. The variable is __true__ if the CPU usage metric reporting is supported\. The variable is __false__ if the CPU usage metric reporting is not supported. @ENG_END_DOX}
|
|
619
|
+
*
|
|
620
|
+
*@retvalues
|
|
621
|
+
*@ENG_START_DOX If the state of CPU usage metric reporting is successfully returned, __ADLX_OK__ is returned. <br>
|
|
622
|
+
*If the state of CPU usage metric reporting is not successfully returned, an error code is returned. <br>
|
|
623
|
+
*Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
624
|
+
*
|
|
625
|
+
*
|
|
626
|
+
*@copydoc IADLXSystemMetricsSupport_REQ_TABLE
|
|
627
|
+
*
|
|
628
|
+
*/
|
|
629
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedCPUUsage (adlx_bool* supported) = 0;
|
|
630
|
+
/**
|
|
631
|
+
*@page DOX_IADLXSystemMetricsSupport_IsSupportedSystemRAM IsSupportedSystemRAM
|
|
632
|
+
*@ENG_START_DOX @brief Checks if the RAM usage metric reporting is supported by the system. @ENG_END_DOX
|
|
633
|
+
*
|
|
634
|
+
*@syntax
|
|
635
|
+
*@codeStart
|
|
636
|
+
* @ref ADLX_RESULT IsSupportedSystemRAM (adlx_bool* supported)
|
|
637
|
+
*@codeEnd
|
|
638
|
+
*
|
|
639
|
+
*@params
|
|
640
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of system RAM usage metric reporting is returned. The variable is __true__ if the system RAM usage metric reporting is supported. The variable is __false__ if the system RAM usage metric reporting is not supported. @ENG_END_DOX}
|
|
641
|
+
*
|
|
642
|
+
*@retvalues
|
|
643
|
+
*@ENG_START_DOX If the state of system RAM usage metric reporting is successfully returned, __ADLX_OK__ is returned. <br>
|
|
644
|
+
*If the state of system RAM usage metric reporting is not successfully returned, an error code is returned. <br>
|
|
645
|
+
*Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
646
|
+
*
|
|
647
|
+
*
|
|
648
|
+
*@copydoc IADLXSystemMetricsSupport_REQ_TABLE
|
|
649
|
+
*
|
|
650
|
+
*/
|
|
651
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedSystemRAM (adlx_bool* supported) = 0;
|
|
652
|
+
/**
|
|
653
|
+
*@page DOX_IADLXSystemMetricsSupport_IsSupportedSmartShift IsSupportedSmartShift
|
|
654
|
+
*@ENG_START_DOX @brief Checks if the SmartShift metric reporting is supported by the system. @ENG_END_DOX
|
|
655
|
+
*
|
|
656
|
+
*@syntax
|
|
657
|
+
*@codeStart
|
|
658
|
+
* @ref ADLX_RESULT IsSupportedSmartShift (adlx_bool* supported)
|
|
659
|
+
*@codeEnd
|
|
660
|
+
*
|
|
661
|
+
*@params
|
|
662
|
+
*@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of SmartShift metric reporting is returned. The variable is __true__ if the SmartShift metric reporting is supported\. The variable is __false__ if the SmartShift metric reporting is not supported. @ENG_END_DOX}
|
|
663
|
+
*
|
|
664
|
+
*@retvalues
|
|
665
|
+
*@ENG_START_DOX If the state of SmartShift metric reporting is successfully returned, __ADLX_OK__ is returned. <br>
|
|
666
|
+
*If the state of SmartShift metric reporting is not successfully returned, an error code is returned. <br>
|
|
667
|
+
*Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
668
|
+
*
|
|
669
|
+
*
|
|
670
|
+
*@copydoc IADLXSystemMetricsSupport_REQ_TABLE
|
|
671
|
+
*
|
|
672
|
+
*/
|
|
673
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupportedSmartShift (adlx_bool* supported) = 0;
|
|
674
|
+
/**
|
|
675
|
+
*@page DOX_IADLXSystemMetricsSupport_GetCPUUsageRange GetCPUUsageRange
|
|
676
|
+
*@ENG_START_DOX @brief Gets the minimum and maximum CPU usage of a system. @ENG_END_DOX
|
|
677
|
+
*
|
|
678
|
+
*@syntax
|
|
679
|
+
*@codeStart
|
|
680
|
+
* @ref ADLX_RESULT GetCPUUsageRange (adlx_int* minValue, adlx_int* maxValue)
|
|
681
|
+
*@codeEnd
|
|
682
|
+
*
|
|
683
|
+
*@params
|
|
684
|
+
* @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum CPU usage (in %) is returned. @ENG_END_DOX}
|
|
685
|
+
* @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum CPU usage (in %) is returned. @ENG_END_DOX}
|
|
686
|
+
*
|
|
687
|
+
*@retvalues
|
|
688
|
+
*@ENG_START_DOX If the CPU usage range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
689
|
+
* If the CPU usage range is not successfully returned, an error code is returned.<br>
|
|
690
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
691
|
+
*
|
|
692
|
+
*@detaileddesc
|
|
693
|
+
*@ENG_START_DOX @details The minimum and maximum CPU usage are read only. @ENG_END_DOX
|
|
694
|
+
*
|
|
695
|
+
*
|
|
696
|
+
*@copydoc IADLXSystemMetricsSupport_REQ_TABLE
|
|
697
|
+
*
|
|
698
|
+
*/
|
|
699
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetCPUUsageRange (adlx_int* minValue, adlx_int* maxValue) = 0;
|
|
700
|
+
/**
|
|
701
|
+
*@page DOX_IADLXSystemMetricsSupport_GetSystemRAMRange GetSystemRAMRange
|
|
702
|
+
*@ENG_START_DOX @brief Gets the minimum and maximum system RAM of a system. @ENG_END_DOX
|
|
703
|
+
*
|
|
704
|
+
*@syntax
|
|
705
|
+
*@codeStart
|
|
706
|
+
* @ref ADLX_RESULT GetSystemRAMRange (adlx_int* minValue, adlx_int* maxValue)
|
|
707
|
+
*@codeEnd
|
|
708
|
+
*
|
|
709
|
+
*@params
|
|
710
|
+
* @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum system RAM (in MB) is returned. @ENG_END_DOX}
|
|
711
|
+
* @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum system RAM (in MB) is returned. @ENG_END_DOX}
|
|
712
|
+
*
|
|
713
|
+
*@retvalues
|
|
714
|
+
*@ENG_START_DOX If the system RAM range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
715
|
+
* If the system RAM range is not successfully returned, an error code is returned.<br>
|
|
716
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
717
|
+
*
|
|
718
|
+
*@detaileddesc
|
|
719
|
+
*@ENG_START_DOX @details The minimum and maximum system RAM are read only. @ENG_END_DOX
|
|
720
|
+
*
|
|
721
|
+
*
|
|
722
|
+
*@copydoc IADLXSystemMetricsSupport_REQ_TABLE
|
|
723
|
+
*
|
|
724
|
+
*/
|
|
725
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetSystemRAMRange (adlx_int* minValue, adlx_int* maxValue) = 0;
|
|
726
|
+
/**
|
|
727
|
+
*@page DOX_IADLXSystemMetricsSupport_GetSmartShiftRange GetSmartShiftRange
|
|
728
|
+
*@ENG_START_DOX @brief Gets the minimum and maximum SmartShift value of a system. @ENG_END_DOX
|
|
729
|
+
*
|
|
730
|
+
*@syntax
|
|
731
|
+
*@codeStart
|
|
732
|
+
* @ref ADLX_RESULT GetSmartShiftRange (adlx_int* minValue, adlx_int* maxValue)
|
|
733
|
+
*@codeEnd
|
|
734
|
+
*
|
|
735
|
+
*@params
|
|
736
|
+
* @paramrow{1.,[out],minValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the minimum SmartShift value is returned. @ENG_END_DOX}
|
|
737
|
+
* @paramrow{2.,[out],maxValue,adlx_int*,@ENG_START_DOX The pointer to a variable where the maximum SmartShift value is returned. @ENG_END_DOX}
|
|
738
|
+
*
|
|
739
|
+
*@retvalues
|
|
740
|
+
*@ENG_START_DOX If the SmartShift value range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
741
|
+
* If the SmartShift value range is not successfully returned, an error code is returned.<br>
|
|
742
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
743
|
+
*
|
|
744
|
+
*@detaileddesc
|
|
745
|
+
*@ENG_START_DOX @details The minimum and maximum SmartShift value are read only. @ENG_END_DOX
|
|
746
|
+
*
|
|
747
|
+
*
|
|
748
|
+
*@copydoc IADLXSystemMetricsSupport_REQ_TABLE
|
|
749
|
+
*
|
|
750
|
+
*/
|
|
751
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetSmartShiftRange (adlx_int* minValue, adlx_int* maxValue) = 0;
|
|
752
|
+
};
|
|
753
|
+
//----------------------------------------------------------------------------------------------
|
|
754
|
+
typedef IADLXInterfacePtr_T<IADLXSystemMetricsSupport> IADLXSystemMetricsSupportPtr;
|
|
755
|
+
} //namespace adlx
|
|
756
|
+
#else //__cplusplus
|
|
757
|
+
ADLX_DECLARE_IID (IADLXSystemMetricsSupport, L"IADLXSystemMetricsSupport")
|
|
758
|
+
|
|
759
|
+
typedef struct IADLXSystemMetricsSupport IADLXSystemMetricsSupport;
|
|
760
|
+
|
|
761
|
+
typedef struct IADLXSystemMetricsSupportVtbl
|
|
762
|
+
{
|
|
763
|
+
//IADLXInterface
|
|
764
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXSystemMetricsSupport* pThis);
|
|
765
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXSystemMetricsSupport* pThis);
|
|
766
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXSystemMetricsSupport* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
767
|
+
|
|
768
|
+
//IADLXSystemMetricsSupport
|
|
769
|
+
ADLX_RESULT (ADLX_STD_CALL *IsSupportedCPUUsage)(IADLXSystemMetricsSupport* pThis, adlx_bool* supported);
|
|
770
|
+
ADLX_RESULT (ADLX_STD_CALL *IsSupportedSystemRAM)(IADLXSystemMetricsSupport* pThis, adlx_bool* supported);
|
|
771
|
+
ADLX_RESULT (ADLX_STD_CALL *IsSupportedSmartShift)(IADLXSystemMetricsSupport* pThis, adlx_bool* supported);
|
|
772
|
+
ADLX_RESULT (ADLX_STD_CALL *GetCPUUsageRange)(IADLXSystemMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
|
|
773
|
+
ADLX_RESULT (ADLX_STD_CALL *GetSystemRAMRange)(IADLXSystemMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
|
|
774
|
+
ADLX_RESULT (ADLX_STD_CALL *GetSmartShiftRange)(IADLXSystemMetricsSupport* pThis, adlx_int* minValue, adlx_int* maxValue);
|
|
775
|
+
}IADLXSystemMetricsSupportVtbl;
|
|
776
|
+
|
|
777
|
+
struct IADLXSystemMetricsSupport { const IADLXSystemMetricsSupportVtbl *pVtbl; };
|
|
778
|
+
#endif //__cplusplus
|
|
779
|
+
#pragma endregion IADLXSystemMetricsSupport
|
|
780
|
+
|
|
781
|
+
#pragma region IADLXGPUMetrics
|
|
782
|
+
#if defined (__cplusplus)
|
|
783
|
+
namespace adlx
|
|
784
|
+
{
|
|
785
|
+
class ADLX_NO_VTABLE IADLXGPUMetrics : public IADLXInterface
|
|
786
|
+
{
|
|
787
|
+
public:
|
|
788
|
+
ADLX_DECLARE_IID (L"IADLXGPUMetrics")
|
|
789
|
+
/**
|
|
790
|
+
*@page DOX_IADLXGPUMetrics_TimeStamp TimeStamp
|
|
791
|
+
*@ENG_START_DOX @brief Gets the timestamp of a GPU metric sample. @ENG_END_DOX
|
|
792
|
+
*
|
|
793
|
+
*@syntax
|
|
794
|
+
*@codeStart
|
|
795
|
+
* @ref ADLX_RESULT TimeStamp (adlx_int64* ms)
|
|
796
|
+
*@codeEnd
|
|
797
|
+
*
|
|
798
|
+
*@params
|
|
799
|
+
*@paramrow{1.,[out] ,ms,adlx_int64* ,@ENG_START_DOX The pointer to a variable where the timestamp (in ms) is returned. @ENG_END_DOX}
|
|
800
|
+
*
|
|
801
|
+
*@retvalues
|
|
802
|
+
*@ENG_START_DOX If the timestamp is successfully returned, __ADLX_OK__ is returned. <br>
|
|
803
|
+
* If the timestamp is not successfully returned, an error code is returned. <br>
|
|
804
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
805
|
+
*
|
|
806
|
+
*@detaileddesc
|
|
807
|
+
*@ENG_START_DOX @details The timestamp is the duration (in ms) from the system epoch time to the time when the metric sample was acquired. @ENG_END_DOX
|
|
808
|
+
*
|
|
809
|
+
*@copydoc IADLXGPUMetrics_REQ_TABLE
|
|
810
|
+
*
|
|
811
|
+
*/
|
|
812
|
+
virtual ADLX_RESULT ADLX_STD_CALL TimeStamp (adlx_int64* ms) = 0;
|
|
813
|
+
/**
|
|
814
|
+
*@page DOX_IADLXGPUMetrics_GPUUsage GPUUsage
|
|
815
|
+
*@ENG_START_DOX @brief Gets the GPU usage of a GPU metric sample. @ENG_END_DOX
|
|
816
|
+
*
|
|
817
|
+
*@syntax
|
|
818
|
+
*@codeStart
|
|
819
|
+
* @ref ADLX_RESULT GPUUsage (adlx_double* data)
|
|
820
|
+
*@codeEnd
|
|
821
|
+
*
|
|
822
|
+
*@params
|
|
823
|
+
*@paramrow{1.,[out] ,data,adlx_double* ,@ENG_START_DOX The pointer to a variable where the CPU usage (in %) is returned. @ENG_END_DOX}
|
|
824
|
+
*
|
|
825
|
+
*@retvalues
|
|
826
|
+
*@ENG_START_DOX If the GPU usage is successfully returned, __ADLX_OK__ is returned. <br>
|
|
827
|
+
* If the GPU usage is not successfully returned, an error code is returned. <br>
|
|
828
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
829
|
+
*
|
|
830
|
+
*
|
|
831
|
+
*@copydoc IADLXGPUMetrics_REQ_TABLE
|
|
832
|
+
*
|
|
833
|
+
*/
|
|
834
|
+
virtual ADLX_RESULT ADLX_STD_CALL GPUUsage (adlx_double* data) = 0;
|
|
835
|
+
/**
|
|
836
|
+
*@page DOX_IADLXGPUMetrics_GPUClockSpeed GPUClockSpeed
|
|
837
|
+
*@ENG_START_DOX @brief Gets the GPU clock speed of a GPU metric sample. @ENG_END_DOX
|
|
838
|
+
*
|
|
839
|
+
*@syntax
|
|
840
|
+
*@codeStart
|
|
841
|
+
* @ref ADLX_RESULT GPUClockSpeed (adlx_int* data)
|
|
842
|
+
*@codeEnd
|
|
843
|
+
*
|
|
844
|
+
*@params
|
|
845
|
+
*@paramrow{1.,[out] ,data,adlx_int* ,@ENG_START_DOX The pointer to a variable where the GPU clock speed (in MHz) is returned. @ENG_END_DOX}
|
|
846
|
+
*
|
|
847
|
+
*@retvalues
|
|
848
|
+
*@ENG_START_DOX If the GPU clock speed is successfully returned, __ADLX_OK__ is returned. <br>
|
|
849
|
+
* If the GPU clock speed is not successfully returned, an error code is returned. <br>
|
|
850
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
851
|
+
*
|
|
852
|
+
*
|
|
853
|
+
*@copydoc IADLXGPUMetrics_REQ_TABLE
|
|
854
|
+
*
|
|
855
|
+
*/
|
|
856
|
+
virtual ADLX_RESULT ADLX_STD_CALL GPUClockSpeed (adlx_int* data) = 0;
|
|
857
|
+
/**
|
|
858
|
+
*@page DOX_IADLXGPUMetrics_GPUVRAMClockSpeed GPUVRAMClockSpeed
|
|
859
|
+
*@ENG_START_DOX @brief Gets the VRAM clock speed of a GPU metric sample. @ENG_END_DOX
|
|
860
|
+
*
|
|
861
|
+
*@syntax
|
|
862
|
+
*@codeStart
|
|
863
|
+
* @ref ADLX_RESULT GPUVRAMClockSpeed (adlx_int* data)
|
|
864
|
+
*@codeEnd
|
|
865
|
+
*
|
|
866
|
+
*@params
|
|
867
|
+
*@paramrow{1.,[out] ,data,adlx_int* ,@ENG_START_DOX GPU Memory The pointer to a variable where the VRAM clock speed (in MHz) is returned. @ENG_END_DOX}
|
|
868
|
+
*
|
|
869
|
+
*@retvalues
|
|
870
|
+
*@ENG_START_DOX If the VRAM clock speed is successfully returned, __ADLX_OK__ is returned. <br>
|
|
871
|
+
* If the VRAM clock speed is not successfully returned, an error code is returned. <br>
|
|
872
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
873
|
+
*
|
|
874
|
+
*
|
|
875
|
+
*@copydoc IADLXGPUMetrics_REQ_TABLE
|
|
876
|
+
*
|
|
877
|
+
*/
|
|
878
|
+
virtual ADLX_RESULT ADLX_STD_CALL GPUVRAMClockSpeed (adlx_int* data) = 0;
|
|
879
|
+
/**
|
|
880
|
+
*@page DOX_IADLXGPUMetrics_GPUTemperature GPUTemperature
|
|
881
|
+
*@ENG_START_DOX
|
|
882
|
+
*@brief Gets the GPU temperature of a GPU metric sample.
|
|
883
|
+
*@details GPUTemperature reports the average temperature measured at the edge of the die of the GPU. This is sometimes referred to as ‘Edge Temperature’.
|
|
884
|
+
*@ENG_END_DOX
|
|
885
|
+
*
|
|
886
|
+
*@syntax
|
|
887
|
+
*@codeStart
|
|
888
|
+
* @ref ADLX_RESULT GPUTemperature (adlx_double* data)
|
|
889
|
+
*@codeEnd
|
|
890
|
+
*
|
|
891
|
+
*@params
|
|
892
|
+
*@paramrow{1.,[out] ,data,adlx_double* ,@ENG_START_DOX The pointer to a variable where the GPU temperature (in °C) is returned. @ENG_END_DOX}
|
|
893
|
+
*
|
|
894
|
+
*@retvalues
|
|
895
|
+
*@ENG_START_DOX If the GPU temperature is successfully returned, __ADLX_OK__ is returned. <br>
|
|
896
|
+
* If the GPU temperature is not successfully returned, an error code is returned. <br>
|
|
897
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
898
|
+
*@addinfo
|
|
899
|
+
* @ENG_START_DOX Related method: @ref DOX_IADLXGPUMetrics_GPUHotspotTemperature, @ref DOX_IADLXGPUMetrics_GPUIntakeTemperature. @ENG_END_DOX
|
|
900
|
+
*
|
|
901
|
+
*
|
|
902
|
+
*@copydoc IADLXGPUMetrics_REQ_TABLE
|
|
903
|
+
*
|
|
904
|
+
*/
|
|
905
|
+
virtual ADLX_RESULT ADLX_STD_CALL GPUTemperature (adlx_double* data) = 0;
|
|
906
|
+
/**
|
|
907
|
+
*@page DOX_IADLXGPUMetrics_GPUHotspotTemperature GPUHotspotTemperature
|
|
908
|
+
*@ENG_START_DOX
|
|
909
|
+
*@brief Gets the GPU hotspot temperature of a GPU metric sample.
|
|
910
|
+
*@details GPUHotspotTemperature reports the highest temperature measured on the die of the GPU from a collection of junction temperature sensors on the die. This is sometimes referred to as ‘Junction Temperature’.
|
|
911
|
+
*@ENG_END_DOX
|
|
912
|
+
*
|
|
913
|
+
*@syntax
|
|
914
|
+
*@codeStart
|
|
915
|
+
* @ref ADLX_RESULT GPUHotspotTemperature (adlx_double* data)
|
|
916
|
+
*@codeEnd
|
|
917
|
+
*
|
|
918
|
+
*@params
|
|
919
|
+
*@paramrow{1.,[out] ,data,adlx_double* ,@ENG_START_DOX The pointer to a variable where the GPU hotspot temperature (in °C) is returned. @ENG_END_DOX}
|
|
920
|
+
*
|
|
921
|
+
*@retvalues
|
|
922
|
+
*@ENG_START_DOX If the GPU hotspot temperature is successfully returned, __ADLX_OK__ is returned. <br>
|
|
923
|
+
* If the GPU hotspot temperature is not successfully returned, an error code is returned. <br>
|
|
924
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
925
|
+
*
|
|
926
|
+
*@addinfo
|
|
927
|
+
* @ENG_START_DOX Related method: @ref DOX_IADLXGPUMetrics_GPUIntakeTemperature, @ref DOX_IADLXGPUMetrics_GPUTemperature. @ENG_END_DOX
|
|
928
|
+
*
|
|
929
|
+
*
|
|
930
|
+
*@copydoc IADLXGPUMetrics_REQ_TABLE
|
|
931
|
+
*
|
|
932
|
+
*/
|
|
933
|
+
virtual ADLX_RESULT ADLX_STD_CALL GPUHotspotTemperature (adlx_double* data) = 0;
|
|
934
|
+
/**
|
|
935
|
+
*@page DOX_IADLXGPUMetrics_GPUPower GPUPower
|
|
936
|
+
*@ENG_START_DOX
|
|
937
|
+
*@brief Gets the GPU power consumption of a GPU metric sample.
|
|
938
|
+
*@ENG_END_DOX
|
|
939
|
+
*
|
|
940
|
+
*@syntax
|
|
941
|
+
*@codeStart
|
|
942
|
+
* @ref ADLX_RESULT GPUPower (adlx_double* data)
|
|
943
|
+
*@codeEnd
|
|
944
|
+
*
|
|
945
|
+
*@params
|
|
946
|
+
*@paramrow{1.,[out] ,data,adlx_double* ,@ENG_START_DOX The pointer to a variable where the GPU power consumption (in W) is returned. @ENG_END_DOX}
|
|
947
|
+
*
|
|
948
|
+
*@retvalues
|
|
949
|
+
*@ENG_START_DOX If the GPU power is successfully returned, __ADLX_OK__ is returned. <br>
|
|
950
|
+
* If the GPU power is not successfully returned, an error code is returned. <br>
|
|
951
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
952
|
+
*
|
|
953
|
+
*
|
|
954
|
+
*@copydoc IADLXGPUMetrics_REQ_TABLE
|
|
955
|
+
*
|
|
956
|
+
*/
|
|
957
|
+
virtual ADLX_RESULT ADLX_STD_CALL GPUPower (adlx_double* data) = 0;
|
|
958
|
+
/**
|
|
959
|
+
*@page DOX_IADLXGPUMetrics_GPUTotalBoardPower GPUTotalBoardPower
|
|
960
|
+
*@ENG_START_DOX @brief Gets the GPU total board power consumption of a GPU metric sample. @ENG_END_DOX
|
|
961
|
+
*
|
|
962
|
+
*@syntax
|
|
963
|
+
*@codeStart
|
|
964
|
+
* @ref ADLX_RESULT GPUTotalBoardPower (adlx_double* data)
|
|
965
|
+
*@codeEnd
|
|
966
|
+
*
|
|
967
|
+
*@params
|
|
968
|
+
*@paramrow{1.,[out] ,data,adlx_double* ,@ENG_START_DOX The pointer to a variable where the GPU total board power consumption (in W) is returned. @ENG_END_DOX}
|
|
969
|
+
*
|
|
970
|
+
*@retvalues
|
|
971
|
+
*@ENG_START_DOX If the GPU total board power is successfully returned, __ADLX_OK__ is returned. <br>
|
|
972
|
+
* If the GPU total board power is not successfully returned, an error code is returned. <br>
|
|
973
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
974
|
+
*
|
|
975
|
+
*@addinfo
|
|
976
|
+
* @ENG_START_DOX The method returns power of all components on the board including VRAM. @ENG_END_DOX
|
|
977
|
+
*
|
|
978
|
+
*@copydoc IADLXGPUMetrics_REQ_TABLE
|
|
979
|
+
*
|
|
980
|
+
*/
|
|
981
|
+
virtual ADLX_RESULT ADLX_STD_CALL GPUTotalBoardPower(adlx_double* data) = 0;
|
|
982
|
+
/**
|
|
983
|
+
*@page DOX_IADLXGPUMetrics_GPUFanSpeed GPUFanSpeed
|
|
984
|
+
*@ENG_START_DOX @brief Gets the GPU fan speed of a GPU metric sample. @ENG_END_DOX
|
|
985
|
+
*
|
|
986
|
+
*@syntax
|
|
987
|
+
*@codeStart
|
|
988
|
+
* @ref ADLX_RESULT GPUFanSpeed (adlx_int* data)
|
|
989
|
+
*@codeEnd
|
|
990
|
+
*
|
|
991
|
+
*@params
|
|
992
|
+
*@paramrow{1.,[out] ,data,adlx_int* ,@ENG_START_DOX The pointer to a variable where the GPU fan speed (in RPM) is returned. @ENG_END_DOX}
|
|
993
|
+
*
|
|
994
|
+
*@retvalues
|
|
995
|
+
*@ENG_START_DOX If the GPU fan speed is successfully returned, __ADLX_OK__ is returned. <br>
|
|
996
|
+
* If the GPU fan speed is not successfully returned, an error code is returned. <br>
|
|
997
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
998
|
+
*
|
|
999
|
+
*
|
|
1000
|
+
*@copydoc IADLXGPUMetrics_REQ_TABLE
|
|
1001
|
+
*
|
|
1002
|
+
*/
|
|
1003
|
+
virtual ADLX_RESULT ADLX_STD_CALL GPUFanSpeed (adlx_int* data) = 0;
|
|
1004
|
+
/**
|
|
1005
|
+
*@page DOX_IADLXGPUMetrics_GPUVRAM GPUVRAM
|
|
1006
|
+
*@ENG_START_DOX @brief Gets the dedicated GPU memory of a GPU metric sample. @ENG_END_DOX
|
|
1007
|
+
*
|
|
1008
|
+
*@syntax
|
|
1009
|
+
*@codeStart
|
|
1010
|
+
* @ref ADLX_RESULT GPUVRAM (adlx_int* data)
|
|
1011
|
+
*@codeEnd
|
|
1012
|
+
*
|
|
1013
|
+
*@params
|
|
1014
|
+
*@paramrow{1.,[out] ,data,adlx_int* ,@ENG_START_DOX The pointer to a variable where the dedicated GPU memory (in MB) is returned. @ENG_END_DOX}
|
|
1015
|
+
*
|
|
1016
|
+
*@retvalues
|
|
1017
|
+
*@ENG_START_DOX If the dedicated GPU memory is successfully returned, __ADLX_OK__ is returned. <br>
|
|
1018
|
+
* If the dedicated GPU memory is not successfully returned, an error code is returned. <br>
|
|
1019
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
1020
|
+
*
|
|
1021
|
+
*
|
|
1022
|
+
*@copydoc IADLXGPUMetrics_REQ_TABLE
|
|
1023
|
+
*
|
|
1024
|
+
*/
|
|
1025
|
+
virtual ADLX_RESULT ADLX_STD_CALL GPUVRAM (adlx_int* data) = 0;
|
|
1026
|
+
/**
|
|
1027
|
+
*@page DOX_IADLXGPUMetrics_GPUVoltage GPUVoltage
|
|
1028
|
+
*@ENG_START_DOX @brief Gets the GPU voltage of a GPU metric sample. @ENG_END_DOX
|
|
1029
|
+
*
|
|
1030
|
+
*@syntax
|
|
1031
|
+
*@codeStart
|
|
1032
|
+
* @ref ADLX_RESULT GPUVoltage (adlx_int* data)
|
|
1033
|
+
*@codeEnd
|
|
1034
|
+
*
|
|
1035
|
+
*@params
|
|
1036
|
+
*@paramrow{1.,[out] ,data,adlx_int* ,@ENG_START_DOX The pointer to a variable where the GPU voltage (in mV) is returned. @ENG_END_DOX}
|
|
1037
|
+
*
|
|
1038
|
+
*@retvalues
|
|
1039
|
+
*@ENG_START_DOX If the GPU voltage is successfully returned, __ADLX_OK__ is returned. <br>
|
|
1040
|
+
* If the GPU voltage is not successfully returned, an error code is returned. <br>
|
|
1041
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
1042
|
+
*
|
|
1043
|
+
*
|
|
1044
|
+
*@copydoc IADLXGPUMetrics_REQ_TABLE
|
|
1045
|
+
*
|
|
1046
|
+
*/
|
|
1047
|
+
virtual ADLX_RESULT ADLX_STD_CALL GPUVoltage (adlx_int* data) = 0;
|
|
1048
|
+
/**
|
|
1049
|
+
*@page DOX_IADLXGPUMetrics_GPUIntakeTemperature GPUIntakeTemperature
|
|
1050
|
+
*@ENG_START_DOX
|
|
1051
|
+
*@brief Gets the GPU intake temperature of a GPU metric sample.
|
|
1052
|
+
*@details GPUIntakeTemperature reports the fan intake temperature.
|
|
1053
|
+
*@ENG_END_DOX
|
|
1054
|
+
*
|
|
1055
|
+
*@syntax
|
|
1056
|
+
*@codeStart
|
|
1057
|
+
* @ref ADLX_RESULT GPUIntakeTemperature (adlx_double* data)
|
|
1058
|
+
*@codeEnd
|
|
1059
|
+
*
|
|
1060
|
+
*@params
|
|
1061
|
+
*@paramrow{1.,[out] ,data,adlx_double* ,@ENG_START_DOX The pointer to a variable where the GPU intake temperature (in °C) is returned. @ENG_END_DOX}
|
|
1062
|
+
*
|
|
1063
|
+
*@retvalues
|
|
1064
|
+
*@ENG_START_DOX If the GPU intake temperature is successfully returned, __ADLX_OK__ is returned. <br>
|
|
1065
|
+
* If the GPU Intake temperature is not successfully returned, an error code is returned. <br>
|
|
1066
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
1067
|
+
*@addinfo
|
|
1068
|
+
* @ENG_START_DOX Related method: @ref DOX_IADLXGPUMetrics_GPUHotspotTemperature, @ref DOX_IADLXGPUMetrics_GPUTemperature. @ENG_END_DOX
|
|
1069
|
+
*
|
|
1070
|
+
*
|
|
1071
|
+
*@copydoc IADLXGPUMetrics_REQ_TABLE
|
|
1072
|
+
*
|
|
1073
|
+
*/
|
|
1074
|
+
virtual ADLX_RESULT ADLX_STD_CALL GPUIntakeTemperature (adlx_double* data) = 0;
|
|
1075
|
+
};
|
|
1076
|
+
//----------------------------------------------------------------------------------------------
|
|
1077
|
+
typedef IADLXInterfacePtr_T<IADLXGPUMetrics> IADLXGPUMetricsPtr;
|
|
1078
|
+
} //namespace adlx
|
|
1079
|
+
#else //__cplusplus
|
|
1080
|
+
ADLX_DECLARE_IID (IADLXGPUMetrics, L"IADLXGPUMetrics")
|
|
1081
|
+
|
|
1082
|
+
typedef struct IADLXGPUMetrics IADLXGPUMetrics;
|
|
1083
|
+
|
|
1084
|
+
typedef struct IADLXGPUMetricsVtbl
|
|
1085
|
+
{
|
|
1086
|
+
//IADLXInterface
|
|
1087
|
+
adlx_long (ADLX_STD_CALL* Acquire)(IADLXGPUMetrics* pThis);
|
|
1088
|
+
adlx_long (ADLX_STD_CALL* Release)(IADLXGPUMetrics* pThis);
|
|
1089
|
+
ADLX_RESULT (ADLX_STD_CALL* QueryInterface)(IADLXGPUMetrics* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
1090
|
+
|
|
1091
|
+
//IADLXGPUMetrics
|
|
1092
|
+
ADLX_RESULT (ADLX_STD_CALL* TimeStamp)(IADLXGPUMetrics* pThis, adlx_int64* ms);
|
|
1093
|
+
ADLX_RESULT (ADLX_STD_CALL* GPUUsage)(IADLXGPUMetrics* pThis, adlx_double* data);
|
|
1094
|
+
ADLX_RESULT (ADLX_STD_CALL* GPUClockSpeed)(IADLXGPUMetrics* pThis, adlx_int* data);
|
|
1095
|
+
ADLX_RESULT (ADLX_STD_CALL* GPUVRAMClockSpeed)(IADLXGPUMetrics* pThis, adlx_int* data);
|
|
1096
|
+
ADLX_RESULT (ADLX_STD_CALL* GPUTemperature)(IADLXGPUMetrics* pThis, adlx_double* data);
|
|
1097
|
+
ADLX_RESULT (ADLX_STD_CALL* GPUHotspotTemperature)(IADLXGPUMetrics* pThis, adlx_double* data);
|
|
1098
|
+
ADLX_RESULT (ADLX_STD_CALL* GPUPower)(IADLXGPUMetrics* pThis, adlx_double* data);
|
|
1099
|
+
ADLX_RESULT (ADLX_STD_CALL* GPUTotalBoardPower)(IADLXGPUMetrics* pThis, adlx_double* data);
|
|
1100
|
+
ADLX_RESULT (ADLX_STD_CALL* GPUFanSpeed)(IADLXGPUMetrics* pThis, adlx_int* data);
|
|
1101
|
+
ADLX_RESULT (ADLX_STD_CALL* GPUVRAM)(IADLXGPUMetrics* pThis, adlx_int* data);
|
|
1102
|
+
ADLX_RESULT (ADLX_STD_CALL* GPUVoltage)(IADLXGPUMetrics* pThis, adlx_int* data);
|
|
1103
|
+
ADLX_RESULT (ADLX_STD_CALL* GPUIntakeTemperature)(IADLXGPUMetrics* pThis, adlx_double* data);
|
|
1104
|
+
} IADLXGPUMetricsVtbl;
|
|
1105
|
+
|
|
1106
|
+
struct IADLXGPUMetrics { const IADLXGPUMetricsVtbl *pVtbl; };
|
|
1107
|
+
#endif //__cplusplus
|
|
1108
|
+
#pragma endregion IADLXGPUMetrics
|
|
1109
|
+
|
|
1110
|
+
#pragma region IADLXGPUMetricsList
|
|
1111
|
+
#if defined (__cplusplus)
|
|
1112
|
+
namespace adlx
|
|
1113
|
+
{
|
|
1114
|
+
class ADLX_NO_VTABLE IADLXGPUMetricsList : public IADLXList
|
|
1115
|
+
{
|
|
1116
|
+
public:
|
|
1117
|
+
ADLX_DECLARE_IID (L"IADLXGPUMetricsList")
|
|
1118
|
+
//Lists must declare the type of items it holds - what was passed as ADLX_DECLARE_IID() in that interface
|
|
1119
|
+
ADLX_DECLARE_ITEM_IID (IADLXGPUMetrics::IID ())
|
|
1120
|
+
|
|
1121
|
+
/**
|
|
1122
|
+
* @page DOX_IADLXGPUMetricsList_At At
|
|
1123
|
+
* @ENG_START_DOX
|
|
1124
|
+
* @brief Returns the reference counted interface at the requested location.
|
|
1125
|
+
* @ENG_END_DOX
|
|
1126
|
+
*
|
|
1127
|
+
* @syntax
|
|
1128
|
+
* @codeStart
|
|
1129
|
+
* @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXGPUMetrics** ppItem)
|
|
1130
|
+
* @codeEnd
|
|
1131
|
+
*
|
|
1132
|
+
* @params
|
|
1133
|
+
* @paramrow{1.,[in] ,location,const adlx_uint ,@ENG_START_DOX The location of the requested interface. @ENG_END_DOX}
|
|
1134
|
+
* @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXGPUMetrics** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets dereferenced address __*ppItem__ to __nullptr__. @ENG_END_DOX}
|
|
1135
|
+
*
|
|
1136
|
+
* @retvalues
|
|
1137
|
+
* @ENG_START_DOX
|
|
1138
|
+
* If the location is within the list bounds, __ADLX_OK__ is returned. <br>
|
|
1139
|
+
* If the location is not within the list bounds, an error code is returned. <br>
|
|
1140
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.
|
|
1141
|
+
* @ENG_END_DOX
|
|
1142
|
+
*
|
|
1143
|
+
* @detaileddesc
|
|
1144
|
+
* @ENG_START_DOX
|
|
1145
|
+
* @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
|
|
1146
|
+
* @ENG_END_DOX
|
|
1147
|
+
*
|
|
1148
|
+
* @addinfo
|
|
1149
|
+
* @ENG_START_DOX
|
|
1150
|
+
* 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.
|
|
1151
|
+
* @ENG_END_DOX
|
|
1152
|
+
*
|
|
1153
|
+
* @copydoc IADLXGPUMetricsList_REQ_TABLE
|
|
1154
|
+
*
|
|
1155
|
+
*/
|
|
1156
|
+
virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXGPUMetrics** ppItem) = 0;
|
|
1157
|
+
|
|
1158
|
+
/**
|
|
1159
|
+
*@page DOX_IADLXGPUMetricsList_Add_Back Add_Back
|
|
1160
|
+
*@ENG_START_DOX @brief Adds an interface to the end of a list. @ENG_END_DOX
|
|
1161
|
+
*
|
|
1162
|
+
*@syntax
|
|
1163
|
+
*@codeStart
|
|
1164
|
+
* @ref ADLX_RESULT Add_Back (@ref DOX_IADLXGPUMetrics* pItem)
|
|
1165
|
+
*@codeEnd
|
|
1166
|
+
*
|
|
1167
|
+
*@params
|
|
1168
|
+
*@paramrow{1.,[in] ,pItem,@ref DOX_IADLXGPUMetrics* ,@ENG_START_DOX The pointer to the interface to be added to the list. @ENG_END_DOX}
|
|
1169
|
+
*
|
|
1170
|
+
*@retvalues
|
|
1171
|
+
*@ENG_START_DOX If the interface is added successfully to the end of the list, __ADLX_OK__ is returned. <br>
|
|
1172
|
+
* If the interface is not added to the end of the list, an error code is returned. <br>
|
|
1173
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
1174
|
+
*
|
|
1175
|
+
*
|
|
1176
|
+
*@copydoc IADLXGPUMetricsList_REQ_TABLE
|
|
1177
|
+
*
|
|
1178
|
+
*/
|
|
1179
|
+
virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXGPUMetrics* pItem) = 0;
|
|
1180
|
+
}; //IADLXGPUMetricsList
|
|
1181
|
+
//----------------------------------------------------------------------------------------------
|
|
1182
|
+
typedef IADLXInterfacePtr_T<IADLXGPUMetricsList> IADLXGPUMetricsListPtr;
|
|
1183
|
+
} //namespace adlx
|
|
1184
|
+
#else //__cplusplus
|
|
1185
|
+
ADLX_DECLARE_IID (IADLXGPUMetricsList, L"IADLXGPUMetricsList")
|
|
1186
|
+
ADLX_DECLARE_ITEM_IID (IADLXGPUMetrics, IID_IADLXGPUMetrics ())
|
|
1187
|
+
|
|
1188
|
+
typedef struct IADLXGPUMetricsList IADLXGPUMetricsList;
|
|
1189
|
+
|
|
1190
|
+
typedef struct IADLXGPUMetricsListVtbl
|
|
1191
|
+
{
|
|
1192
|
+
//IADLXInterface
|
|
1193
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXGPUMetricsList* pThis);
|
|
1194
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXGPUMetricsList* pThis);
|
|
1195
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXGPUMetricsList* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
1196
|
+
|
|
1197
|
+
//IADLXList
|
|
1198
|
+
adlx_uint (ADLX_STD_CALL *Size)(IADLXGPUMetricsList* pThis);
|
|
1199
|
+
adlx_bool (ADLX_STD_CALL *Empty)(IADLXGPUMetricsList* pThis);
|
|
1200
|
+
adlx_uint (ADLX_STD_CALL *Begin)(IADLXGPUMetricsList* pThis);
|
|
1201
|
+
adlx_uint (ADLX_STD_CALL *End)(IADLXGPUMetricsList* pThis);
|
|
1202
|
+
ADLX_RESULT (ADLX_STD_CALL *At)(IADLXGPUMetricsList* pThis, const adlx_uint location, IADLXInterface** ppItem);
|
|
1203
|
+
ADLX_RESULT (ADLX_STD_CALL *Clear)(IADLXGPUMetricsList* pThis);
|
|
1204
|
+
ADLX_RESULT (ADLX_STD_CALL *Remove_Back)(IADLXGPUMetricsList* pThis);
|
|
1205
|
+
ADLX_RESULT (ADLX_STD_CALL *Add_Back)(IADLXGPUMetricsList* pThis, IADLXInterface* pItem);
|
|
1206
|
+
|
|
1207
|
+
//IADLXGPUMetricsList
|
|
1208
|
+
ADLX_RESULT (ADLX_STD_CALL *At_GPUMetricsList)(IADLXGPUMetricsList* pThis, const adlx_uint location, IADLXGPUMetrics** ppItem);
|
|
1209
|
+
ADLX_RESULT (ADLX_STD_CALL *Add_Back_GPUMetricsList)(IADLXGPUMetricsList* pThis, IADLXGPUMetrics* pItem);
|
|
1210
|
+
|
|
1211
|
+
}IADLXGPUMetricsListVtbl;
|
|
1212
|
+
|
|
1213
|
+
struct IADLXGPUMetricsList { const IADLXGPUMetricsListVtbl *pVtbl; };
|
|
1214
|
+
#endif //__cplusplus
|
|
1215
|
+
#pragma endregion IADLXGPUMetricsList
|
|
1216
|
+
|
|
1217
|
+
#pragma region IADLXSystemMetrics
|
|
1218
|
+
#if defined (__cplusplus)
|
|
1219
|
+
namespace adlx
|
|
1220
|
+
{
|
|
1221
|
+
class ADLX_NO_VTABLE IADLXSystemMetrics : public IADLXInterface
|
|
1222
|
+
{
|
|
1223
|
+
public:
|
|
1224
|
+
ADLX_DECLARE_IID (L"IADLXSystemMetrics")
|
|
1225
|
+
/**
|
|
1226
|
+
*@page DOX_IADLXSystemMetrics_TimeStamp TimeStamp
|
|
1227
|
+
*@ENG_START_DOX @brief Gets the timestamp of a system metric sample. @ENG_END_DOX
|
|
1228
|
+
*
|
|
1229
|
+
*@syntax
|
|
1230
|
+
*@codeStart
|
|
1231
|
+
* @ref ADLX_RESULT TimeStamp (adlx_int64* ms)
|
|
1232
|
+
*@codeEnd
|
|
1233
|
+
*
|
|
1234
|
+
*@params
|
|
1235
|
+
*@paramrow{1.,[out] ,ms,adlx_int64* ,@ENG_START_DOX The pointer to a variable where the timestamp (in ms) is returned. @ENG_END_DOX}
|
|
1236
|
+
*
|
|
1237
|
+
*@retvalues
|
|
1238
|
+
*@ENG_START_DOX If the timestamp is successfully returned, __ADLX_OK__ is returned. <br>
|
|
1239
|
+
* If the timestamp is not successfully returned, an error code is returned. <br>
|
|
1240
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
1241
|
+
*
|
|
1242
|
+
*@detaileddesc
|
|
1243
|
+
*@ENG_START_DOX @details The timestamp is the duration (in ms) from the system epoch time to the time when the metric sample was acquired. @ENG_END_DOX
|
|
1244
|
+
*
|
|
1245
|
+
*@copydoc IADLXSystemMetrics_REQ_TABLE
|
|
1246
|
+
*
|
|
1247
|
+
*/
|
|
1248
|
+
virtual ADLX_RESULT ADLX_STD_CALL TimeStamp (adlx_int64* ms) = 0;
|
|
1249
|
+
/**
|
|
1250
|
+
*@page DOX_IADLXSystemMetrics_CPUUsage CPUUsage
|
|
1251
|
+
*@ENG_START_DOX @brief Gets the CPU usage of a system metric sample. @ENG_END_DOX
|
|
1252
|
+
*
|
|
1253
|
+
*@syntax
|
|
1254
|
+
*@codeStart
|
|
1255
|
+
* @ref ADLX_RESULT CPUUsage (adlx_double* data)
|
|
1256
|
+
*@codeEnd
|
|
1257
|
+
*
|
|
1258
|
+
*@params
|
|
1259
|
+
*@paramrow{1.,[out] ,data,adlx_double* ,@ENG_START_DOX The pointer to a variable where the CPU usage (in %) is returned. @ENG_END_DOX}
|
|
1260
|
+
*
|
|
1261
|
+
*@retvalues
|
|
1262
|
+
*@ENG_START_DOX If the CPU usage is successfully returned, __ADLX_OK__ is returned. <br>
|
|
1263
|
+
* If the CPU usage is not successfully returned, an error code is returned. <br>
|
|
1264
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
1265
|
+
*
|
|
1266
|
+
*
|
|
1267
|
+
*@copydoc IADLXSystemMetrics_REQ_TABLE
|
|
1268
|
+
*
|
|
1269
|
+
*/
|
|
1270
|
+
virtual ADLX_RESULT ADLX_STD_CALL CPUUsage (adlx_double* data) = 0;
|
|
1271
|
+
/**
|
|
1272
|
+
*@page DOX_IADLXSystemMetrics_SystemRAM SystemRAM
|
|
1273
|
+
*@ENG_START_DOX @brief Gets the system RAM of a system metric sample. @ENG_END_DOX
|
|
1274
|
+
*
|
|
1275
|
+
*@syntax
|
|
1276
|
+
*@codeStart
|
|
1277
|
+
* @ref ADLX_RESULT SystemRAM (adlx_int* data)
|
|
1278
|
+
*@codeEnd
|
|
1279
|
+
*
|
|
1280
|
+
*@params
|
|
1281
|
+
*@paramrow{1.,[out] ,data,adlx_int* ,@ENG_START_DOX The pointer to a variable where the system RAM (in MB) is returned. @ENG_END_DOX}
|
|
1282
|
+
*
|
|
1283
|
+
*@retvalues
|
|
1284
|
+
*@ENG_START_DOX If the system RAM is successfully returned, __ADLX_OK__ is returned. <br>
|
|
1285
|
+
* If the system RAM is not successfully returned, an error code is returned. <br>
|
|
1286
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
1287
|
+
*
|
|
1288
|
+
*
|
|
1289
|
+
*@copydoc IADLXSystemMetrics_REQ_TABLE
|
|
1290
|
+
*
|
|
1291
|
+
*/
|
|
1292
|
+
virtual ADLX_RESULT ADLX_STD_CALL SystemRAM (adlx_int* data) = 0;
|
|
1293
|
+
/**
|
|
1294
|
+
*@page DOX_IADLXSystemMetrics_SmartShift SmartShift
|
|
1295
|
+
*@ENG_START_DOX @brief Gets the SmartShift value of a system metric sample. @ENG_END_DOX
|
|
1296
|
+
*
|
|
1297
|
+
*@syntax
|
|
1298
|
+
*@codeStart
|
|
1299
|
+
* @ref ADLX_RESULT SmartShift (adlx_int* data)
|
|
1300
|
+
*@codeEnd
|
|
1301
|
+
*
|
|
1302
|
+
*@params
|
|
1303
|
+
*@paramrow{1.,[out] ,data,adlx_int* ,@ENG_START_DOX The pointer to a variable where the SmartShift value is returned. @ENG_END_DOX}
|
|
1304
|
+
*
|
|
1305
|
+
*@retvalues
|
|
1306
|
+
*@ENG_START_DOX If the SmartShift value is successfully returned, __ADLX_OK__ is returned. <br>
|
|
1307
|
+
* If the SmartShift value is not successfully returned, an error code is returned. <br>
|
|
1308
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
1309
|
+
*
|
|
1310
|
+
*@detaileddesc
|
|
1311
|
+
*@ENG_START_DOX @details The value returned by SmartShift is an integer number which is within -100 to +100 range.<br>
|
|
1312
|
+
* A negative value indicates that the power is shifted to the CPU. <br>
|
|
1313
|
+
* A positive value indicates that the power is shifted to the GPU. <br>
|
|
1314
|
+
* Considering zero as the state with no power shift, the larger the deviation from zero, the larger the power shift. @ENG_END_DOX
|
|
1315
|
+
*
|
|
1316
|
+
*@addinfo
|
|
1317
|
+
*@ENG_START_DOX AMD SmartShift helps boost notebook performance by dynamically shifting the power between the CPU and the GPU depending on the workload. @ENG_END_DOX
|
|
1318
|
+
*
|
|
1319
|
+
*@copydoc IADLXSystemMetrics_REQ_TABLE
|
|
1320
|
+
*
|
|
1321
|
+
*/
|
|
1322
|
+
virtual ADLX_RESULT ADLX_STD_CALL SmartShift (adlx_int* data) = 0;
|
|
1323
|
+
};
|
|
1324
|
+
//----------------------------------------------------------------------------------------------
|
|
1325
|
+
typedef IADLXInterfacePtr_T<IADLXSystemMetrics> IADLXSystemMetricsPtr;
|
|
1326
|
+
} //namespace adlx
|
|
1327
|
+
#else //__cplusplus
|
|
1328
|
+
ADLX_DECLARE_IID (IADLXSystemMetrics, L"IADLXSystemMetrics")
|
|
1329
|
+
|
|
1330
|
+
typedef struct IADLXSystemMetrics IADLXSystemMetrics;
|
|
1331
|
+
|
|
1332
|
+
typedef struct IADLXSystemMetricsVtbl
|
|
1333
|
+
{
|
|
1334
|
+
//IADLXInterface
|
|
1335
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXSystemMetrics* pThis);
|
|
1336
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXSystemMetrics* pThis);
|
|
1337
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXSystemMetrics* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
1338
|
+
|
|
1339
|
+
//IADLXSystemMetrics
|
|
1340
|
+
ADLX_RESULT (ADLX_STD_CALL *TimeStamp)(IADLXSystemMetrics* pThis, adlx_int64* ms);
|
|
1341
|
+
ADLX_RESULT (ADLX_STD_CALL *CPUUsage)(IADLXSystemMetrics* pThis, adlx_double* data);
|
|
1342
|
+
ADLX_RESULT (ADLX_STD_CALL *SystemRAM)(IADLXSystemMetrics* pThis, adlx_int* data);
|
|
1343
|
+
ADLX_RESULT (ADLX_STD_CALL *SmartShift)(IADLXSystemMetrics* pThis, adlx_int* data);
|
|
1344
|
+
}IADLXSystemMetricsVtbl;
|
|
1345
|
+
|
|
1346
|
+
struct IADLXSystemMetrics { const IADLXSystemMetricsVtbl *pVtbl; };
|
|
1347
|
+
#endif //__cplusplus
|
|
1348
|
+
#pragma endregion IADLXSystemMetrics
|
|
1349
|
+
|
|
1350
|
+
#pragma region IADLXSystemMetricsList
|
|
1351
|
+
#if defined (__cplusplus)
|
|
1352
|
+
namespace adlx
|
|
1353
|
+
{
|
|
1354
|
+
class ADLX_NO_VTABLE IADLXSystemMetricsList : public IADLXList
|
|
1355
|
+
{
|
|
1356
|
+
public:
|
|
1357
|
+
ADLX_DECLARE_IID (L"IADLXSystemMetricsList")
|
|
1358
|
+
//Lists must declare the type of items it holds - what was passed as ADLX_DECLARE_IID() in that interface
|
|
1359
|
+
ADLX_DECLARE_ITEM_IID (IADLXSystemMetrics::IID ())
|
|
1360
|
+
|
|
1361
|
+
/**
|
|
1362
|
+
* @page DOX_IADLXSystemMetricsList_At At
|
|
1363
|
+
* @ENG_START_DOX
|
|
1364
|
+
* @brief Returns the reference counted interface at the requested location.
|
|
1365
|
+
* @ENG_END_DOX
|
|
1366
|
+
*
|
|
1367
|
+
* @syntax
|
|
1368
|
+
* @codeStart
|
|
1369
|
+
* @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXSystemMetrics** ppItem)
|
|
1370
|
+
* @codeEnd
|
|
1371
|
+
*
|
|
1372
|
+
* @params
|
|
1373
|
+
* @paramrow{1.,[in] ,location,const adlx_uint ,@ENG_START_DOX The location of the requested interface. @ENG_END_DOX}
|
|
1374
|
+
* @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXSystemMetrics** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets dereferenced address __*ppItem__ to __nullptr__. @ENG_END_DOX}
|
|
1375
|
+
*
|
|
1376
|
+
* @retvalues
|
|
1377
|
+
* @ENG_START_DOX
|
|
1378
|
+
* If the location is within the list bounds, __ADLX_OK__ is returned. <br>
|
|
1379
|
+
* If the location is not within the list bounds, an error code is returned. <br>
|
|
1380
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.
|
|
1381
|
+
* @ENG_END_DOX
|
|
1382
|
+
*
|
|
1383
|
+
* @detaileddesc
|
|
1384
|
+
* @ENG_START_DOX
|
|
1385
|
+
* @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
|
|
1386
|
+
* @ENG_END_DOX
|
|
1387
|
+
*
|
|
1388
|
+
* @addinfo
|
|
1389
|
+
* @ENG_START_DOX
|
|
1390
|
+
* 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.
|
|
1391
|
+
* @ENG_END_DOX
|
|
1392
|
+
*
|
|
1393
|
+
* @copydoc IADLXSystemMetricsList_REQ_TABLE
|
|
1394
|
+
*
|
|
1395
|
+
*/
|
|
1396
|
+
virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXSystemMetrics** ppItem) = 0;
|
|
1397
|
+
|
|
1398
|
+
/**
|
|
1399
|
+
*@page DOX_IADLXSystemMetricsList_Add_Back Add_Back
|
|
1400
|
+
*@ENG_START_DOX @brief Adds an interface to the end of a list. @ENG_END_DOX
|
|
1401
|
+
*
|
|
1402
|
+
*@syntax
|
|
1403
|
+
*@codeStart
|
|
1404
|
+
* @ref ADLX_RESULT Add_Back (@ref DOX_IADLXSystemMetrics* pItem)
|
|
1405
|
+
*@codeEnd
|
|
1406
|
+
*
|
|
1407
|
+
*@params
|
|
1408
|
+
*@paramrow{1.,[in] ,pItem,@ref DOX_IADLXSystemMetrics* ,@ENG_START_DOX The pointer to the interface to be added to the list. @ENG_END_DOX}
|
|
1409
|
+
*
|
|
1410
|
+
*@retvalues
|
|
1411
|
+
*@ENG_START_DOX If the interface is added successfully to the end of the list, __ADLX_OK__ is returned. <br>
|
|
1412
|
+
* If the interface is not added to the end of the list, an error code is returned. <br>
|
|
1413
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
1414
|
+
*
|
|
1415
|
+
*
|
|
1416
|
+
*@copydoc IADLXSystemMetricsList_REQ_TABLE
|
|
1417
|
+
*
|
|
1418
|
+
*/
|
|
1419
|
+
virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXSystemMetrics* pItem) = 0;
|
|
1420
|
+
}; //IADLXSystemMetricsList
|
|
1421
|
+
//----------------------------------------------------------------------------------------------
|
|
1422
|
+
typedef IADLXInterfacePtr_T<IADLXSystemMetricsList> IADLXSystemMetricsListPtr;
|
|
1423
|
+
} //namespace adlx
|
|
1424
|
+
#else //__cplusplus
|
|
1425
|
+
ADLX_DECLARE_IID (IADLXSystemMetricsList, L"IADLXSystemMetricsList")
|
|
1426
|
+
ADLX_DECLARE_ITEM_IID (IADLXSystemMetrics, IID_IADLXSystemMetrics ())
|
|
1427
|
+
|
|
1428
|
+
typedef struct IADLXSystemMetricsList IADLXSystemMetricsList;
|
|
1429
|
+
|
|
1430
|
+
typedef struct IADLXSystemMetricsListVtbl
|
|
1431
|
+
{
|
|
1432
|
+
//IADLXInterface
|
|
1433
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXSystemMetricsList* pThis);
|
|
1434
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXSystemMetricsList* pThis);
|
|
1435
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXSystemMetricsList* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
1436
|
+
|
|
1437
|
+
//IADLXList
|
|
1438
|
+
adlx_uint (ADLX_STD_CALL *Size)(IADLXSystemMetricsList* pThis);
|
|
1439
|
+
adlx_bool (ADLX_STD_CALL *Empty)(IADLXSystemMetricsList* pThis);
|
|
1440
|
+
adlx_uint (ADLX_STD_CALL *Begin)(IADLXSystemMetricsList* pThis);
|
|
1441
|
+
adlx_uint (ADLX_STD_CALL *End)(IADLXSystemMetricsList* pThis);
|
|
1442
|
+
ADLX_RESULT (ADLX_STD_CALL *At)(IADLXSystemMetricsList* pThis, const adlx_uint location, IADLXInterface** ppItem);
|
|
1443
|
+
ADLX_RESULT (ADLX_STD_CALL *Clear)(IADLXSystemMetricsList* pThis);
|
|
1444
|
+
ADLX_RESULT (ADLX_STD_CALL *Remove_Back)(IADLXSystemMetricsList* pThis);
|
|
1445
|
+
ADLX_RESULT (ADLX_STD_CALL *Add_Back)(IADLXSystemMetricsList* pThis, IADLXInterface* pItem);
|
|
1446
|
+
|
|
1447
|
+
//IADLXSystemMetricsList
|
|
1448
|
+
ADLX_RESULT (ADLX_STD_CALL *At_SystemMetricsList)(IADLXSystemMetricsList* pThis, const adlx_uint location, IADLXSystemMetrics** ppItem);
|
|
1449
|
+
ADLX_RESULT (ADLX_STD_CALL *Add_Back_SystemMetricsList)(IADLXSystemMetricsList* pThis, IADLXSystemMetrics* pItem);
|
|
1450
|
+
|
|
1451
|
+
}IADLXSystemMetricsListVtbl;
|
|
1452
|
+
|
|
1453
|
+
struct IADLXSystemMetricsList { const IADLXSystemMetricsListVtbl *pVtbl; };
|
|
1454
|
+
#endif //__cplusplus
|
|
1455
|
+
#pragma endregion IADLXSystemMetricsList
|
|
1456
|
+
|
|
1457
|
+
#pragma region IADLXFPS
|
|
1458
|
+
#if defined (__cplusplus)
|
|
1459
|
+
namespace adlx
|
|
1460
|
+
{
|
|
1461
|
+
class ADLX_NO_VTABLE IADLXFPS : public IADLXInterface
|
|
1462
|
+
{
|
|
1463
|
+
public:
|
|
1464
|
+
ADLX_DECLARE_IID (L"IADLXFPS")
|
|
1465
|
+
/**
|
|
1466
|
+
*@page DOX_IADLXFPS_TimeStamp TimeStamp
|
|
1467
|
+
*@ENG_START_DOX @brief Gets the timestamp of an FPS metric sample. @ENG_END_DOX
|
|
1468
|
+
*
|
|
1469
|
+
*@syntax
|
|
1470
|
+
*@codeStart
|
|
1471
|
+
* @ref ADLX_RESULT TimeStamp (adlx_int64* ms)
|
|
1472
|
+
*@codeEnd
|
|
1473
|
+
*
|
|
1474
|
+
*@params
|
|
1475
|
+
*@paramrow{1.,[out] ,ms,adlx_int64* ,@ENG_START_DOX The pointer to a variable where the timestamp (in ms) is returned. @ENG_END_DOX}
|
|
1476
|
+
*
|
|
1477
|
+
*@retvalues
|
|
1478
|
+
*@ENG_START_DOX If the timestamp is successfully returned, __ADLX_OK__ is returned. <br>
|
|
1479
|
+
* If the timestamp is not successfully returned, an error code is returned. <br>
|
|
1480
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
1481
|
+
*
|
|
1482
|
+
*@detaileddesc
|
|
1483
|
+
*@ENG_START_DOX @details The timestamp is the duration (in ms) from the system epoch time to the time when the metric sample was acquired. @ENG_END_DOX
|
|
1484
|
+
*
|
|
1485
|
+
*@copydoc IADLXFPS_REQ_TABLE
|
|
1486
|
+
*
|
|
1487
|
+
*/
|
|
1488
|
+
virtual ADLX_RESULT ADLX_STD_CALL TimeStamp (adlx_int64* ms) = 0;
|
|
1489
|
+
/**
|
|
1490
|
+
*@page DOX_IADLXFPS_FPS FPS
|
|
1491
|
+
*@ENG_START_DOX @brief Gets the FPS when this metric set was acquired. @ENG_END_DOX
|
|
1492
|
+
*
|
|
1493
|
+
*@syntax
|
|
1494
|
+
*@codeStart
|
|
1495
|
+
* @ref ADLX_RESULT FPS (adlx_int* data)
|
|
1496
|
+
*@codeEnd
|
|
1497
|
+
*
|
|
1498
|
+
*@params
|
|
1499
|
+
*@paramrow{1.,[out] ,data,adlx_int* ,@ENG_START_DOX The pointer to a variable where the FPS is returned. @ENG_END_DOX}
|
|
1500
|
+
*
|
|
1501
|
+
*@retvalues
|
|
1502
|
+
*@ENG_START_DOX If the FPS is successfully returned, __ADLX_OK__ is returned. <br>
|
|
1503
|
+
* If the FPS is not successfully returned, an error code is returned. <br>
|
|
1504
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
1505
|
+
*
|
|
1506
|
+
*
|
|
1507
|
+
*@copydoc IADLXFPS_REQ_TABLE
|
|
1508
|
+
*
|
|
1509
|
+
*/
|
|
1510
|
+
virtual ADLX_RESULT ADLX_STD_CALL FPS (adlx_int* data) = 0;
|
|
1511
|
+
};
|
|
1512
|
+
//----------------------------------------------------------------------------------------------
|
|
1513
|
+
typedef IADLXInterfacePtr_T<IADLXFPS> IADLXFPSPtr;
|
|
1514
|
+
} //namespace adlx
|
|
1515
|
+
#else //__cplusplus
|
|
1516
|
+
ADLX_DECLARE_IID (IADLXFPS, L"IADLXFPS")
|
|
1517
|
+
|
|
1518
|
+
typedef struct IADLXFPS IADLXFPS;
|
|
1519
|
+
|
|
1520
|
+
typedef struct IADLXFPSVtbl
|
|
1521
|
+
{
|
|
1522
|
+
//IADLXInterface
|
|
1523
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXFPS* pThis);
|
|
1524
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXFPS* pThis);
|
|
1525
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXFPS* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
1526
|
+
|
|
1527
|
+
//IADLXFPS
|
|
1528
|
+
ADLX_RESULT (ADLX_STD_CALL *TimeStamp)(IADLXFPS* pThis, adlx_int64* ms);
|
|
1529
|
+
ADLX_RESULT (ADLX_STD_CALL *FPS)(IADLXFPS* pThis, adlx_int* data);
|
|
1530
|
+
}IADLXFPSVtbl;
|
|
1531
|
+
|
|
1532
|
+
struct IADLXFPS { const IADLXFPSVtbl *pVtbl; };
|
|
1533
|
+
#endif //__cplusplus
|
|
1534
|
+
#pragma endregion IADLXFPS
|
|
1535
|
+
|
|
1536
|
+
#pragma region IADLXFPSList
|
|
1537
|
+
#if defined (__cplusplus)
|
|
1538
|
+
namespace adlx
|
|
1539
|
+
{
|
|
1540
|
+
class ADLX_NO_VTABLE IADLXFPSList : public IADLXList
|
|
1541
|
+
{
|
|
1542
|
+
public:
|
|
1543
|
+
ADLX_DECLARE_IID (L"IADLXFPSList")
|
|
1544
|
+
//Lists must declare the type of items it holds - what was passed as ADLX_DECLARE_IID() in that interface
|
|
1545
|
+
ADLX_DECLARE_ITEM_IID (IADLXFPS::IID ())
|
|
1546
|
+
|
|
1547
|
+
/**
|
|
1548
|
+
* @page DOX_IADLXFPSList_At At
|
|
1549
|
+
* @ENG_START_DOX
|
|
1550
|
+
* @brief Returns the reference counted interface at the requested location.
|
|
1551
|
+
* @ENG_END_DOX
|
|
1552
|
+
*
|
|
1553
|
+
* @syntax
|
|
1554
|
+
* @codeStart
|
|
1555
|
+
* @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXFPS** ppItem)
|
|
1556
|
+
* @codeEnd
|
|
1557
|
+
*
|
|
1558
|
+
* @params
|
|
1559
|
+
* @paramrow{1.,[in] ,location,const adlx_uint ,@ENG_START_DOX The location of the requested interface. @ENG_END_DOX}
|
|
1560
|
+
* @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXFPS** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets dereferenced address __*ppItem__ to __nullptr__. @ENG_END_DOX}
|
|
1561
|
+
*
|
|
1562
|
+
* @retvalues
|
|
1563
|
+
* @ENG_START_DOX
|
|
1564
|
+
* If the location is within the list bounds, __ADLX_OK__ is returned. <br>
|
|
1565
|
+
* If the location is not within the list bounds, an error code is returned. <br>
|
|
1566
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.
|
|
1567
|
+
* @ENG_END_DOX
|
|
1568
|
+
*
|
|
1569
|
+
* @detaileddesc
|
|
1570
|
+
* @ENG_START_DOX
|
|
1571
|
+
* @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
|
|
1572
|
+
* @ENG_END_DOX
|
|
1573
|
+
*
|
|
1574
|
+
* @addinfo
|
|
1575
|
+
* @ENG_START_DOX
|
|
1576
|
+
* 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.
|
|
1577
|
+
* @ENG_END_DOX
|
|
1578
|
+
*
|
|
1579
|
+
* @copydoc IADLXFPSList_REQ_TABLE
|
|
1580
|
+
*
|
|
1581
|
+
*/
|
|
1582
|
+
virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXFPS** ppItem) = 0;
|
|
1583
|
+
|
|
1584
|
+
/**
|
|
1585
|
+
*@page DOX_IADLXFPSList_Add_Back Add_Back
|
|
1586
|
+
*@ENG_START_DOX @brief Adds an interface to the end of a list. @ENG_END_DOX
|
|
1587
|
+
*
|
|
1588
|
+
*@syntax
|
|
1589
|
+
*@codeStart
|
|
1590
|
+
* @ref ADLX_RESULT Add_Back (@ref DOX_IADLXFPS* pItem)
|
|
1591
|
+
*@codeEnd
|
|
1592
|
+
*
|
|
1593
|
+
*@params
|
|
1594
|
+
*@paramrow{1.,[in] ,pItem,@ref DOX_IADLXFPS* ,@ENG_START_DOX The pointer to the interface to be added to the list. @ENG_END_DOX}
|
|
1595
|
+
*
|
|
1596
|
+
*@retvalues
|
|
1597
|
+
*@ENG_START_DOX If the interface is added successfully to the end of the list, __ADLX_OK__ is returned. <br>
|
|
1598
|
+
* If the interface is not added to the end of the list, an error code is returned. <br>
|
|
1599
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
1600
|
+
*
|
|
1601
|
+
*
|
|
1602
|
+
*@copydoc IADLXFPSList_REQ_TABLE
|
|
1603
|
+
*
|
|
1604
|
+
*/
|
|
1605
|
+
virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXFPS* pItem) = 0;
|
|
1606
|
+
}; //IADLXFPSList
|
|
1607
|
+
//----------------------------------------------------------------------------------------------
|
|
1608
|
+
typedef IADLXInterfacePtr_T<IADLXFPSList> IADLXFPSListPtr;
|
|
1609
|
+
} //namespace adlx
|
|
1610
|
+
#else //__cplusplus
|
|
1611
|
+
ADLX_DECLARE_IID (IADLXFPSList, L"IADLXFPSList")
|
|
1612
|
+
ADLX_DECLARE_ITEM_IID (IADLXFPS, IID_IADLXFPS ())
|
|
1613
|
+
|
|
1614
|
+
typedef struct IADLXFPSList IADLXFPSList;
|
|
1615
|
+
|
|
1616
|
+
typedef struct IADLXFPSListVtbl
|
|
1617
|
+
{
|
|
1618
|
+
//IADLXInterface
|
|
1619
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXFPSList* pThis);
|
|
1620
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXFPSList* pThis);
|
|
1621
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXFPSList* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
1622
|
+
|
|
1623
|
+
//IADLXList
|
|
1624
|
+
adlx_uint (ADLX_STD_CALL *Size)(IADLXFPSList* pThis);
|
|
1625
|
+
adlx_bool (ADLX_STD_CALL *Empty)(IADLXFPSList* pThis);
|
|
1626
|
+
adlx_uint (ADLX_STD_CALL *Begin)(IADLXFPSList* pThis);
|
|
1627
|
+
adlx_uint (ADLX_STD_CALL *End)(IADLXFPSList* pThis);
|
|
1628
|
+
ADLX_RESULT (ADLX_STD_CALL *At)(IADLXFPSList* pThis, const adlx_uint location, IADLXInterface** ppItem);
|
|
1629
|
+
ADLX_RESULT (ADLX_STD_CALL *Clear)(IADLXFPSList* pThis);
|
|
1630
|
+
ADLX_RESULT (ADLX_STD_CALL *Remove_Back)(IADLXFPSList* pThis);
|
|
1631
|
+
ADLX_RESULT (ADLX_STD_CALL *Add_Back)(IADLXFPSList* pThis, IADLXInterface* pItem);
|
|
1632
|
+
|
|
1633
|
+
//IADLXFPSList
|
|
1634
|
+
ADLX_RESULT (ADLX_STD_CALL *At_FPSList)(IADLXFPSList* pThis, const adlx_uint location, IADLXFPS** ppItem);
|
|
1635
|
+
ADLX_RESULT (ADLX_STD_CALL *Add_Back_FPSList)(IADLXFPSList* pThis, IADLXFPS* pItem);
|
|
1636
|
+
|
|
1637
|
+
}IADLXFPSListVtbl;
|
|
1638
|
+
|
|
1639
|
+
struct IADLXFPSList { const IADLXFPSListVtbl *pVtbl; };
|
|
1640
|
+
#endif //__cplusplus
|
|
1641
|
+
#pragma endregion IADLXFPSList
|
|
1642
|
+
|
|
1643
|
+
#pragma region IADLXAllMetrics
|
|
1644
|
+
#if defined (__cplusplus)
|
|
1645
|
+
namespace adlx
|
|
1646
|
+
{
|
|
1647
|
+
class ADLX_NO_VTABLE IADLXGPU;
|
|
1648
|
+
class ADLX_NO_VTABLE IADLXAllMetrics : public IADLXInterface
|
|
1649
|
+
{
|
|
1650
|
+
public:
|
|
1651
|
+
ADLX_DECLARE_IID (L"IADLXAllMetrics")
|
|
1652
|
+
/**
|
|
1653
|
+
*@page DOX_IADLXAllMetrics_TimeStamp TimeStamp
|
|
1654
|
+
*@ENG_START_DOX @brief Gets the timestamp of a metric sample. @ENG_END_DOX
|
|
1655
|
+
*
|
|
1656
|
+
*@syntax
|
|
1657
|
+
*@codeStart
|
|
1658
|
+
* @ref ADLX_RESULT TimeStamp (adlx_int64* ms)
|
|
1659
|
+
*@codeEnd
|
|
1660
|
+
*
|
|
1661
|
+
*@params
|
|
1662
|
+
*@paramrow{1.,[out] ,ms,adlx_int64* ,@ENG_START_DOX The pointer to a variable where the timestamp (in ms) is returned. @ENG_END_DOX}
|
|
1663
|
+
*
|
|
1664
|
+
*@retvalues
|
|
1665
|
+
*@ENG_START_DOX If the timestamp is successfully returned, __ADLX_OK__ is returned. <br>
|
|
1666
|
+
* If the timestamp is not successfully returned, an error code is returned. <br>
|
|
1667
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
1668
|
+
*
|
|
1669
|
+
*@detaileddesc
|
|
1670
|
+
*@ENG_START_DOX @details The timestamp is the duration (in ms) from the system epoch time to the time when the metric sample was acquired. @ENG_END_DOX
|
|
1671
|
+
*
|
|
1672
|
+
*@copydoc IADLXAllMetrics_REQ_TABLE
|
|
1673
|
+
*
|
|
1674
|
+
*/
|
|
1675
|
+
virtual ADLX_RESULT ADLX_STD_CALL TimeStamp (adlx_int64* ms) = 0;
|
|
1676
|
+
/**
|
|
1677
|
+
*@page DOX_IADLXAllMetrics_GetSystemMetrics GetSystemMetrics
|
|
1678
|
+
*@ENG_START_DOX @brief Gets the reference counted system metrics interface of a metric sample. @ENG_END_DOX
|
|
1679
|
+
*
|
|
1680
|
+
*@syntax
|
|
1681
|
+
*@codeStart
|
|
1682
|
+
* @ref ADLX_RESULT GetSystemMetrics (@ref DOX_IADLXSystemMetrics** ppSystemMetrics)
|
|
1683
|
+
*@codeEnd
|
|
1684
|
+
*
|
|
1685
|
+
*@params
|
|
1686
|
+
* @paramrow{1.,[out] ,ppSystemMetrics,@ref DOX_IADLXSystemMetrics** ,@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 __*ppSystemMetrics__ to __nullptr__. @ENG_END_DOX}
|
|
1687
|
+
*
|
|
1688
|
+
*@retvalues
|
|
1689
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned. <br>
|
|
1690
|
+
* If the interface is not successfully returned, an error code is returned. <br>
|
|
1691
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
1692
|
+
*
|
|
1693
|
+
*@detaileddesc
|
|
1694
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
|
|
1695
|
+
*
|
|
1696
|
+
*@addinfo
|
|
1697
|
+
*@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
|
|
1698
|
+
*
|
|
1699
|
+
*@copydoc IADLXAllMetrics_REQ_TABLE
|
|
1700
|
+
*
|
|
1701
|
+
*/
|
|
1702
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetSystemMetrics (IADLXSystemMetrics** ppSystemMetrics) = 0;
|
|
1703
|
+
/**
|
|
1704
|
+
*@page DOX_IADLXAllMetrics_GetFPS GetFPS
|
|
1705
|
+
*@ENG_START_DOX @brief Gets the reference counted FPS metrics interface of a metric sample. @ENG_END_DOX
|
|
1706
|
+
*
|
|
1707
|
+
*@syntax
|
|
1708
|
+
*@codeStart
|
|
1709
|
+
* @ref ADLX_RESULT GetFPS (@ref DOX_IADLXFPS** ppFPS)
|
|
1710
|
+
*@codeEnd
|
|
1711
|
+
*
|
|
1712
|
+
*@params
|
|
1713
|
+
* @paramrow{1.,[out] ,ppFPS,@ref DOX_IADLXFPS** ,@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 __*ppFPS__ to __nullptr__. @ENG_END_DOX}
|
|
1714
|
+
*
|
|
1715
|
+
*@retvalues
|
|
1716
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned. <br>
|
|
1717
|
+
* If the interface is not successfully returned, an error code is returned. <br>
|
|
1718
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
1719
|
+
*
|
|
1720
|
+
*@detaileddesc
|
|
1721
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
|
|
1722
|
+
*
|
|
1723
|
+
*@addinfo
|
|
1724
|
+
*@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
|
|
1725
|
+
*
|
|
1726
|
+
*@copydoc IADLXAllMetrics_REQ_TABLE
|
|
1727
|
+
*
|
|
1728
|
+
*/
|
|
1729
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetFPS (IADLXFPS** ppFPS) = 0;
|
|
1730
|
+
/**
|
|
1731
|
+
*@page DOX_IADLXAllMetrics_GetGPUMetrics GetGPUMetrics
|
|
1732
|
+
*@ENG_START_DOX @brief Gets the reference counted GPU metrics interface of a metric sample. @ENG_END_DOX
|
|
1733
|
+
*
|
|
1734
|
+
*@syntax
|
|
1735
|
+
*@codeStart
|
|
1736
|
+
* @ref ADLX_RESULT GetGPUMetrics (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXGPUMetrics** ppGPUMetrics)
|
|
1737
|
+
*@codeEnd
|
|
1738
|
+
*
|
|
1739
|
+
*@params
|
|
1740
|
+
* @paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to a variable where IADLXGPU interface is returned. @ENG_END_DOX}
|
|
1741
|
+
* @paramrow{2.,[out] ,ppGPUMetrics,@ref DOX_IADLXGPUMetrics** ,@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 __*ppGPUMetrics__ to __nullptr__. @ENG_END_DOX}
|
|
1742
|
+
*
|
|
1743
|
+
*@retvalues
|
|
1744
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned. <br>
|
|
1745
|
+
* If the interface is not successfully returned, an error code is returned. <br>
|
|
1746
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
1747
|
+
*
|
|
1748
|
+
*@detaileddesc
|
|
1749
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
|
|
1750
|
+
*
|
|
1751
|
+
*@addinfo
|
|
1752
|
+
*@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
|
|
1753
|
+
*
|
|
1754
|
+
*@copydoc IADLXAllMetrics_REQ_TABLE
|
|
1755
|
+
*
|
|
1756
|
+
*/
|
|
1757
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetGPUMetrics (IADLXGPU* pGPU, IADLXGPUMetrics** ppGPUMetrics) = 0;
|
|
1758
|
+
};
|
|
1759
|
+
//----------------------------------------------------------------------------------------------
|
|
1760
|
+
typedef IADLXInterfacePtr_T<IADLXAllMetrics> IADLXAllMetricsPtr;
|
|
1761
|
+
} //namespace adlx
|
|
1762
|
+
#else //__cplusplus
|
|
1763
|
+
ADLX_DECLARE_IID (IADLXAllMetrics, L"IADLXAllMetrics")
|
|
1764
|
+
|
|
1765
|
+
typedef struct IADLXAllMetrics IADLXAllMetrics;
|
|
1766
|
+
|
|
1767
|
+
typedef struct IADLXAllMetricsVtbl
|
|
1768
|
+
{
|
|
1769
|
+
//IADLXInterface
|
|
1770
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXAllMetrics* pThis);
|
|
1771
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXAllMetrics* pThis);
|
|
1772
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXAllMetrics* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
1773
|
+
|
|
1774
|
+
//IADLXAllMetrics
|
|
1775
|
+
ADLX_RESULT (ADLX_STD_CALL *TimeStamp)(IADLXAllMetrics* pThis, adlx_int64* ms);
|
|
1776
|
+
ADLX_RESULT (ADLX_STD_CALL *GetSystemMetrics)(IADLXAllMetrics* pThis, IADLXSystemMetrics** metrics);
|
|
1777
|
+
ADLX_RESULT (ADLX_STD_CALL *GetFPS)(IADLXAllMetrics* pThis, IADLXFPS** metrics);
|
|
1778
|
+
ADLX_RESULT (ADLX_STD_CALL *GetGPUMetrics)(IADLXAllMetrics* pThis, IADLXGPU* pGPU, IADLXGPUMetrics** metrics);
|
|
1779
|
+
}IADLXAllMetricsVtbl;
|
|
1780
|
+
|
|
1781
|
+
struct IADLXAllMetrics { const IADLXAllMetricsVtbl *pVtbl; };
|
|
1782
|
+
#endif //__cplusplus
|
|
1783
|
+
#pragma endregion IADLXAllMetrics
|
|
1784
|
+
|
|
1785
|
+
#pragma region IADLXAllMetricsList
|
|
1786
|
+
#if defined (__cplusplus)
|
|
1787
|
+
namespace adlx
|
|
1788
|
+
{
|
|
1789
|
+
class ADLX_NO_VTABLE IADLXAllMetricsList : public IADLXList
|
|
1790
|
+
{
|
|
1791
|
+
public:
|
|
1792
|
+
ADLX_DECLARE_IID (L"IADLXAllMetricsList")
|
|
1793
|
+
//Lists must declare the type of items it holds - what was passed as ADLX_DECLARE_IID() in that interface
|
|
1794
|
+
ADLX_DECLARE_ITEM_IID (IADLXAllMetrics::IID ())
|
|
1795
|
+
|
|
1796
|
+
/**
|
|
1797
|
+
* @page DOX_IADLXAllMetricsList_At At
|
|
1798
|
+
* @ENG_START_DOX
|
|
1799
|
+
* @brief Returns the reference counted interface at the requested location.
|
|
1800
|
+
* @ENG_END_DOX
|
|
1801
|
+
*
|
|
1802
|
+
* @syntax
|
|
1803
|
+
* @codeStart
|
|
1804
|
+
* @ref ADLX_RESULT At (const adlx_uint location, @ref DOX_IADLXAllMetrics** ppItem)
|
|
1805
|
+
* @codeEnd
|
|
1806
|
+
*
|
|
1807
|
+
* @params
|
|
1808
|
+
* @paramrow{1.,[in] ,location,const adlx_uint ,@ENG_START_DOX The location of the requested interface. @ENG_END_DOX}
|
|
1809
|
+
* @paramrow{2.,[out] ,ppItem,@ref DOX_IADLXAllMetrics** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets dereferenced address __*ppItem__ to __nullptr__. @ENG_END_DOX}
|
|
1810
|
+
*
|
|
1811
|
+
* @retvalues
|
|
1812
|
+
* @ENG_START_DOX
|
|
1813
|
+
* If the location is within the list bounds, __ADLX_OK__ is returned. <br>
|
|
1814
|
+
* If the location is not within the list bounds, an error code is returned. <br>
|
|
1815
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.
|
|
1816
|
+
* @ENG_END_DOX
|
|
1817
|
+
*
|
|
1818
|
+
* @detaileddesc
|
|
1819
|
+
* @ENG_START_DOX
|
|
1820
|
+
* @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
|
|
1821
|
+
* @ENG_END_DOX
|
|
1822
|
+
*
|
|
1823
|
+
* @addinfo
|
|
1824
|
+
* @ENG_START_DOX
|
|
1825
|
+
* 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.
|
|
1826
|
+
* @ENG_END_DOX
|
|
1827
|
+
*
|
|
1828
|
+
* @copydoc IADLXAllMetricsList_REQ_TABLE
|
|
1829
|
+
*
|
|
1830
|
+
*/
|
|
1831
|
+
virtual ADLX_RESULT ADLX_STD_CALL At (const adlx_uint location, IADLXAllMetrics** ppItem) = 0;
|
|
1832
|
+
|
|
1833
|
+
/**
|
|
1834
|
+
*@page DOX_IADLXAllMetricsList_Add_Back Add_Back
|
|
1835
|
+
*@ENG_START_DOX @brief Adds an interface to the end of a list. @ENG_END_DOX
|
|
1836
|
+
*
|
|
1837
|
+
*@syntax
|
|
1838
|
+
*@codeStart
|
|
1839
|
+
* @ref ADLX_RESULT Add_Back (@ref DOX_IADLXAllMetrics* pItem)
|
|
1840
|
+
*@codeEnd
|
|
1841
|
+
*
|
|
1842
|
+
*@params
|
|
1843
|
+
*@paramrow{1.,[in] ,pItem,@ref DOX_IADLXAllMetrics* ,@ENG_START_DOX The pointer to the interface to be added to the list. @ENG_END_DOX}
|
|
1844
|
+
*
|
|
1845
|
+
*@retvalues
|
|
1846
|
+
*@ENG_START_DOX If the interface is added successfully to the end of the list, __ADLX_OK__ is returned. <br>
|
|
1847
|
+
* If the interface is not added to the end of the list, an error code is returned. <br>
|
|
1848
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
1849
|
+
*
|
|
1850
|
+
*@detaileddesc
|
|
1851
|
+
*@ENG_START_DOX @details @ENG_END_DOX
|
|
1852
|
+
*
|
|
1853
|
+
*@copydoc IADLXAllMetricsList_REQ_TABLE
|
|
1854
|
+
*
|
|
1855
|
+
*/
|
|
1856
|
+
virtual ADLX_RESULT ADLX_STD_CALL Add_Back (IADLXAllMetrics* pItem) = 0;
|
|
1857
|
+
}; //IADLXAllMetricsList
|
|
1858
|
+
//----------------------------------------------------------------------------------------------
|
|
1859
|
+
typedef IADLXInterfacePtr_T<IADLXAllMetricsList> IADLXAllMetricsListPtr;
|
|
1860
|
+
} //namespace adlx
|
|
1861
|
+
#else //__cplusplus
|
|
1862
|
+
ADLX_DECLARE_IID (IADLXAllMetricsList, L"IADLXAllMetricsList")
|
|
1863
|
+
ADLX_DECLARE_ITEM_IID (IADLXAllMetrics, IID_IADLXAllMetrics ())
|
|
1864
|
+
|
|
1865
|
+
typedef struct IADLXAllMetricsList IADLXAllMetricsList;
|
|
1866
|
+
|
|
1867
|
+
typedef struct IADLXAllMetricsListVtbl
|
|
1868
|
+
{
|
|
1869
|
+
//IADLXInterface
|
|
1870
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXAllMetricsList* pThis);
|
|
1871
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXAllMetricsList* pThis);
|
|
1872
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXAllMetricsList* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
1873
|
+
|
|
1874
|
+
//IADLXList
|
|
1875
|
+
adlx_uint (ADLX_STD_CALL *Size)(IADLXAllMetricsList* pThis);
|
|
1876
|
+
adlx_bool (ADLX_STD_CALL *Empty)(IADLXAllMetricsList* pThis);
|
|
1877
|
+
adlx_uint (ADLX_STD_CALL *Begin)(IADLXAllMetricsList* pThis);
|
|
1878
|
+
adlx_uint (ADLX_STD_CALL *End)(IADLXAllMetricsList* pThis);
|
|
1879
|
+
ADLX_RESULT (ADLX_STD_CALL *At)(IADLXAllMetricsList* pThis, const adlx_uint location, IADLXInterface** ppItem);
|
|
1880
|
+
ADLX_RESULT (ADLX_STD_CALL *Clear)(IADLXAllMetricsList* pThis);
|
|
1881
|
+
ADLX_RESULT (ADLX_STD_CALL *Remove_Back)(IADLXAllMetricsList* pThis);
|
|
1882
|
+
ADLX_RESULT (ADLX_STD_CALL *Add_Back)(IADLXAllMetricsList* pThis, IADLXInterface* pItem);
|
|
1883
|
+
|
|
1884
|
+
//IADLXAllMetricsList
|
|
1885
|
+
ADLX_RESULT (ADLX_STD_CALL *At_AllMetricsList)(IADLXAllMetricsList* pThis, const adlx_uint location, IADLXAllMetrics** ppItem);
|
|
1886
|
+
ADLX_RESULT (ADLX_STD_CALL *Add_Back_AllMetricsList)(IADLXAllMetricsList* pThis, IADLXAllMetrics* pItem);
|
|
1887
|
+
|
|
1888
|
+
}IADLXAllMetricsListVtbl;
|
|
1889
|
+
|
|
1890
|
+
struct IADLXAllMetricsList { const IADLXAllMetricsListVtbl *pVtbl; };
|
|
1891
|
+
#endif //__cplusplus
|
|
1892
|
+
#pragma endregion IADLXAllMetricsList
|
|
1893
|
+
|
|
1894
|
+
#pragma region IADLXPerformanceMonitoringServices
|
|
1895
|
+
#if defined (__cplusplus)
|
|
1896
|
+
namespace adlx
|
|
1897
|
+
{
|
|
1898
|
+
class ADLX_NO_VTABLE IADLXPerformanceMonitoringServices : public IADLXInterface
|
|
1899
|
+
{
|
|
1900
|
+
public:
|
|
1901
|
+
ADLX_DECLARE_IID(L"IADLXPerformanceMonitoringServices")
|
|
1902
|
+
/**
|
|
1903
|
+
*@page DOX_IADLXPerformanceMonitoringServices_GetSamplingIntervalRange GetSamplingIntervalRange
|
|
1904
|
+
*@ENG_START_DOX @brief Gets the maximum sampling interval, minimum sampling interval, and step sampling interval for the performance monitoring. @ENG_END_DOX
|
|
1905
|
+
*
|
|
1906
|
+
*@syntax
|
|
1907
|
+
*@codeStart
|
|
1908
|
+
* @ref ADLX_RESULT GetSamplingIntervalRange (@ref ADLX_IntRange* range)
|
|
1909
|
+
*@codeEnd
|
|
1910
|
+
*
|
|
1911
|
+
*@params
|
|
1912
|
+
* @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the sampling interval range (in millisecond) is returned. @ENG_END_DOX}
|
|
1913
|
+
*
|
|
1914
|
+
*@retvalues
|
|
1915
|
+
*@ENG_START_DOX If the sampling interval range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
1916
|
+
* If the sampling interval range is not successfully returned, an error code is returned.<br>
|
|
1917
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
1918
|
+
*
|
|
1919
|
+
*@detaileddesc
|
|
1920
|
+
*@ENG_START_DOX @details The maximum sampling interval, minimum sampling interval, and step sampling interval are read only. @ENG_END_DOX
|
|
1921
|
+
*
|
|
1922
|
+
*
|
|
1923
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
1924
|
+
*
|
|
1925
|
+
*/
|
|
1926
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetSamplingIntervalRange (ADLX_IntRange* range) = 0;
|
|
1927
|
+
/**
|
|
1928
|
+
*@page DOX_IADLXPerformanceMonitoringServices_SetSamplingInterval SetSamplingInterval
|
|
1929
|
+
*@ENG_START_DOX @brief Sets the sampling interval for the performance monitoring. @ENG_END_DOX
|
|
1930
|
+
*
|
|
1931
|
+
*@syntax
|
|
1932
|
+
*@codeStart
|
|
1933
|
+
* @ref ADLX_RESULT SetSamplingInterval (adlx_int intervalMs)
|
|
1934
|
+
*@codeEnd
|
|
1935
|
+
*
|
|
1936
|
+
*@params
|
|
1937
|
+
*@paramrow{1.,[in] ,intervalMs,adlx_int ,@ENG_START_DOX The sampling interval (in millisecond). @ENG_END_DOX}
|
|
1938
|
+
*
|
|
1939
|
+
*@retvalues
|
|
1940
|
+
*@ENG_START_DOX If the sampling interval is successfully set, __ADLX_OK__ is returned. <br>
|
|
1941
|
+
* If the sampling interval is not successfully set, an error code is returned. <br>
|
|
1942
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
1943
|
+
*
|
|
1944
|
+
*@detaileddesc
|
|
1945
|
+
*@ENG_START_DOX @details The sampling interval is the time gap between two samples.
|
|
1946
|
+
* Obtain the sampling interval range with @ref DOX_IADLXPerformanceMonitoringServices_GetSamplingIntervalRange. The default sampling interval is 1000 ms.
|
|
1947
|
+
* @ENG_END_DOX
|
|
1948
|
+
*
|
|
1949
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
1950
|
+
*
|
|
1951
|
+
*/
|
|
1952
|
+
virtual ADLX_RESULT ADLX_STD_CALL SetSamplingInterval (adlx_int askedIntervalMs) = 0;
|
|
1953
|
+
/**
|
|
1954
|
+
*@page DOX_IADLXPerformanceMonitoringServices_GetSamplingInterval GetSamplingInterval
|
|
1955
|
+
*@ENG_START_DOX @brief Gets the sampling interval for performance monitoring. @ENG_END_DOX
|
|
1956
|
+
*
|
|
1957
|
+
*@syntax
|
|
1958
|
+
*@codeStart
|
|
1959
|
+
* @ref ADLX_RESULT GetSamplingInterval (adlx_int* intervalMs)
|
|
1960
|
+
*@codeEnd
|
|
1961
|
+
*
|
|
1962
|
+
*@params
|
|
1963
|
+
*@paramrow{1.,[out] ,intervalMs,adlx_int* ,@ENG_START_DOX The pointer to a variable where the sampling interval (in millisecond) is returned. @ENG_END_DOX}
|
|
1964
|
+
*
|
|
1965
|
+
*@retvalues
|
|
1966
|
+
*@ENG_START_DOX If the sampling interval is successfully returned, __ADLX_OK__ is returned. <br>
|
|
1967
|
+
* If the sampling interval is not successfully returned, an error code is returned. <br>
|
|
1968
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
1969
|
+
*
|
|
1970
|
+
*@detaileddesc
|
|
1971
|
+
*@ENG_START_DOX @details The sampling interval is the time gap between two samples.
|
|
1972
|
+
* Obtain the sampling interval range with @ref DOX_IADLXPerformanceMonitoringServices_GetSamplingIntervalRange. The default sampling interval is 1000 ms.
|
|
1973
|
+
* @ENG_END_DOX
|
|
1974
|
+
*
|
|
1975
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
1976
|
+
*
|
|
1977
|
+
*/
|
|
1978
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetSamplingInterval (adlx_int* intervalMs) = 0;
|
|
1979
|
+
/**
|
|
1980
|
+
*@page DOX_IADLXPerformanceMonitoringServices_GetMaxPerformanceMetricsHistorySizeRange GetMaxPerformanceMetricsHistorySizeRange
|
|
1981
|
+
*@ENG_START_DOX @brief Gets the maximum size, minimum size, and step size for the performance monitoring buffer. @ENG_END_DOX
|
|
1982
|
+
*
|
|
1983
|
+
*@syntax
|
|
1984
|
+
*@codeStart
|
|
1985
|
+
* @ref ADLX_RESULT GetMaxPerformanceMetricsHistorySizeRange (@ref ADLX_IntRange* range)
|
|
1986
|
+
*@codeEnd
|
|
1987
|
+
*
|
|
1988
|
+
*@params
|
|
1989
|
+
* @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the buffer size range (in second) is returned. @ENG_END_DOX}
|
|
1990
|
+
*
|
|
1991
|
+
*@retvalues
|
|
1992
|
+
*@ENG_START_DOX If the buffer size range is successfully returned, __ADLX_OK__ is returned.<br>
|
|
1993
|
+
* If the buffer size range is not successfully returned, an error code is returned.<br>
|
|
1994
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
1995
|
+
*
|
|
1996
|
+
*@detaileddesc
|
|
1997
|
+
*@ENG_START_DOX @details The maximum buffer size, minimum buffer size, and step buffer size are read only. @ENG_END_DOX
|
|
1998
|
+
*
|
|
1999
|
+
*
|
|
2000
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
2001
|
+
*
|
|
2002
|
+
*/
|
|
2003
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetMaxPerformanceMetricsHistorySizeRange (ADLX_IntRange* range) = 0;
|
|
2004
|
+
/**
|
|
2005
|
+
*@page DOX_IADLXPerformanceMonitoringServices_SetMaxPerformanceMetricsHistorySize SetMaxPerformanceMetricsHistorySize
|
|
2006
|
+
*@ENG_START_DOX @brief Sets the duration of the performance monitoring buffer. @ENG_END_DOX
|
|
2007
|
+
*
|
|
2008
|
+
*@syntax
|
|
2009
|
+
*@codeStart
|
|
2010
|
+
* @ref ADLX_RESULT SetMaxPerformanceMetricsHistorySize (adlx_int sizeSec)
|
|
2011
|
+
*@codeEnd
|
|
2012
|
+
*
|
|
2013
|
+
*@params
|
|
2014
|
+
*@paramrow{1.,[in] ,sizeSec,adlx_int ,@ENG_START_DOX The buffer duration (in second). @ENG_END_DOX}
|
|
2015
|
+
*
|
|
2016
|
+
*@retvalues
|
|
2017
|
+
*@ENG_START_DOX If the buffer duration is successfully set, __ADLX_OK__ is returned. <br>
|
|
2018
|
+
* If the buffer duration is not successfully set, an error code is returned. <br>
|
|
2019
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
2020
|
+
*
|
|
2021
|
+
*@detaileddesc
|
|
2022
|
+
*@ENG_START_DOX @details Obtain the buffer duration range with @ref DOX_IADLXPerformanceMonitoringServices_GetMaxPerformanceMetricsHistorySizeRange.
|
|
2023
|
+
* The default buffer duration is 100 s. If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the latest samples.
|
|
2024
|
+
* @ENG_END_DOX
|
|
2025
|
+
*
|
|
2026
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
2027
|
+
*
|
|
2028
|
+
*/
|
|
2029
|
+
virtual ADLX_RESULT ADLX_STD_CALL SetMaxPerformanceMetricsHistorySize (adlx_int sizeSec) = 0;
|
|
2030
|
+
/**
|
|
2031
|
+
*@page DOX_IADLXPerformanceMonitoringServices_GetMaxPerformanceMetricsHistorySize GetMaxPerformanceMetricsHistorySize
|
|
2032
|
+
*@ENG_START_DOX @brief Gets the duration of the performance monitoring buffer. @ENG_END_DOX
|
|
2033
|
+
*
|
|
2034
|
+
*@syntax
|
|
2035
|
+
*@codeStart
|
|
2036
|
+
* @ref ADLX_RESULT GetMaxPerformanceMetricsHistorySize (adlx_int* sizeSec)
|
|
2037
|
+
*@codeEnd
|
|
2038
|
+
*
|
|
2039
|
+
*@params
|
|
2040
|
+
*@paramrow{1.,[out] ,sizeSec,adlx_int* ,@ENG_START_DOX The pointer to a variable where the buffer duration (in second) is returned. @ENG_END_DOX}
|
|
2041
|
+
*
|
|
2042
|
+
*@retvalues
|
|
2043
|
+
*@ENG_START_DOX If the buffer duration is successfully returned, __ADLX_OK__ is returned. <br>
|
|
2044
|
+
* If the buffer duration is not successfully returned, an error code is returned. <br>
|
|
2045
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
2046
|
+
*
|
|
2047
|
+
*@detaileddesc
|
|
2048
|
+
*@ENG_START_DOX @details Obtain the buffer duration range with @ref DOX_IADLXPerformanceMonitoringServices_GetMaxPerformanceMetricsHistorySizeRange.
|
|
2049
|
+
* The default buffer duration is 100 s. If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the latest samples.
|
|
2050
|
+
* @ENG_END_DOX
|
|
2051
|
+
*
|
|
2052
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
2053
|
+
*
|
|
2054
|
+
*/
|
|
2055
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetMaxPerformanceMetricsHistorySize (adlx_int* sizeSec) = 0;
|
|
2056
|
+
/**
|
|
2057
|
+
*@page DOX_IADLXPerformanceMonitoringServices_ClearPerformanceMetricsHistory ClearPerformanceMetricsHistory
|
|
2058
|
+
*@ENG_START_DOX @brief Clears the buffer for performance monitoring. @ENG_END_DOX
|
|
2059
|
+
*
|
|
2060
|
+
*@syntax
|
|
2061
|
+
*@codeStart
|
|
2062
|
+
* @ref ADLX_RESULT ClearPerformanceMetricsHistory ()
|
|
2063
|
+
*@codeEnd
|
|
2064
|
+
*
|
|
2065
|
+
*@params
|
|
2066
|
+
* N/A
|
|
2067
|
+
*
|
|
2068
|
+
*@retvalues
|
|
2069
|
+
*@ENG_START_DOX If the buffer of performance monitoring is successfully cleared, __ADLX_OK__ is returned. <br>
|
|
2070
|
+
* If the buffer of performance monitoring is not successfully cleared, an error code is returned. <br>
|
|
2071
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
2072
|
+
*
|
|
2073
|
+
*
|
|
2074
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
2075
|
+
*
|
|
2076
|
+
*/
|
|
2077
|
+
virtual ADLX_RESULT ADLX_STD_CALL ClearPerformanceMetricsHistory () = 0;
|
|
2078
|
+
/**
|
|
2079
|
+
*@page DOX_IADLXPerformanceMonitoringServices_GetCurrentPerformanceMetricsHistorySize GetCurrentPerformanceMetricsHistorySize
|
|
2080
|
+
*@ENG_START_DOX @brief Gets the duration of the metrics history from the performance monitoring buffer. @ENG_END_DOX
|
|
2081
|
+
*
|
|
2082
|
+
*@syntax
|
|
2083
|
+
*@codeStart
|
|
2084
|
+
* @ref ADLX_RESULT GetCurrentPerformanceMetricsHistorySize (adlx_int* sizeSec)
|
|
2085
|
+
*@codeEnd
|
|
2086
|
+
*
|
|
2087
|
+
*@params
|
|
2088
|
+
*@paramrow{1.,[out] ,sizeSec,adlx_int* ,@ENG_START_DOX The pointer to a variable where the duration (in second) is returned. @ENG_END_DOX}
|
|
2089
|
+
*
|
|
2090
|
+
*@retvalues
|
|
2091
|
+
*@ENG_START_DOX If the duration is successfully returned, __ADLX_OK__ is returned. <br>
|
|
2092
|
+
* If the duration is not successfully returned, an error code is returned. <br>
|
|
2093
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
2094
|
+
*
|
|
2095
|
+
*@detaileddesc
|
|
2096
|
+
*@ENG_START_DOX @details The buffer duration ranges between 50 s and 100 s. The default size is 100 s.
|
|
2097
|
+
* If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the new samples. @ENG_END_DOX
|
|
2098
|
+
*
|
|
2099
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
2100
|
+
*
|
|
2101
|
+
*/
|
|
2102
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetCurrentPerformanceMetricsHistorySize (adlx_int* sizeSec) = 0;
|
|
2103
|
+
/**
|
|
2104
|
+
*@page DOX_IADLXPerformanceMonitoringServices_StartPerformanceMetricsTracking StartPerformanceMetricsTracking
|
|
2105
|
+
*@ENG_START_DOX @brief Increases the count for the performance metrics tracking. @ENG_END_DOX
|
|
2106
|
+
*
|
|
2107
|
+
*@syntax
|
|
2108
|
+
*@codeStart
|
|
2109
|
+
* @ref ADLX_RESULT StartPerformanceMetricsTracking ()
|
|
2110
|
+
*@codeEnd
|
|
2111
|
+
*
|
|
2112
|
+
*@params
|
|
2113
|
+
* N/A
|
|
2114
|
+
*
|
|
2115
|
+
*@retvalues
|
|
2116
|
+
*@ENG_START_DOX If the count is successfully increased, __ADLX_OK__ is returned. <br>
|
|
2117
|
+
* If the count is not successfully increased, an error code is returned. <br>
|
|
2118
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
2119
|
+
*
|
|
2120
|
+
*@detaileddesc
|
|
2121
|
+
*@ENG_START_DOX @details ADLX reserves one buffer for the performance data. A count is used to keep a track of the calls to the __StartPerformanceMetricsTracking__. The count is increased by one every time the tracking starts. <br>
|
|
2122
|
+
* By default, the count is zero. The monitoring starts when the first call is made and the count increases by one. <br>
|
|
2123
|
+
* If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the new samples.
|
|
2124
|
+
* @ENG_END_DOX
|
|
2125
|
+
*
|
|
2126
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
2127
|
+
*
|
|
2128
|
+
*/
|
|
2129
|
+
virtual ADLX_RESULT ADLX_STD_CALL StartPerformanceMetricsTracking () = 0;
|
|
2130
|
+
/**
|
|
2131
|
+
*@page DOX_IADLXPerformanceMonitoringServices_StopPerformanceMetricsTracking StopPerformanceMetricsTracking
|
|
2132
|
+
*@ENG_START_DOX @brief Decreases the count for the performance metrics tracking. @ENG_END_DOX
|
|
2133
|
+
*
|
|
2134
|
+
*@syntax
|
|
2135
|
+
*@codeStart
|
|
2136
|
+
* @ref ADLX_RESULT StopPerformanceMetricsTracking ()
|
|
2137
|
+
*@codeEnd
|
|
2138
|
+
*
|
|
2139
|
+
*@params
|
|
2140
|
+
* N/A
|
|
2141
|
+
*
|
|
2142
|
+
*@retvalues
|
|
2143
|
+
*@ENG_START_DOX If the count is successfully decreased, __ADLX_OK__ is returned. <br>
|
|
2144
|
+
* If the count is not successfully decreased, an error code is returned. <br>
|
|
2145
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes @ENG_END_DOX
|
|
2146
|
+
*
|
|
2147
|
+
*@detaileddesc
|
|
2148
|
+
*@ENG_START_DOX @details ADLX reserves one buffer for the performance data. A count is used to keep a track of the calls to the __StopPerformanceMetricsTracking__. <br>
|
|
2149
|
+
* When the __StopPerformanceMetricsTracking__ is called, the count is decreased by one. When the count reaches zero, the monitoring stops.<br>
|
|
2150
|
+
* If the monitoring continues longer than the buffer duration, the old performance samples are discarded to give buffer space to the new samples.
|
|
2151
|
+
* @ENG_END_DOX
|
|
2152
|
+
*
|
|
2153
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
2154
|
+
*
|
|
2155
|
+
*/
|
|
2156
|
+
virtual ADLX_RESULT ADLX_STD_CALL StopPerformanceMetricsTracking () = 0;
|
|
2157
|
+
/**
|
|
2158
|
+
*@page DOX_IADLXPerformanceMonitoringServices_GetAllMetricsHistory GetAllMetricsHistory
|
|
2159
|
+
*@ENG_START_DOX @brief Gets the reference counted list of all the metrics in a time interval. @ENG_END_DOX
|
|
2160
|
+
*
|
|
2161
|
+
*@syntax
|
|
2162
|
+
*@codeStart
|
|
2163
|
+
* @ref ADLX_RESULT GetAllMetricsHistory (adlx_int startMs, adlx_int stopMs, @ref DOX_IADLXAllMetricsList** ppMetricsList)
|
|
2164
|
+
*@codeEnd
|
|
2165
|
+
*
|
|
2166
|
+
*@params
|
|
2167
|
+
* @paramrow{1.,[in] ,startMs,adlx_int ,@ENG_START_DOX The start time of the time interval (in millisecond). @ENG_END_DOX}
|
|
2168
|
+
* @paramrow{1.,[in] ,stopMs,adlx_int ,@ENG_START_DOX The stop time of the time interval (in millisecond). @ENG_END_DOX}
|
|
2169
|
+
* @paramrow{1.,[out] ,ppMetricsList,@ref DOX_IADLXAllMetricsList** ,@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 __*ppMetricsList__ to __nullptr__. @ENG_END_DOX}
|
|
2170
|
+
*
|
|
2171
|
+
*@retvalues
|
|
2172
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned. <br>
|
|
2173
|
+
* If the interface is not successfully returned, an error code is returned. <br>
|
|
2174
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
2175
|
+
*
|
|
2176
|
+
*@detaileddesc
|
|
2177
|
+
*@ENG_START_DOX @details Use the __startMs__ and __stopMs__ to specify the time intervals for fetching the history.
|
|
2178
|
+
* - To get the reference counted list of the latest performance metric samples from the performance monitoring buffer, specify both the __startMs__ and __stopMs__ as zero.<br>
|
|
2179
|
+
* - To get the reference counted list of the performance metric samples from A ms ago to the present time, specify __startMs__ as A ms and __stopMs__ as zero. <br>
|
|
2180
|
+
* - To get the reference counted list of the performance metric samples from A ms ago to B ms ago, specify __startMs__ as A ms and __stopMs__ as B ms. <br>
|
|
2181
|
+
*
|
|
2182
|
+
* The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. <br>
|
|
2183
|
+
* @ENG_END_DOX
|
|
2184
|
+
*
|
|
2185
|
+
*@addinfo
|
|
2186
|
+
*@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
|
|
2187
|
+
*
|
|
2188
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
2189
|
+
*
|
|
2190
|
+
*/
|
|
2191
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetAllMetricsHistory (adlx_int startMs, adlx_int stopMs, IADLXAllMetricsList** ppMetricsList) = 0;
|
|
2192
|
+
/**
|
|
2193
|
+
*@page DOX_IADLXPerformanceMonitoringServices_GetGPUMetricsHistory GetGPUMetricsHistory
|
|
2194
|
+
*@ENG_START_DOX @brief Gets the reference counted list of GPU metrics in a time interval of a GPU. @ENG_END_DOX
|
|
2195
|
+
*
|
|
2196
|
+
*@syntax
|
|
2197
|
+
*@codeStart
|
|
2198
|
+
* @ref ADLX_RESULT GetGPUMetricsHistory (@ref DOX_IADLXGPU* pGPU, adlx_int startMs, adlx_int stopMs, @ref DOX_IADLXGPUMetricsList** ppMetricsList)
|
|
2199
|
+
*@codeEnd
|
|
2200
|
+
*
|
|
2201
|
+
*@params
|
|
2202
|
+
* @paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
|
|
2203
|
+
* @paramrow{2.,[in] ,startMs,adlx_int ,@ENG_START_DOX The start time of the time interval (in millisecond). @ENG_END_DOX}
|
|
2204
|
+
* @paramrow{3.,[in] ,stopMs,adlx_int ,@ENG_START_DOX The stop time of the time interval (in millisecond). @ENG_END_DOX}
|
|
2205
|
+
* @paramrow{4.,[out] ,ppMetricsList,@ref DOX_IADLXGPUMetricsList** ,@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 __*ppMetricsList__ to __nullptr__. @ENG_END_DOX}
|
|
2206
|
+
*
|
|
2207
|
+
*@retvalues
|
|
2208
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned. <br>
|
|
2209
|
+
* If the interface is not successfully returned, an error code is returned. <br>
|
|
2210
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
2211
|
+
*
|
|
2212
|
+
*@detaileddesc
|
|
2213
|
+
*@ENG_START_DOX @details Use the __startMs__ and __stopMs__ to specify the time intervals for fetching the history.
|
|
2214
|
+
* - To get the reference counted list of the latest performance metric samples from the performance monitoring buffer, specify both the __startMs__ and __stopMs__ as zero.<br>
|
|
2215
|
+
* - To get the reference counted list of the performance metric samples from A ms ago to the present time, specify __startMs__ as A ms and __stopMs__ as zero. <br>
|
|
2216
|
+
* - To get the reference counted list of the performance metric samples from A ms ago to B ms ago, specify __startMs__ as A ms and __stopMs__ as B ms. <br>
|
|
2217
|
+
*
|
|
2218
|
+
* The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. <br>
|
|
2219
|
+
* @ENG_END_DOX
|
|
2220
|
+
*
|
|
2221
|
+
*@addinfo
|
|
2222
|
+
*@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
|
|
2223
|
+
*
|
|
2224
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
2225
|
+
*
|
|
2226
|
+
*/
|
|
2227
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetGPUMetricsHistory (IADLXGPU* pGPU, adlx_int startMs, adlx_int stopMs, IADLXGPUMetricsList** ppMetricsList) = 0;
|
|
2228
|
+
/**
|
|
2229
|
+
*@page DOX_IADLXPerformanceMonitoringServices_GetSystemMetricsHistory GetSystemMetricsHistory
|
|
2230
|
+
*@ENG_START_DOX @brief Gets the reference counted list of system metrics in a time interval. @ENG_END_DOX
|
|
2231
|
+
*
|
|
2232
|
+
*@syntax
|
|
2233
|
+
*@codeStart
|
|
2234
|
+
* @ref ADLX_RESULT GetSystemMetricsHistory (adlx_int startMs, adlx_int stopMs, @ref DOX_IADLXSystemMetricsList** ppMetricsList)
|
|
2235
|
+
*@codeEnd
|
|
2236
|
+
*
|
|
2237
|
+
*@params
|
|
2238
|
+
* @paramrow{1.,[in] ,startMs,adlx_int ,@ENG_START_DOX The start time of the time interval (in millisecond). @ENG_END_DOX}
|
|
2239
|
+
* @paramrow{2.,[in] ,stopMs,adlx_int ,@ENG_START_DOX The stop time of the time interval (in millisecond). @ENG_END_DOX}
|
|
2240
|
+
* @paramrow{3.,[out] ,ppMetricsList,@ref DOX_IADLXSystemMetricsList** ,@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 __*ppMetricsList__ to __nullptr__. @ENG_END_DOX}
|
|
2241
|
+
*
|
|
2242
|
+
*@retvalues
|
|
2243
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned. <br>
|
|
2244
|
+
* If the interface is not successfully returned, an error code is returned. <br>
|
|
2245
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
2246
|
+
*
|
|
2247
|
+
*@detaileddesc
|
|
2248
|
+
*@ENG_START_DOX @details Use the __startMs__ and __stopMs__ to specify the time intervals for fetching the history.
|
|
2249
|
+
* - To get the reference counted list of the latest performance metric samples from the performance monitoring buffer, specify both the __startMs__ and __stopMs__ as zero.<br>
|
|
2250
|
+
* - To get the reference counted list of the performance metric samples from A ms ago to the present time, specify __startMs__ as A ms and __stopMs__ as zero. <br>
|
|
2251
|
+
* - To get the reference counted list of the performance metric samples from A ms ago to B ms ago, specify __startMs__ as A ms and __stopMs__ as B ms. <br>
|
|
2252
|
+
*
|
|
2253
|
+
* The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. <br>
|
|
2254
|
+
* @ENG_END_DOX
|
|
2255
|
+
*
|
|
2256
|
+
*@addinfo
|
|
2257
|
+
*@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
|
|
2258
|
+
*
|
|
2259
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
2260
|
+
*
|
|
2261
|
+
*/
|
|
2262
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetSystemMetricsHistory (adlx_int startMs, adlx_int stopMs, IADLXSystemMetricsList** ppMetricsList) = 0;
|
|
2263
|
+
/**
|
|
2264
|
+
*@page DOX_IADLXPerformanceMonitoringServices_GetFPSHistory GetFPSHistory
|
|
2265
|
+
*@ENG_START_DOX @brief Gets the reference counted list of FPS metrics in a time interval. @ENG_END_DOX
|
|
2266
|
+
*
|
|
2267
|
+
*@syntax
|
|
2268
|
+
*@codeStart
|
|
2269
|
+
* @ref ADLX_RESULT GetFPSHistory (adlx_int startMs, adlx_int stopMs, @ref DOX_IADLXFPSList** ppMetricsList)
|
|
2270
|
+
*@codeEnd
|
|
2271
|
+
*
|
|
2272
|
+
*@params
|
|
2273
|
+
* @paramrow{1.,[in] ,startMs,adlx_int ,@ENG_START_DOX The start time of the time interval (in millisecond). @ENG_END_DOX}
|
|
2274
|
+
* @paramrow{2.,[in] ,stopMs,adlx_int ,@ENG_START_DOX The stop time of the time interval (in millisecond). @ENG_END_DOX}
|
|
2275
|
+
* @paramrow{3.,[out] ,ppMetricsList,@ref DOX_IADLXFPSList** ,@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 __*ppMetricsList__ to __nullptr__. @ENG_END_DOX}
|
|
2276
|
+
*
|
|
2277
|
+
*@retvalues
|
|
2278
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned. <br>
|
|
2279
|
+
* If the interface is not successfully returned, an error code is returned. <br>
|
|
2280
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
2281
|
+
*
|
|
2282
|
+
*@detaileddesc
|
|
2283
|
+
*@ENG_START_DOX @details Use the __startMs__ and __stopMs__ to specify the time intervals for fetching the history.
|
|
2284
|
+
* - To get the reference counted list of the latest performance metric samples from the performance monitoring buffer, specify both the __startMs__ and __stopMs__ as zero.<br>
|
|
2285
|
+
* - To get the reference counted list of the performance metric samples from A ms ago to the present time, specify __startMs__ as A ms and __stopMs__ as zero. <br>
|
|
2286
|
+
* - To get the reference counted list of the performance metric samples from A ms ago to B ms ago, specify __startMs__ as A ms and __stopMs__ as B ms. <br>
|
|
2287
|
+
*
|
|
2288
|
+
* The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. <br>
|
|
2289
|
+
* @ENG_END_DOX
|
|
2290
|
+
*
|
|
2291
|
+
*@addinfo
|
|
2292
|
+
*@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>
|
|
2293
|
+
* __Note:__ The FPS metric is only available while a 3D graphics application or game runs in exclusive full screen mode.
|
|
2294
|
+
* @ENG_END_DOX
|
|
2295
|
+
*
|
|
2296
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
2297
|
+
*
|
|
2298
|
+
*/
|
|
2299
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetFPSHistory (adlx_int startMs, adlx_int stopMs, IADLXFPSList** ppMetricsList) = 0;
|
|
2300
|
+
/**
|
|
2301
|
+
*@page DOX_IADLXPerformanceMonitoringServices_GetCurrentAllMetrics GetCurrentAllMetrics
|
|
2302
|
+
*@ENG_START_DOX @brief Gets the reference counted @ref DOX_IADLXAllMetrics interface for the current metric set. @ENG_END_DOX
|
|
2303
|
+
*
|
|
2304
|
+
*@syntax
|
|
2305
|
+
*@codeStart
|
|
2306
|
+
* @ref ADLX_RESULT GetCurrentAllMetrics (@ref DOX_IADLXAllMetrics** ppMetrics)
|
|
2307
|
+
*@codeEnd
|
|
2308
|
+
*
|
|
2309
|
+
*@params
|
|
2310
|
+
*@paramrow{1.,[out] ,ppMetrics,@ref DOX_IADLXAllMetrics** ,@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 __*ppMetrics__ to __nullptr__. @ENG_END_DOX}
|
|
2311
|
+
*
|
|
2312
|
+
*@retvalues
|
|
2313
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned. <br>
|
|
2314
|
+
* If the current interface is not successfully returned, an error code is returned. <br>
|
|
2315
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
2316
|
+
*
|
|
2317
|
+
*@detaileddesc
|
|
2318
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
|
|
2319
|
+
* It takes some time and is suitable for a single acquisition. For continuous collection, it is recommended to use @ref DOX_IADLXPerformanceMonitoringServices_GetAllMetricsHistory.
|
|
2320
|
+
* @ENG_END_DOX
|
|
2321
|
+
*
|
|
2322
|
+
*@addinfo
|
|
2323
|
+
*@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
|
|
2324
|
+
*
|
|
2325
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
2326
|
+
*
|
|
2327
|
+
*/
|
|
2328
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetCurrentAllMetrics (IADLXAllMetrics** ppMetrics) = 0;
|
|
2329
|
+
/**
|
|
2330
|
+
*@page DOX_IADLXPerformanceMonitoringServices_GetCurrentGPUMetrics GetCurrentGPUMetrics
|
|
2331
|
+
*@ENG_START_DOX @brief Gets the reference counted @ref DOX_IADLXGPUMetrics interface for the current metric set of a GPU. @ENG_END_DOX
|
|
2332
|
+
*
|
|
2333
|
+
*@syntax
|
|
2334
|
+
*@codeStart
|
|
2335
|
+
* @ref ADLX_RESULT GetCurrentGPUMetrics (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXGPUMetrics** ppMetrics)
|
|
2336
|
+
*@codeEnd
|
|
2337
|
+
*
|
|
2338
|
+
*@params
|
|
2339
|
+
* @paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
|
|
2340
|
+
* @paramrow{2.,[out] ,ppMetrics,@ref DOX_IADLXGPUMetrics** ,@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 __*ppMetrics__ to __nullptr__. @ENG_END_DOX}
|
|
2341
|
+
*
|
|
2342
|
+
*@retvalues
|
|
2343
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned. <br>
|
|
2344
|
+
* If the interface is not successfully returned, an error code is returned. <br>
|
|
2345
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
2346
|
+
*
|
|
2347
|
+
*@detaileddesc
|
|
2348
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
|
|
2349
|
+
* It takes some time and is suitable for a single acquisition. For continuous collection, it is recommended to use @ref DOX_IADLXPerformanceMonitoringServices_GetGPUMetricsHistory.
|
|
2350
|
+
* @ENG_END_DOX
|
|
2351
|
+
*
|
|
2352
|
+
*@addinfo
|
|
2353
|
+
*@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
|
|
2354
|
+
*
|
|
2355
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
2356
|
+
*
|
|
2357
|
+
*/
|
|
2358
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetCurrentGPUMetrics (IADLXGPU* pGPU, IADLXGPUMetrics** ppMetrics) = 0;
|
|
2359
|
+
/**
|
|
2360
|
+
*@page DOX_IADLXPerformanceMonitoringServices_GetCurrentSystemMetrics GetCurrentSystemMetrics
|
|
2361
|
+
*@ENG_START_DOX @brief Gets the reference counted @ref DOX_IADLXSystemMetrics interface for the current metric set. @ENG_END_DOX
|
|
2362
|
+
*
|
|
2363
|
+
*@syntax
|
|
2364
|
+
*@codeStart
|
|
2365
|
+
* @ref ADLX_RESULT GetCurrentSystemMetrics (@ref DOX_IADLXSystemMetrics** ppMetrics)
|
|
2366
|
+
*@codeEnd
|
|
2367
|
+
*
|
|
2368
|
+
*@params
|
|
2369
|
+
*@paramrow{1.,[out] ,ppMetrics,@ref DOX_IADLXSystemMetrics** ,@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 __*ppMetrics__ to __nullptr__. @ENG_END_DOX}
|
|
2370
|
+
*
|
|
2371
|
+
*@retvalues
|
|
2372
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned. <br>
|
|
2373
|
+
* If the interface is not successfully returned, an error code is returned. <br>
|
|
2374
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
2375
|
+
*
|
|
2376
|
+
*@detaileddesc
|
|
2377
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
|
|
2378
|
+
* It takes some time and is suitable for a single acquisition. For continuous collection, it is recommended to use @ref DOX_IADLXPerformanceMonitoringServices_GetSystemMetricsHistory.
|
|
2379
|
+
* @ENG_END_DOX
|
|
2380
|
+
*
|
|
2381
|
+
*@addinfo
|
|
2382
|
+
*@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
|
|
2383
|
+
*
|
|
2384
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
2385
|
+
*
|
|
2386
|
+
*/
|
|
2387
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetCurrentSystemMetrics (IADLXSystemMetrics** ppMetrics) = 0;
|
|
2388
|
+
/**
|
|
2389
|
+
*@page DOX_IADLXPerformanceMonitoringServices_GetCurrentFPS GetCurrentFPS
|
|
2390
|
+
*@ENG_START_DOX @brief Gets the reference counted @ref DOX_IADLXFPS interface for the current FPS metric. @ENG_END_DOX
|
|
2391
|
+
*
|
|
2392
|
+
*@syntax
|
|
2393
|
+
*@codeStart
|
|
2394
|
+
* @ref ADLX_RESULT GetCurrentFPS (@ref DOX_IADLXFPS** ppMetrics)
|
|
2395
|
+
*@codeEnd
|
|
2396
|
+
*
|
|
2397
|
+
*@params
|
|
2398
|
+
*@paramrow{1.,[out] ,ppMetrics,@ref DOX_IADLXFPS** ,@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 __*ppMetrics__ to __nullptr__. @ENG_END_DOX}
|
|
2399
|
+
*
|
|
2400
|
+
*@retvalues
|
|
2401
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned. <br>
|
|
2402
|
+
* If the interface is not successfully returned, an error code is returned. <br>
|
|
2403
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
2404
|
+
*
|
|
2405
|
+
*@detaileddesc
|
|
2406
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
|
|
2407
|
+
* It takes some time and is suitable for a single acquisition. For continuous collection, it is recommended to use @ref DOX_IADLXPerformanceMonitoringServices_GetFPSHistory.
|
|
2408
|
+
* @ENG_END_DOX
|
|
2409
|
+
*
|
|
2410
|
+
*@addinfo
|
|
2411
|
+
*@ENG_START_DOX
|
|
2412
|
+
* 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>
|
|
2413
|
+
* __Note:__ The FPS metric is only available while a 3D graphics application or game runs in exclusive full screen mode.
|
|
2414
|
+
* @ENG_END_DOX
|
|
2415
|
+
*
|
|
2416
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
2417
|
+
*
|
|
2418
|
+
*/
|
|
2419
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetCurrentFPS (IADLXFPS** ppMetrics) = 0;
|
|
2420
|
+
/**
|
|
2421
|
+
*@page DOX_IADLXPerformanceMonitoringServices_GetSupportedGPUMetrics GetSupportedGPUMetrics
|
|
2422
|
+
*@ENG_START_DOX @brief Gets the reference counted interface for discovering what performance metrics are supported on a GPU. @ENG_END_DOX
|
|
2423
|
+
*
|
|
2424
|
+
*@syntax
|
|
2425
|
+
*@codeStart
|
|
2426
|
+
* @ref ADLX_RESULT GetSupportedGPUMetrics (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLXGPUMetricsSupport** ppMetricsSupported)
|
|
2427
|
+
*@codeEnd
|
|
2428
|
+
*
|
|
2429
|
+
*@params
|
|
2430
|
+
* @paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
|
|
2431
|
+
* @paramrow{2.,[out] ,ppMetricsSupported,@ref DOX_IADLXGPUMetricsSupport** ,@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 __*ppMetricsSupported__ to __nullptr__. @ENG_END_DOX}
|
|
2432
|
+
*
|
|
2433
|
+
*@retvalues
|
|
2434
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned. <br>
|
|
2435
|
+
* If the interface is not successfully returned, an error code is returned. <br>
|
|
2436
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
2437
|
+
*
|
|
2438
|
+
*@detaileddesc
|
|
2439
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
|
|
2440
|
+
* @ENG_END_DOX
|
|
2441
|
+
*
|
|
2442
|
+
*@addinfo
|
|
2443
|
+
*@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
|
|
2444
|
+
*
|
|
2445
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
2446
|
+
*
|
|
2447
|
+
*/
|
|
2448
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetSupportedGPUMetrics (IADLXGPU* pGPU, IADLXGPUMetricsSupport** ppMetricsSupported) = 0;
|
|
2449
|
+
/**
|
|
2450
|
+
*@page DOX_IADLXPerformanceMonitoringServices_GetSupportedSystemMetrics GetSupportedSystemMetrics
|
|
2451
|
+
*@ENG_START_DOX @brief Gets the reference counted interface for discovering what performance metrics are supported on the system. @ENG_END_DOX
|
|
2452
|
+
*
|
|
2453
|
+
*@syntax
|
|
2454
|
+
*@codeStart
|
|
2455
|
+
* @ref ADLX_RESULT GetSupportedSystemMetrics (@ref DOX_IADLXSystemMetricsSupport** ppMetricsSupported)
|
|
2456
|
+
*@codeEnd
|
|
2457
|
+
*
|
|
2458
|
+
*@params
|
|
2459
|
+
*@paramrow{1.,[out] ,ppMetricsSupported,@ref DOX_IADLXSystemMetricsSupport** ,@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 __*ppMetricsSupported__ to __nullptr__. @ENG_END_DOX}
|
|
2460
|
+
*
|
|
2461
|
+
*@retvalues
|
|
2462
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned. <br>
|
|
2463
|
+
* If the interface is not successfully returned, an error code is returned. <br>
|
|
2464
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
2465
|
+
*
|
|
2466
|
+
*@detaileddesc
|
|
2467
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed.
|
|
2468
|
+
* @ENG_END_DOX
|
|
2469
|
+
*
|
|
2470
|
+
*@addinfo
|
|
2471
|
+
*@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
|
|
2472
|
+
*
|
|
2473
|
+
*@copydoc IADLXPerformanceMonitoringServices_REQ_TABLE
|
|
2474
|
+
*
|
|
2475
|
+
*/
|
|
2476
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetSupportedSystemMetrics (IADLXSystemMetricsSupport** ppMetricsSupported) = 0;
|
|
2477
|
+
|
|
2478
|
+
}; //IADLXPerformanceMonitoringServices
|
|
2479
|
+
//----------------------------------------------------------------------------------------------
|
|
2480
|
+
typedef IADLXInterfacePtr_T<IADLXPerformanceMonitoringServices> IADLXPerformanceMonitoringServicesPtr;
|
|
2481
|
+
} //namespace adlx
|
|
2482
|
+
#else //__cplusplus
|
|
2483
|
+
ADLX_DECLARE_IID (IADLXPerformanceMonitoringServices, L"IADLXPerformanceMonitoringServices")
|
|
2484
|
+
typedef struct IADLXPerformanceMonitoringServices IADLXPerformanceMonitoringServices;
|
|
2485
|
+
|
|
2486
|
+
typedef struct IADLXPerformanceMonitoringServicesVtbl
|
|
2487
|
+
{
|
|
2488
|
+
//IADLXInterface
|
|
2489
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLXPerformanceMonitoringServices* pThis);
|
|
2490
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLXPerformanceMonitoringServices* pThis);
|
|
2491
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXPerformanceMonitoringServices* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
2492
|
+
|
|
2493
|
+
//IADLXPerformanceMonitoringServices
|
|
2494
|
+
ADLX_RESULT (ADLX_STD_CALL *GetSamplingIntervalRange)(IADLXPerformanceMonitoringServices* pThis, ADLX_IntRange* range);
|
|
2495
|
+
ADLX_RESULT (ADLX_STD_CALL *SetSamplingInterval)(IADLXPerformanceMonitoringServices* pThis, adlx_int intervalMs);
|
|
2496
|
+
ADLX_RESULT (ADLX_STD_CALL *GetSamplingInterval)(IADLXPerformanceMonitoringServices* pThis, adlx_int* intervalMs);
|
|
2497
|
+
ADLX_RESULT (ADLX_STD_CALL *GetMaxPerformanceMetricsHistorySizeRange)(IADLXPerformanceMonitoringServices* pThis, ADLX_IntRange* range);
|
|
2498
|
+
ADLX_RESULT (ADLX_STD_CALL *SetMaxPerformanceMetricsHistorySize)(IADLXPerformanceMonitoringServices* pThis, adlx_int sizeSec);
|
|
2499
|
+
ADLX_RESULT (ADLX_STD_CALL *GetMaxPerformanceMetricsHistorySize)(IADLXPerformanceMonitoringServices* pThis, adlx_int* sizeSec);
|
|
2500
|
+
ADLX_RESULT (ADLX_STD_CALL *ClearPerformanceMetricsHistory)(IADLXPerformanceMonitoringServices* pThis);
|
|
2501
|
+
ADLX_RESULT (ADLX_STD_CALL *GetCurrentPerformanceMetricsHistorySize)(IADLXPerformanceMonitoringServices* pThis, adlx_int* sizeSec);
|
|
2502
|
+
ADLX_RESULT (ADLX_STD_CALL *StartPerformanceMetricsTracking)(IADLXPerformanceMonitoringServices* pThis);
|
|
2503
|
+
ADLX_RESULT (ADLX_STD_CALL *StopPerformanceMetricsTracking)(IADLXPerformanceMonitoringServices* pThis);
|
|
2504
|
+
ADLX_RESULT (ADLX_STD_CALL *GetAllMetricsHistory)(IADLXPerformanceMonitoringServices* pThis, adlx_int startMs, adlx_int stopMs, IADLXAllMetricsList** ppMetricsList);
|
|
2505
|
+
ADLX_RESULT (ADLX_STD_CALL *GetGPUMetricsHistory)(IADLXPerformanceMonitoringServices* pThis, IADLXGPU* pGPU, adlx_int startMs, adlx_int stopMs, IADLXGPUMetricsList** ppMetricsList);
|
|
2506
|
+
ADLX_RESULT (ADLX_STD_CALL *GetSystemMetricsHistory)(IADLXPerformanceMonitoringServices* pThis, adlx_int startMs, adlx_int stopMs, IADLXSystemMetricsList** ppMetricsList);
|
|
2507
|
+
ADLX_RESULT (ADLX_STD_CALL *GetFPSHistory)(IADLXPerformanceMonitoringServices* pThis, adlx_int startMs, adlx_int stopMs, IADLXFPSList** ppMetricsList);
|
|
2508
|
+
ADLX_RESULT (ADLX_STD_CALL *GetCurrentAllMetrics)(IADLXPerformanceMonitoringServices* pThis, IADLXAllMetrics** ppMetrics);
|
|
2509
|
+
ADLX_RESULT (ADLX_STD_CALL *GetCurrentGPUMetrics)(IADLXPerformanceMonitoringServices* pThis, IADLXGPU* pGPU, IADLXGPUMetrics** ppMetrics);
|
|
2510
|
+
ADLX_RESULT (ADLX_STD_CALL *GetCurrentSystemMetrics)(IADLXPerformanceMonitoringServices* pThis, IADLXSystemMetrics** ppMetrics);
|
|
2511
|
+
ADLX_RESULT (ADLX_STD_CALL *GetCurrentFPS)(IADLXPerformanceMonitoringServices* pThis, IADLXFPS** ppMetrics);
|
|
2512
|
+
ADLX_RESULT (ADLX_STD_CALL *GetSupportedGPUMetrics)(IADLXPerformanceMonitoringServices* pThis, IADLXGPU* pGPU, IADLXGPUMetricsSupport** ppMetricsSupported);
|
|
2513
|
+
ADLX_RESULT (ADLX_STD_CALL *GetSupportedSystemMetrics)(IADLXPerformanceMonitoringServices* pThis, IADLXSystemMetricsSupport** ppMetricsSupported);
|
|
2514
|
+
}IADLXPerformanceMonitoringServicesVtbl;
|
|
2515
|
+
|
|
2516
|
+
struct IADLXPerformanceMonitoringServices { const IADLXPerformanceMonitoringServicesVtbl *pVtbl; };
|
|
2517
|
+
#endif //__cplusplus
|
|
2518
|
+
#pragma endregion IADLXPerformanceMonitoringServices
|
|
2519
|
+
|
|
2520
|
+
#endif//ADLX_IPERFORMANCEMONITORING_H
|