node-gpuinfo 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +336 -0
  3. package/binding.gyp +69 -0
  4. package/build/Release/gpu.exp +0 -0
  5. package/build/Release/gpu.lib +0 -0
  6. package/build/Release/gpu.node +0 -0
  7. package/build/Release/gpu.pdb +0 -0
  8. package/build/binding.sln +19 -0
  9. package/build/gpu.vcxproj +175 -0
  10. package/build/gpu.vcxproj.filters +169 -0
  11. package/example.js +69 -0
  12. package/index.js +33 -0
  13. package/package.json +68 -0
  14. package/src/binding.cpp +201 -0
  15. package/src/gpu_info.c +130 -0
  16. package/src/gpu_info.h +86 -0
  17. package/src/includes/adlx/ADLX.h +367 -0
  18. package/src/includes/adlx/ADLXDefines.h +1345 -0
  19. package/src/includes/adlx/ADLXHelper/ADLXHelper.c +175 -0
  20. package/src/includes/adlx/ADLXHelper/ADLXHelper.h +245 -0
  21. package/src/includes/adlx/ADLXHelper/WinAPIS.c +64 -0
  22. package/src/includes/adlx/ADLXStructures.h +206 -0
  23. package/src/includes/adlx/ADLXVersion.h +18 -0
  24. package/src/includes/adlx/I3DSettings.h +3476 -0
  25. package/src/includes/adlx/I3DSettings1.h +292 -0
  26. package/src/includes/adlx/I3DSettings2.h +317 -0
  27. package/src/includes/adlx/IApplications.h +397 -0
  28. package/src/includes/adlx/IChangedEvent.h +71 -0
  29. package/src/includes/adlx/ICollections.h +325 -0
  30. package/src/includes/adlx/IDesktops.h +918 -0
  31. package/src/includes/adlx/IDisplay3DLUT.h +663 -0
  32. package/src/includes/adlx/IDisplayGamma.h +683 -0
  33. package/src/includes/adlx/IDisplayGamut.h +760 -0
  34. package/src/includes/adlx/IDisplaySettings.h +3476 -0
  35. package/src/includes/adlx/IDisplays.h +2676 -0
  36. package/src/includes/adlx/IDisplays1.h +191 -0
  37. package/src/includes/adlx/IDisplays2.h +188 -0
  38. package/src/includes/adlx/IDisplays3.h +256 -0
  39. package/src/includes/adlx/IGPUAutoTuning.h +460 -0
  40. package/src/includes/adlx/IGPUManualFanTuning.h +1007 -0
  41. package/src/includes/adlx/IGPUManualGFXTuning.h +607 -0
  42. package/src/includes/adlx/IGPUManualPowerTuning.h +340 -0
  43. package/src/includes/adlx/IGPUManualVRAMTuning.h +576 -0
  44. package/src/includes/adlx/IGPUPresetTuning.h +469 -0
  45. package/src/includes/adlx/IGPUTuning.h +1239 -0
  46. package/src/includes/adlx/IGPUTuning1.h +197 -0
  47. package/src/includes/adlx/II2C.h +198 -0
  48. package/src/includes/adlx/ILog.h +72 -0
  49. package/src/includes/adlx/IMultiMedia.h +578 -0
  50. package/src/includes/adlx/IPerformanceMonitoring.h +2520 -0
  51. package/src/includes/adlx/IPerformanceMonitoring1.h +134 -0
  52. package/src/includes/adlx/IPerformanceMonitoring2.h +341 -0
  53. package/src/includes/adlx/IPerformanceMonitoring3.h +199 -0
  54. package/src/includes/adlx/IPowerTuning.h +473 -0
  55. package/src/includes/adlx/IPowerTuning1.h +515 -0
  56. package/src/includes/adlx/ISmartAccessMemory.h +114 -0
  57. package/src/includes/adlx/ISystem.h +1557 -0
  58. package/src/includes/adlx/ISystem1.h +237 -0
  59. package/src/includes/adlx/ISystem2.h +643 -0
  60. package/src/linux/amd_linux.c +269 -0
  61. package/src/linux/intel_linux.c +20 -0
  62. package/src/linux/nvidia_linux.c +257 -0
  63. package/src/macos/amd_mac.c +131 -0
  64. package/src/macos/intel_mac.c +131 -0
  65. package/src/macos/nvidia_mac.c +21 -0
  66. package/src/vendor/amd.c +37 -0
  67. package/src/vendor/intel.c +37 -0
  68. package/src/vendor/nvidia.c +37 -0
  69. package/src/windows/amd_windows.c +468 -0
  70. package/src/windows/intel_windows.c +157 -0
  71. package/src/windows/nvidia_windows.c +252 -0
@@ -0,0 +1,3476 @@
1
+ //
2
+ // Copyright (c) 2021 - 2025 Advanced Micro Devices, Inc. All rights reserved.
3
+ //
4
+ //-------------------------------------------------------------------------------------------------
5
+
6
+ #ifndef ADLX_I3DSETTINGS_H
7
+ #define ADLX_I3DSETTINGS_H
8
+ #pragma once
9
+
10
+ #include "ADLXStructures.h"
11
+ #include "IChangedEvent.h"
12
+
13
+ //-------------------------------------------------------------------------------------------------
14
+ //I3DSetting.h - Interfaces for ADLX GPU 3DSetting functionality
15
+
16
+ //3DAntiLag setting interface
17
+ #pragma region IADLX3DAntiLag
18
+ #if defined (__cplusplus)
19
+ namespace adlx
20
+ {
21
+ class ADLX_NO_VTABLE IADLX3DAntiLag : public IADLXInterface
22
+ {
23
+ public:
24
+ ADLX_DECLARE_IID (L"IADLX3DAntiLag")
25
+
26
+ /**
27
+ *@page DOX_IADLX3DAntiLag_IsSupported IsSupported
28
+ *@ENG_START_DOX @brief Checks if AMD Radeon™ Anti-Lag is supported on a GPU. @ENG_END_DOX
29
+ *
30
+ *@syntax
31
+ *@codeStart
32
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
33
+ *@codeEnd
34
+ *
35
+ *@params
36
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Radeon Anti-Lag is returned. The variable is __true__ if Radeon Anti-Lag is supported. The variable is __false__ if Radeon Anti-Lag is not supported. @ENG_END_DOX}
37
+ *
38
+ *@retvalues
39
+ *@ENG_START_DOX If the state of Radeon Anti-Lag is successfully returned, __ADLX_OK__ is returned.<br>
40
+ * If the state of Radeon Anti-Lag is not successfully returned, an error code is returned.<br>
41
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
42
+ *
43
+ * @addinfo
44
+ * @ENG_START_DOX
45
+ * Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU.
46
+ * @ENG_END_DOX
47
+ *
48
+ *@copydoc IADLX3DAntiLag_REQ_TABLE
49
+ *
50
+ */
51
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
52
+
53
+ /**
54
+ *@page DOX_IADLX3DAntiLag_IsEnabled IsEnabled
55
+ *@ENG_START_DOX @brief Checks if AMD Radeon™ Anti-Lag is enabled on a GPU. @ENG_END_DOX
56
+ *
57
+ *@syntax
58
+ *@codeStart
59
+ * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
60
+ *@codeEnd
61
+ *
62
+ *@params
63
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Radeon Anti-Lag is returned. The variable is __true__ if Radeon Anti-Lag is enabled. The variable is __false__ if Radeon Anti-Lag is not enabled. @ENG_END_DOX}
64
+ *
65
+ *@retvalues
66
+ *@ENG_START_DOX If the state of Radeon Anti-Lag is successfully returned, __ADLX_OK__ is returned.<br>
67
+ * If the state of Radeon Anti-Lag is returned is not successfully returned, an error code is returned.<br>
68
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
69
+ *
70
+ * @addinfo
71
+ * @ENG_START_DOX
72
+ * Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU. <br>
73
+ *
74
+ * @depifc
75
+ * AMD Radeon Anti-Lag cannot be simultaneously enabled with @ref DOX_IADLX3DChill "AMD Radeon Chill".<br>
76
+ *
77
+ * When a mutually exclusive feature is enabled, AMD Radeon Anti-Lag is automatically disabled.
78
+ * @ENG_END_DOX
79
+ *
80
+ *@copydoc IADLX3DAntiLag_REQ_TABLE
81
+ *
82
+ */
83
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* enabled) = 0;
84
+
85
+ /**
86
+ *@page DOX_IADLX3DAntiLag_SetEnabled SetEnabled
87
+ *@ENG_START_DOX @brief Sets AMD Radeon™ Anti-Lag to enabled or disabled state on a GPU. @ENG_END_DOX
88
+ *
89
+ *@syntax
90
+ *@codeStart
91
+ * @ref ADLX_RESULT SetEnabled (adlx_bool enable)
92
+ *@codeEnd
93
+ *
94
+ *@params
95
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new Radeon Anti-Lag state. Set __true__ to enable Radeon Anti-Lag. Set __false__ to disable Radeon Anti-Lag. @ENG_END_DOX}
96
+ *
97
+ *@retvalues
98
+ *@ENG_START_DOX If the state of Radeon Anti-Lag is successfully set, __ADLX_OK__ is returned.<br>
99
+ * If the state of Radeon Anti-Lag is not successfully set, an error code is returned.<br>
100
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
101
+ *
102
+ * @addinfo
103
+ * @ENG_START_DOX
104
+ * Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU. <br>
105
+ *
106
+ * @depifc
107
+ * AMD Radeon Anti-Lag cannot be simultaneously enabled with @ref DOX_IADLX3DChill "AMD Radeon Chill".<br>
108
+ *
109
+ * When AMD Radeon Anti-Lag is enabled, the mutually exclusive features are automatically disabled. If a mutually exclusive feature is re-enabled, its previous configuration settings are restored.
110
+ * @ENG_END_DOX
111
+ *
112
+ *@copydoc IADLX3DAntiLag_REQ_TABLE
113
+ *
114
+ */
115
+ virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enable) = 0;
116
+
117
+ }; //IADLX3DAntiLag
118
+ //----------------------------------------------------------------------------------------------
119
+ typedef IADLXInterfacePtr_T<IADLX3DAntiLag> IADLX3DAntiLagPtr;
120
+ } //namespace adlx
121
+ #else //__cplusplus
122
+ ADLX_DECLARE_IID (IADLX3DAntiLag, L"IADLX3DAntiLag")
123
+
124
+ typedef struct IADLX3DAntiLag IADLX3DAntiLag;
125
+
126
+ typedef struct IADLX3DAntiLagVtbl
127
+ {
128
+ //IADLXInterface
129
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DAntiLag* pThis);
130
+ adlx_long (ADLX_STD_CALL *Release)(IADLX3DAntiLag* pThis);
131
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DAntiLag* pThis, const wchar_t* interfaceId, void** ppInterface);
132
+
133
+ //IADLX3DAntiLag
134
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DAntiLag* pThis, adlx_bool* supported);
135
+ ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLX3DAntiLag* pThis, adlx_bool* enabled);
136
+ ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLX3DAntiLag* pThis, adlx_bool enable);
137
+ }IADLX3DAntiLagVtbl;
138
+
139
+ struct IADLX3DAntiLag { const IADLX3DAntiLagVtbl *pVtbl; };
140
+ #endif //__cplusplus
141
+ #pragma endregion IADLX3DAntiLag
142
+
143
+ //3DAntiLag1 setting interface
144
+ #pragma region IADLX3DAntiLag1
145
+ #if defined (__cplusplus)
146
+ namespace adlx
147
+ {
148
+ class ADLX_NO_VTABLE IADLX3DAntiLag1 : public IADLX3DAntiLag
149
+ {
150
+ public:
151
+ ADLX_DECLARE_IID(L"IADLX3DAntiLag1")
152
+
153
+ /**
154
+ *@page DOX_IADLX3DAntiLag1_GetLevel GetLevel
155
+ *@ENG_START_DOX @brief Gets the AMD Radeon™ Anti-Lag level on a GPU. @ENG_END_DOX
156
+ *
157
+ *@syntax
158
+ *@codeStart
159
+ * @ref ADLX_RESULT GetLevel(@ref ADLX_ANTILAG_STATE* level)
160
+ *@codeEnd
161
+ *
162
+ *@params
163
+ * @paramrow{1.,[out],level,@ref ADLX_ANTILAG_STATE,@ENG_START_DOX The pointer to a variable where the Radeon Anti-Lag level is returned. @ENG_END_DOX}
164
+ *
165
+ *@retvalues
166
+ *@ENG_START_DOX If the Radeon Anti-Lag level is successfully returned, __ADLX_OK__ is returned.<br>
167
+ * If the Radeon Anti-Lag level is not successfully returned, an error code is returned.<br>
168
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
169
+ *
170
+ * @addinfo
171
+ * @ENG_START_DOX
172
+ * Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU.
173
+ * @ENG_END_DOX
174
+ *
175
+ *@copydoc IADLX3DAntiLag1_REQ_TABLE
176
+ *
177
+ */
178
+ virtual ADLX_RESULT ADLX_STD_CALL GetLevel(ADLX_ANTILAG_STATE* level) = 0;
179
+
180
+ /**
181
+ *@page DOX_IADLX3DAntiLag1_SetLevel SetLevel
182
+ *@ENG_START_DOX @brief Sets the AMD Radeon™ Anti-Lag level on a GPU. @ENG_END_DOX
183
+ *
184
+ *@syntax
185
+ *@codeStart
186
+ * @ref ADLX_RESULT SetLevel (@ref ADLX_ANTILAG_STATE level)
187
+ *@codeEnd
188
+ *
189
+ *@params
190
+ * @paramrow{1.,[in],level,@ref ADLX_ANTILAG_STATE,@ENG_START_DOX The new Radeon Anti-Lag level. @ENG_END_DOX}
191
+ *
192
+ *@retvalues
193
+ *@ENG_START_DOX If the Radeon Anti-Lag level is successfully set, __ADLX_OK__ is returned.<br>
194
+ * If the Radeon Anti-Lag level is not successfully set, an error code is returned.<br>
195
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
196
+ *
197
+ * @addinfo
198
+ * @ENG_START_DOX
199
+ * Radeon Anti-Lag helps reduce input lag in GPU-limited cases by controlling the pace of the CPU work to ensure it doesn't get too far ahead of the GPU. <br>
200
+ * Radeon Anti-Lag Next enables an advanced algorithm in supported DX11 and DX12 games for a more responsive experience.
201
+ * @ENG_END_DOX
202
+ *
203
+ *@copydoc IADLX3DAntiLag1_REQ_TABLE
204
+ *
205
+ */
206
+ virtual ADLX_RESULT ADLX_STD_CALL SetLevel(ADLX_ANTILAG_STATE level) = 0;
207
+ }; //IADLX3DAntiLag1
208
+ //----------------------------------------------------------------------------------------------
209
+ typedef IADLXInterfacePtr_T<IADLX3DAntiLag1> IADLX3DAntiLag1Ptr;
210
+ } //namespace adlx
211
+ #else //__cplusplus
212
+ ADLX_DECLARE_IID(IADLX3DAntiLag1, L"IADLX3DAntiLag1")
213
+
214
+ typedef struct IADLX3DAntiLag1 IADLX3DAntiLag1;
215
+
216
+ typedef struct IADLX3DAntiLag1Vtbl
217
+ {
218
+ //IADLXInterface
219
+ adlx_long(ADLX_STD_CALL* Acquire)(IADLX3DAntiLag1* pThis);
220
+ adlx_long(ADLX_STD_CALL* Release)(IADLX3DAntiLag1* pThis);
221
+ ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLX3DAntiLag1* pThis, const wchar_t* interfaceId, void** ppInterface);
222
+
223
+ //IADLX3DAntiLag
224
+ ADLX_RESULT(ADLX_STD_CALL* IsSupported)(IADLX3DAntiLag1* pThis, adlx_bool* supported);
225
+ ADLX_RESULT(ADLX_STD_CALL* IsEnabled)(IADLX3DAntiLag1* pThis, adlx_bool* enabled);
226
+ ADLX_RESULT(ADLX_STD_CALL* SetEnabled)(IADLX3DAntiLag1* pThis, adlx_bool enable);
227
+ ADLX_RESULT(ADLX_STD_CALL* GetLevel)(IADLX3DAntiLag1* pThis, ADLX_ANTILAG_STATE* level);
228
+ ADLX_RESULT(ADLX_STD_CALL* SetLevel)(IADLX3DAntiLag1* pThis, ADLX_ANTILAG_STATE level);
229
+ }IADLX3DAntiLag1Vtbl;
230
+
231
+ struct IADLX3DAntiLag1 { const IADLX3DAntiLag1Vtbl* pVtbl; };
232
+ #endif //__cplusplus
233
+ #pragma endregion IADLX3DAntiLag1
234
+
235
+
236
+ //3DChill setting interface
237
+ #pragma region IADLX3DChill
238
+ #if defined (__cplusplus)
239
+ namespace adlx
240
+ {
241
+ class ADLX_NO_VTABLE IADLX3DChill : public IADLXInterface
242
+ {
243
+ public:
244
+ ADLX_DECLARE_IID (L"IADLX3DChill")
245
+
246
+ /**
247
+ *@page DOX_IADLX3DChill_IsSupported IsSupported
248
+ *@ENG_START_DOX @brief Checks if AMD Radeon™ Chill is supported on a GPU. @ENG_END_DOX
249
+ *
250
+ *@syntax
251
+ *@codeStart
252
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
253
+ *@codeEnd
254
+ *
255
+ *@params
256
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Radeon Chill is returned. The variable is __true__ if AMD Radeon Chill is supported. The variable is __false__ if AMD Radeon Chill is not supported. @ENG_END_DOX}
257
+ *
258
+ *@retvalues
259
+ *@ENG_START_DOX If the state of AMD Radeon Chill is successfully returned, __ADLX_OK__ is returned.<br>
260
+ * If the state of AMD Radeon Chill 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
+ * @addinfo
264
+ * @ENG_START_DOX
265
+ * AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement.
266
+ * @ENG_END_DOX
267
+ *
268
+ *@copydoc IADLX3DChill_REQ_TABLE
269
+ *
270
+ */
271
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
272
+
273
+ /**
274
+ *@page DOX_IADLX3DChill_IsEnabled IsEnabled
275
+ *@ENG_START_DOX @brief Checks if AMD Radeon™ Chill is enabled on a GPU. @ENG_END_DOX
276
+ *
277
+ *@syntax
278
+ *@codeStart
279
+ * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
280
+ *@codeEnd
281
+ *
282
+ *@params
283
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Radeon Chill is returned. The variable is __true__ if AMD Radeon Chill is enabled. The variable is __false__ if AMD Radeon Chill is not enabled. @ENG_END_DOX}
284
+ *
285
+ *@retvalues
286
+ *@ENG_START_DOX If the state of AMD Radeon Chill is successfully returned, __ADLX_OK__ is returned.<br>
287
+ * If the state of AMD Radeon Chill is not successfully returned, an error code is returned.<br>
288
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
289
+ *
290
+ * @addinfo
291
+ * @ENG_START_DOX
292
+ * AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement.<br>
293
+ *
294
+ * @depifc
295
+ * AMD Radeon Chill cannot be simultaneously enabled with @ref DOX_IADLX3DBoost "AMD Radeon Boost", @ref DOX_IADLX3DAntiLag "AMD Radeon Anti-Lag", or @ref DOX_IADLX3DAntiLag1 "AMD Radeon Anti-Lag Next".<br>
296
+ *
297
+ * If a mutually exclusive feature is enabled, AMD Radeon Chill is automatically disabled. When AMD Radeon Chill is re-enabled, its previous configuration settings are restored.<br>
298
+ * @ENG_END_DOX
299
+ *
300
+ *@copydoc IADLX3DChill_REQ_TABLE
301
+ *
302
+ */
303
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* isEnabled) = 0;
304
+
305
+ /**
306
+ *@page DOX_IADLX3DChill_GetFPSRange GetFPSRange
307
+ *@ENG_START_DOX @brief Gets the AMD Radeon™ Chill maximum FPS, minimum FPS, and step FPS on a GPU. @ENG_END_DOX
308
+ *
309
+ *@syntax
310
+ *@codeStart
311
+ * @ref ADLX_RESULT GetFPSRange (@ref ADLX_IntRange* range)
312
+ *@codeEnd
313
+ *
314
+ *@params
315
+ * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the FPS range of AMD Radeon Chill is returned. @ENG_END_DOX}
316
+ *
317
+ *@retvalues
318
+ *@ENG_START_DOX If the FPS range is successfully returned, __ADLX_OK__ is returned.<br>
319
+ * If the FPS range is not successfully returned, an error code is returned.<br>
320
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
321
+ *
322
+ *@detaileddesc
323
+ *@ENG_START_DOX @details The maximum FPS, minimum FPS, and step FPS values are read only. @ENG_END_DOX
324
+ *
325
+ * @addinfo
326
+ * @ENG_START_DOX
327
+ * AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement.
328
+ *
329
+ * The maximum FPS determines the target frame rate during periods of intense action.
330
+ *
331
+ * The minimum FPS determines the target frame rate when in-game interaction is minimal.
332
+ * @ENG_END_DOX
333
+ *
334
+ *@copydoc IADLX3DChill_REQ_TABLE
335
+ *
336
+ */
337
+ virtual ADLX_RESULT ADLX_STD_CALL GetFPSRange (ADLX_IntRange* range) = 0;
338
+
339
+ /**
340
+ *@page DOX_IADLX3DChill_GetMinFPS GetMinFPS
341
+ *@ENG_START_DOX @brief Gets the AMD Radeon™ Chill current minimum FPS on a GPU. @ENG_END_DOX
342
+ *
343
+ *@syntax
344
+ *@codeStart
345
+ * @ref ADLX_RESULT GetMinFPS (adlx_int* currentMinFPS)
346
+ *@codeEnd
347
+ *
348
+ *@params
349
+ * @paramrow{1.,[out],currentMinFPS,adlx_int*,@ENG_START_DOX The pointer to a variable where the current minimum FPS value of AMD Radeon Chill is returned. @ENG_END_DOX}
350
+ *
351
+ *@retvalues
352
+ *@ENG_START_DOX If the current minimum FPS is successfully returned, __ADLX_OK__ is returned.<br>
353
+ * If the current minimum FPS is not successfully returned, an error code is returned.<br>
354
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
355
+ *
356
+ * @addinfo
357
+ * @ENG_START_DOX
358
+ * AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement.
359
+ *
360
+ * The minimum FPS determines the target frame rate when in-game interaction is minimal.
361
+ * @ENG_END_DOX
362
+ *
363
+ *@copydoc IADLX3DChill_REQ_TABLE
364
+ *
365
+ */
366
+ virtual ADLX_RESULT ADLX_STD_CALL GetMinFPS (adlx_int* currentMinFPS) = 0;
367
+
368
+ /**
369
+ *@page DOX_IADLX3DChill_GetMaxFPS GetMaxFPS
370
+ *@ENG_START_DOX @brief Gets the AMD Radeon™ Chill current maximum FPS on a GPU. @ENG_END_DOX
371
+ *
372
+ *@syntax
373
+ *@codeStart
374
+ * @ref ADLX_RESULT GetMaxFPS (adlx_int* currentMaxFPS)
375
+ *@codeEnd
376
+ *
377
+ *@params
378
+ * @paramrow{1.,[out],currentMaxFPS,adlx_int*,@ENG_START_DOX The pointer to a variable where the current maximum FPS value of AMD Radeon Chill is returned. @ENG_END_DOX}
379
+ *
380
+ *@retvalues
381
+ *@ENG_START_DOX If the current maximum FPS is successfully returned, __ADLX_OK__ is returned.<br>
382
+ * If the current maximum FPS is not successfully returned, an error code is returned.<br>
383
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
384
+ *
385
+ * @addinfo
386
+ * @ENG_START_DOX
387
+ * AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement.
388
+ *
389
+ *The maximum FPS determines the target frame rate during periods of intense action.
390
+ * @ENG_END_DOX
391
+ *
392
+ *@copydoc IADLX3DChill_REQ_TABLE
393
+ *
394
+ */
395
+ virtual ADLX_RESULT ADLX_STD_CALL GetMaxFPS (adlx_int* currentMaxFPS) = 0;
396
+
397
+ /**
398
+ *@page DOX_IADLX3DChill_SetEnabled SetEnabled
399
+ *@ENG_START_DOX @brief Sets the activation status of AMD Radeon™ Chill on a GPU. @ENG_END_DOX
400
+ *
401
+ *@syntax
402
+ *@codeStart
403
+ * @ref ADLX_RESULT SetEnabled (adlx_bool enable)
404
+ *@codeEnd
405
+ *
406
+ *@params
407
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new AMD Radeon Chill state. Set __true__ to enable AMD Radeon Chill. Set __false__ to disable AMD Radeon Chill. @ENG_END_DOX}
408
+ *
409
+ *@retvalues
410
+ *@ENG_START_DOX If the state of AMD Radeon Chill is successfully set, __ADLX_OK__ is returned.<br>
411
+ * If the state of AMD Radeon Chill is not successfully set, an error code is returned.<br>
412
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
413
+ *
414
+ * @addinfo
415
+ * @ENG_START_DOX
416
+ * AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement.<br>
417
+ *
418
+ * @depifc
419
+ * AMD Radeon Chill cannot be simultaneously enabled with @ref DOX_IADLX3DBoost "AMD Radeon Boost", @ref DOX_IADLX3DAntiLag "AMD Radeon Anti-Lag", or @ref DOX_IADLX3DAntiLag1 "AMD Radeon Anti-Lag Next".<br>
420
+ *
421
+ * When AMD Radeon Chill is enabled, the mutually exclusive features are automatically disabled. If a mutually exclusive feature is re-enabled, its previous configuration settings are restored.<br>
422
+ * @ENG_END_DOX
423
+ *
424
+ *@copydoc IADLX3DChill_REQ_TABLE
425
+ *
426
+ */
427
+ virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enable) = 0;
428
+
429
+ /**
430
+ *@page DOX_IADLX3DChill_SetMinFPS SetMinFPS
431
+ *@ENG_START_DOX @brief Sets the AMD Radeon™ Chill minimum FPS on a GPU. @ENG_END_DOX
432
+ *
433
+ *@syntax
434
+ *@codeStart
435
+ * @ref ADLX_RESULT SetMinFPS (adlx_int minFPS)
436
+ *@codeEnd
437
+ *
438
+ *@params
439
+ * @paramrow{1.,[in],minFPS,adlx_int,@ENG_START_DOX The new minimum FPS value of AMD Radeon Chill. @ENG_END_DOX}
440
+ *
441
+ *@retvalues
442
+ *@ENG_START_DOX If the minimum FPS is successfully set, __ADLX_OK__ is returned.<br>
443
+ * If the minimum FPS is not successfully set, an error code is returned.<br>
444
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
445
+ *
446
+ * @addinfo
447
+ * @ENG_START_DOX
448
+ * AMD Radeon Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement.
449
+ *
450
+ * The minimum FPS determines the target frame rate when in-game interaction is minimal.
451
+ * @ENG_END_DOX
452
+ *
453
+ *@copydoc IADLX3DChill_REQ_TABLE
454
+ *
455
+ */
456
+ virtual ADLX_RESULT ADLX_STD_CALL SetMinFPS (adlx_int minFPS) = 0;
457
+
458
+ /**
459
+ *@page DOX_IADLX3DChill_SetMaxFPS SetMaxFPS
460
+ *@ENG_START_DOX @brief Sets the AMD Radeon™ Chill maximum FPS on a GPU. @ENG_END_DOX
461
+ *
462
+ *@syntax
463
+ *@codeStart
464
+ * @ref ADLX_RESULT SetMaxFPS (adlx_int maxFPS)
465
+ *@codeEnd
466
+ *
467
+ *@params
468
+ * @paramrow{1.,[in],maxFPS,adlx_int,@ENG_START_DOX The new maximum FPS value of AMD Radeon Chill. @ENG_END_DOX}
469
+ *
470
+ *@retvalues
471
+ *@ENG_START_DOX If the maximum FPS is successfully set, __ADLX_OK__ is returned.<br>
472
+ * If the maximum FPS is not successfully set, an error code is returned.<br>
473
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
474
+ *
475
+ * @addinfo
476
+ * @ENG_START_DOX
477
+ * Chill conserves GPU power and reduces heat by adjusting the FPS based on the intensity of in-game movement.
478
+ *
479
+ * The maximum FPS determines the target frame rate during periods of intense action.
480
+ * @ENG_END_DOX
481
+ *
482
+ *@copydoc IADLX3DChill_REQ_TABLE
483
+ *
484
+ */
485
+ virtual ADLX_RESULT ADLX_STD_CALL SetMaxFPS (adlx_int maxFPS) = 0;
486
+
487
+ }; //IADLX3DChill
488
+ //----------------------------------------------------------------------------------------------
489
+ typedef IADLXInterfacePtr_T<IADLX3DChill> IADLX3DChillPtr;
490
+ } //namespace adlx
491
+ #else //__cplusplus
492
+ ADLX_DECLARE_IID (IADLX3DChill, L"IADLX3DChill")
493
+
494
+ typedef struct IADLX3DChill IADLX3DChill;
495
+
496
+ typedef struct IADLX3DChillVtbl
497
+ {
498
+ //IADLXInterface
499
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DChill* pThis);
500
+ adlx_long (ADLX_STD_CALL *Release)(IADLX3DChill* pThis);
501
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DChill* pThis, const wchar_t* interfaceId, void** ppInterface);
502
+
503
+ //IADLX3DChill
504
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DChill* pThis, adlx_bool* supported);
505
+ ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLX3DChill* pThis, adlx_bool* isEnabled);
506
+ ADLX_RESULT (ADLX_STD_CALL *GetFPSRange)(IADLX3DChill* pThis, ADLX_IntRange* range);
507
+ ADLX_RESULT (ADLX_STD_CALL *GetMinFPS)(IADLX3DChill* pThis, adlx_int* currentMinFPS);
508
+ ADLX_RESULT (ADLX_STD_CALL *GetMaxFPS)(IADLX3DChill* pThis, adlx_int* currentMaxFPS);
509
+ ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLX3DChill* pThis, adlx_bool enable);
510
+ ADLX_RESULT (ADLX_STD_CALL *SetMinFPS)(IADLX3DChill* pThis, adlx_int minFPS);
511
+ ADLX_RESULT (ADLX_STD_CALL *SetMaxFPS)(IADLX3DChill* pThis, adlx_int maxFPS);
512
+ }IADLX3DChillVtbl;
513
+
514
+ struct IADLX3DChill { const IADLX3DChillVtbl *pVtbl; };
515
+ #endif //__cplusplus
516
+ #pragma endregion IADLX3DChill
517
+
518
+ //3DBoost setting interface
519
+ #pragma region IADLX3DBoost
520
+ #if defined (__cplusplus)
521
+ namespace adlx
522
+ {
523
+ class ADLX_NO_VTABLE IADLX3DBoost : public IADLXInterface
524
+ {
525
+ public:
526
+ ADLX_DECLARE_IID (L"IADLX3DBoost")
527
+
528
+ /**
529
+ *@page DOX_IADLX3DBoost_IsSupported IsSupported
530
+ *@ENG_START_DOX @brief Checks if AMD Radeon™ Boost is supported on a GPU. @ENG_END_DOX
531
+ *
532
+ *@syntax
533
+ *@codeStart
534
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
535
+ *@codeEnd
536
+ *
537
+ *@params
538
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Radeon Boost is returned. The variable is __true__ if AMD Radeon Boost is supported. The variable is __false__ if AMD Radeon Boost is not supported. @ENG_END_DOX}
539
+ *
540
+ *@retvalues
541
+ *@ENG_START_DOX If the state of AMD Radeon Boost is successfully returned, __ADLX_OK__ is returned.<br>
542
+ * If the state of AMD Radeon Boost is not successfully returned, an error code is returned.<br>
543
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
544
+ *
545
+ * @addinfo
546
+ *@ENG_START_DOX AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality.<br>
547
+ * Only works in supported games.
548
+ * @ENG_END_DOX
549
+ *
550
+ *@copydoc IADLX3DBoost_REQ_TABLE
551
+ *
552
+ */
553
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
554
+
555
+ /**
556
+ *@page DOX_IADLX3DBoost_IsEnabled IsEnabled
557
+ *@ENG_START_DOX @brief Checks if AMD Radeon™ Boost is enabled on a GPU. @ENG_END_DOX
558
+ *
559
+ *@syntax
560
+ *@codeStart
561
+ * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
562
+ *@codeEnd
563
+ *
564
+ *@params
565
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Radeon Boost is returned. The variable is __true__ if AMD Radeon Boost is enabled. The variable is __false__ if AMD Radeon Boost is not enabled. @ENG_END_DOX}
566
+ *
567
+ *@retvalues
568
+ *@ENG_START_DOX If the state of AMD Radeon Boost is successfully returned, __ADLX_OK__ is returned.<br>
569
+ * If the state of AMD Radeon Boost is not successfully returned, an error code is returned.<br>
570
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
571
+ *
572
+ * @addinfo
573
+ *@ENG_START_DOX AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality.<br>
574
+ * __Note:__ Only works in supported games.<br>
575
+ *
576
+ * @depifc
577
+ * AMD Radeon Boost cannot be simultaneously enabled with @ref DOX_IADLX3DChill "AMD Radeon Chill".<br>
578
+ *
579
+ * On some AMD GPUs, AMD Radeon Boost cannot be simultaneously enabled with @ref DOX_IADLX3DRadeonSuperResolution "Radeon Super Resolution".<br>
580
+ *
581
+ * When a mutually exclusive feature is enabled, AMD Radeon Boost is automatically disabled. If AMD Radeon Boost is later re-enabled, its previous configuration settings will be restored.
582
+ * @ENG_END_DOX
583
+ *
584
+ *@copydoc IADLX3DBoost_REQ_TABLE
585
+ *
586
+ */
587
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* isEnabled) = 0;
588
+
589
+ /**
590
+ *@page DOX_IADLX3DBoost_GetResolutionRange GetResolutionRange
591
+ *@ENG_START_DOX @brief Gets the maximum resolution, minimum resolution, and step resolution of AMD Radeon™ Boost on a GPU. @ENG_END_DOX
592
+ *
593
+ *@syntax
594
+ *@codeStart
595
+ * @ref ADLX_RESULT GetResolutionRange (@ref ADLX_IntRange* range)
596
+ *@codeEnd
597
+ *
598
+ *@params
599
+ * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the resolution range of AMD Radeon Boost is returned. @ENG_END_DOX}
600
+ *
601
+ *@retvalues
602
+ *@ENG_START_DOX If the resolution range is successfully returned, __ADLX_OK__ is returned.<br>
603
+ * If the resolution range is not successfully returned, an error code is returned.<br>
604
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
605
+ *
606
+ *@detaileddesc
607
+ *@ENG_START_DOX @details The maximum resolution, minimum resolution, and step resolution of AMD Radeon Boost are read only. @ENG_END_DOX
608
+ *
609
+ * @addinfo
610
+ *@ENG_START_DOX AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality.<br>
611
+ * Only works in supported games.
612
+ * @ENG_END_DOX
613
+ *
614
+ *@copydoc IADLX3DBoost_REQ_TABLE
615
+ *
616
+ */
617
+ virtual ADLX_RESULT ADLX_STD_CALL GetResolutionRange (ADLX_IntRange* range) = 0;
618
+
619
+ /**
620
+ *@page DOX_IADLX3DBoost_GetResolution GetResolution
621
+ *@ENG_START_DOX @brief Gets the current minimum resolution of AMD Radeon™ Boost on a GPU. @ENG_END_DOX
622
+ *
623
+ *@syntax
624
+ *@codeStart
625
+ * @ref ADLX_RESULT GetResolution (adlx_int* currentMinRes)
626
+ *@codeEnd
627
+ *
628
+ *@params
629
+ * @paramrow{1.,[out],currentMinRes,adlx_int*,@ENG_START_DOX The pointer to a variable where the current minimum resolution (in %) of AMD Radeon Boost is returned. @ENG_END_DOX}
630
+ *
631
+ *@retvalues
632
+ *@ENG_START_DOX If the current minimum resolution is successfully returned, __ADLX_OK__ is returned.<br>
633
+ * If the current minimum resolution is not successfully returned, an error code is returned.<br>
634
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
635
+ *
636
+ * @addinfo
637
+ *@ENG_START_DOX AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality.<br>
638
+ * Only works in supported games.
639
+ * @ENG_END_DOX
640
+ *
641
+ *@copydoc IADLX3DBoost_REQ_TABLE
642
+ *
643
+ */
644
+ virtual ADLX_RESULT ADLX_STD_CALL GetResolution (adlx_int* currentMinRes) = 0;
645
+
646
+ /**
647
+ *@page DOX_IADLX3DBoost_SetEnabled SetEnabled
648
+ *@ENG_START_DOX @brief Sets AMD Radeon™ Boost to enabled or disabled on a GPU. @ENG_END_DOX
649
+ *
650
+ *@syntax
651
+ *@codeStart
652
+ * @ref ADLX_RESULT SetEnabled (adlx_bool enable)
653
+ *@codeEnd
654
+ *
655
+ *@params
656
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new AMD Radeon Boost state. Set __true__ to enable AMD Radeon Boost. Set __false__ to disable AMD Radeon Boost. @ENG_END_DOX}
657
+ *
658
+ *@retvalues
659
+ *@ENG_START_DOX If the state of AMD Radeon Boost is successfully set, __ADLX_OK__ is returned.<br>
660
+ * If the state of AMD Radeon Boost is not successfully set, an error code is returned.<br>
661
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
662
+ *
663
+ * @addinfo
664
+ *@ENG_START_DOX AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality.<br>
665
+ * __Note:__ Only works in supported games.<br>
666
+ *
667
+ * @depifc
668
+ * AMD Radeon Boost cannot be simultaneously enabled with @ref DOX_IADLX3DChill "AMD Radeon Chill".<br>
669
+ *
670
+ * On some AMD GPUs, AMD Radeon Boost cannot be simultaneously enabled with @ref DOX_IADLX3DRadeonSuperResolution "Radeon Super Resolution".<br>
671
+ *
672
+ * When AMD Radeon Boost is enabled, the mutually exclusive features are automatically disabled. If a mutually exclusive feature is re-enabled, its previous configuration settings are restored.
673
+ * @ENG_END_DOX
674
+ *
675
+ *@copydoc IADLX3DBoost_REQ_TABLE
676
+ *
677
+ */
678
+ virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enable) = 0;
679
+
680
+ /**
681
+ *@page DOX_IADLX3DBoost_SetResolution SetResolution
682
+ *@ENG_START_DOX @brief Sets the minimum resolution of AMD Radeon™ Boost on a GPU. @ENG_END_DOX
683
+ *
684
+ *@syntax
685
+ *@codeStart
686
+ * @ref ADLX_RESULT SetResolution (adlx_int minRes)
687
+ *@codeEnd
688
+ *
689
+ *@params
690
+ * @paramrow{1.,[in],minRes,adlx_int,@ENG_START_DOX The new minimum resolution (in %) of AMD Radeon Boost. @ENG_END_DOX}
691
+ *
692
+ *@retvalues
693
+ *@ENG_START_DOX If the minimum resolution is successfully set, __ADLX_OK__ is returned.<br>
694
+ * If the minimum resolution is not successfully set, an error code is returned.<br>
695
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
696
+ *
697
+ * @addinfo
698
+ *@ENG_START_DOX AMD Radeon Boost dynamically reduces resolution during motion to improve performance with little perceptible impact on image quality. Only works in supported games. <br>
699
+ * @ENG_END_DOX
700
+ *
701
+ *@copydoc IADLX3DBoost_REQ_TABLE
702
+ *
703
+ */
704
+ virtual ADLX_RESULT ADLX_STD_CALL SetResolution (adlx_int minRes) = 0;
705
+
706
+ }; //IADLX3DBoost
707
+ //----------------------------------------------------------------------------------------------
708
+ typedef IADLXInterfacePtr_T<IADLX3DBoost> IADLX3DBoostPtr;
709
+ } //namespace adlx
710
+ #else //__cplusplus
711
+ ADLX_DECLARE_IID (IADLX3DBoost, L"IADLX3DBoost")
712
+
713
+ typedef struct IADLX3DBoost IADLX3DBoost;
714
+
715
+ typedef struct IADLX3DBoostVtbl
716
+ {
717
+ //IADLXInterface
718
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DBoost* pThis);
719
+ adlx_long (ADLX_STD_CALL *Release)(IADLX3DBoost* pThis);
720
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DBoost* pThis, const wchar_t* interfaceId, void** ppInterface);
721
+
722
+ //IADLX3DBoost
723
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DBoost* pThis, adlx_bool* supported);
724
+
725
+ ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLX3DBoost* pThis, adlx_bool* isEnabled);
726
+ ADLX_RESULT (ADLX_STD_CALL *GetResolutionRange)(IADLX3DBoost* pThis, ADLX_IntRange* range);
727
+ ADLX_RESULT (ADLX_STD_CALL *GetResolution)(IADLX3DBoost* pThis, adlx_int* currentMinRes);
728
+ ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLX3DBoost* pThis, adlx_bool enable);
729
+ ADLX_RESULT (ADLX_STD_CALL *SetResolution)(IADLX3DBoost* pThis, adlx_int minRes);
730
+ }IADLX3DBoostVtbl;
731
+
732
+ struct IADLX3DBoost { const IADLX3DBoostVtbl *pVtbl; };
733
+ #endif //__cplusplus
734
+ #pragma endregion IADLX3DBoost
735
+
736
+ //3DImageSharpening setting interface
737
+ #pragma region IADLX3DImageSharpening
738
+ #if defined (__cplusplus)
739
+ namespace adlx
740
+ {
741
+ class ADLX_NO_VTABLE IADLX3DImageSharpening : public IADLXInterface
742
+ {
743
+ public:
744
+ ADLX_DECLARE_IID (L"IADLX3DImageSharpening")
745
+
746
+ /**
747
+ *@page DOX_IADLX3DImageSharpening_IsSupported IsSupported
748
+ *@ENG_START_DOX @brief Checks if AMD Radeon™ Image Sharpening is supported on a GPU. @ENG_END_DOX
749
+ *
750
+ *@syntax
751
+ *@codeStart
752
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
753
+ *@codeEnd
754
+ *
755
+ *@params
756
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Radeon Image Sharpening is returned. The variable is __true__ if AMD Radeon Image Sharpening is supported. The variable is __false__ if AMD Radeon Image Sharpening is not supported. @ENG_END_DOX}
757
+ *
758
+ *@retvalues
759
+ *@ENG_START_DOX If the state of AMD Radeon Image Sharpening is successfully returned, __ADLX_OK__ is returned.<br>
760
+ * If the state of AMD Radeon Image Sharpening is not successfully returned, an error code is returned.<br>
761
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
762
+ *
763
+ * @addinfo
764
+ *@ENG_START_DOX AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications.
765
+ * @ENG_END_DOX
766
+ *
767
+ *@copydoc IADLX3DImageSharpening_REQ_TABLE
768
+ *
769
+ */
770
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
771
+
772
+ /**
773
+ *@page DOX_IADLX3DImageSharpening_IsEnabled IsEnabled
774
+ *@ENG_START_DOX @brief Checks if AMD Radeon™ Image Sharpening is enabled on a GPU. @ENG_END_DOX
775
+ *
776
+ *@syntax
777
+ *@codeStart
778
+ * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
779
+ *@codeEnd
780
+ *
781
+ *@params
782
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Radeon Image Sharpening is returned. The variable is __true__ if AMD Radeon Image Sharpening is enabled. The variable is __false__ if AMD Radeon Image Sharpening is not enabled. @ENG_END_DOX}
783
+ *
784
+ *@retvalues
785
+ *@ENG_START_DOX If the state of AMD Radeon Image Sharpening is successfully returned, __ADLX_OK__ is returned.<br>
786
+ * If the state of AMD Radeon Image Sharpening is not successfully returned, an error code is returned.<br>
787
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
788
+ *
789
+ * @addinfo
790
+ *@ENG_START_DOX AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications.<br>
791
+
792
+
793
+ * @depifc
794
+ * If AMD Radeon Image Sharpening is enabled in the GPU used by a video application, the @ref DOX_IADLXVideoUpscale "video upscale" settings will be ignored.<br>
795
+ *
796
+ * On some AMD GPUs, AMD Radeon 3D Image Sharpening cannot be simultaneously enabled with @ref DOX_IADLX3DRadeonSuperResolution "Radeon Super Resolution".<br>
797
+ *
798
+ * When a mutually exclusive feature is enabled, AMD Radeon 3D Image Sharpening is automatically disabled. If AMD Radeon 3D Image Sharpening is later re-enabled, its previous configuration settings will be restored.<br>
799
+ * @ENG_END_DOX
800
+ *
801
+ *@copydoc IADLX3DImageSharpening_REQ_TABLE
802
+ *
803
+ */
804
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* isEnabled) = 0;
805
+
806
+ /**
807
+ *@page DOX_IADLX3DImageSharpening_GetSharpnessRange GetSharpnessRange
808
+ *@ENG_START_DOX @brief Gets the AMD Radeon™ Image Sharpening maximum sharpness, minimum sharpness, and step sharpness on a GPU. @ENG_END_DOX
809
+ *
810
+ *@syntax
811
+ *@codeStart
812
+ * @ref ADLX_RESULT GetSharpnessRange (@ref ADLX_IntRange* range)
813
+ *@codeEnd
814
+ *
815
+ *@params
816
+ * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the sharpness range is returned. @ENG_END_DOX}
817
+ *
818
+ *@retvalues
819
+ *@ENG_START_DOX If the sharpness range is successfully returned, __ADLX_OK__ is returned.<br>
820
+ * If the sharpness range is not successfully returned, an error code is returned.<br>
821
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
822
+ *
823
+ *@detaileddesc
824
+ *@ENG_START_DOX @details The maximum sharpness, minimum sharpness, and step sharpness of AMD Radeon Image Sharpening are read only. @ENG_END_DOX
825
+ *
826
+ * @addinfo
827
+ *@ENG_START_DOX AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications.
828
+ * @ENG_END_DOX
829
+ *
830
+ *@copydoc IADLX3DImageSharpening_REQ_TABLE
831
+ *
832
+ */
833
+ virtual ADLX_RESULT ADLX_STD_CALL GetSharpnessRange (ADLX_IntRange* range) = 0;
834
+
835
+ /**
836
+ *@page DOX_IADLX3DImageSharpening_GetSharpness GetSharpness
837
+ *@ENG_START_DOX @brief Gets the current sharpness of AMD Radeon™ Image Sharpening on a GPU. @ENG_END_DOX
838
+ *
839
+ *@syntax
840
+ *@codeStart
841
+ * @ref ADLX_RESULT GetSharpness (adlx_int* currentSharpness)
842
+ *@codeEnd
843
+ *
844
+ *@params
845
+ * @paramrow{1.,[out],currentSharpness,adlx_int*,@ENG_START_DOX The pointer to a variable where the current sharpness (in %) is returned. @ENG_END_DOX}
846
+ *
847
+ *@retvalues
848
+ *@ENG_START_DOX If the current sharpness is successfully returned, __ADLX_OK__ is returned.<br>
849
+ * If the current sharpness is not successfully returned, an error code is returned.<br>
850
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
851
+ *
852
+ * @addinfo
853
+ *@ENG_START_DOX AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications.
854
+ * @ENG_END_DOX
855
+ *
856
+ *@copydoc IADLX3DImageSharpening_REQ_TABLE
857
+ *
858
+ */
859
+ virtual ADLX_RESULT ADLX_STD_CALL GetSharpness (adlx_int* currentSharpness) = 0;
860
+
861
+ /**
862
+ *@page DOX_IADLX3DImageSharpening_SetEnabled SetEnabled
863
+ *@ENG_START_DOX @brief Sets AMD Radeon™ Image Sharpening to enabled or disabled on a GPU. @ENG_END_DOX
864
+ *
865
+ *@syntax
866
+ *@codeStart
867
+ * @ref ADLX_RESULT SetEnabled (adlx_bool enable)
868
+ *@codeEnd
869
+ *
870
+ *@params
871
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new AMD Radeon Image Sharpening state. Set __true__ to enable AMD Radeon Image Sharpening. Set __false__ to disable AMD Radeon Image Sharpening. @ENG_END_DOX}
872
+ *
873
+ *@retvalues
874
+ *@ENG_START_DOX If the state of AMD Radeon Image Sharpening is successfully set, __ADLX_OK__ is returned.<br>
875
+ * If the state of AMD Radeon Image Sharpening is not successfully set, an error code is returned.<br>
876
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
877
+ *
878
+ * @addinfo
879
+ *@ENG_START_DOX AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications.<br>
880
+ *
881
+ * @depifc
882
+ * If AMD Radeon Image Sharpening is enabled in the GPU used by a video application, the @ref DOX_IADLXVideoUpscale "video upscale" settings will be ignored.<br>
883
+ *
884
+ * On some AMD GPUs, AMD Radeon 3D Image Sharpening cannot be simultaneously enabled with @ref DOX_IADLX3DRadeonSuperResolution "Radeon Super Resolution".<br>
885
+ *
886
+ * When AMD Radeon 3D Image Sharpening is enabled, the mutually exclusive features are automatically disabled. If a mutually exclusive feature is re-enabled, its previous configuration settings are restored.<br>
887
+ * @ENG_END_DOX
888
+ *
889
+ *@copydoc IADLX3DImageSharpening_REQ_TABLE
890
+ *
891
+ */
892
+ virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enable) = 0;
893
+
894
+ /**
895
+ *@page DOX_IADLX3DImageSharpening_SetSharpness SetSharpness
896
+ *@ENG_START_DOX @brief Sets the sharpness of AMD Radeon™ Image Sharpening on a GPU. @ENG_END_DOX
897
+ *
898
+ *@syntax
899
+ *@codeStart
900
+ * @ref ADLX_RESULT SetSharpness (adlx_int sharpness)
901
+ *@codeEnd
902
+ *
903
+ *@params
904
+ * @paramrow{1.,[in],sharpness,adlx_int,@ENG_START_DOX The new sharpness (in %). @ENG_END_DOX}
905
+ *
906
+ *@retvalues
907
+ *@ENG_START_DOX If the sharpness is successfully set, __ADLX_OK__ is returned.<br>
908
+ * If the sharpness is not successfully set, an error code is returned.<br>
909
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
910
+ *
911
+ * @addinfo
912
+ *@ENG_START_DOX AMD Radeon Image Sharpening restores clarity softened by other effects to in-game visuals, and select productivity and media applications.
913
+ * @ENG_END_DOX
914
+ *
915
+ *@copydoc IADLX3DImageSharpening_REQ_TABLE
916
+ *
917
+ */
918
+ virtual ADLX_RESULT ADLX_STD_CALL SetSharpness (adlx_int sharpness) = 0;
919
+
920
+ }; //IADLX3DImageSharpening
921
+ //----------------------------------------------------------------------------------------------
922
+ typedef IADLXInterfacePtr_T<IADLX3DImageSharpening> IADLX3DImageSharpeningPtr;
923
+ } //namespace adlx
924
+ #else //__cplusplus
925
+ ADLX_DECLARE_IID (IADLX3DImageSharpening, L"IADLX3DImageSharpening")
926
+
927
+ typedef struct IADLX3DImageSharpening IADLX3DImageSharpening;
928
+
929
+ typedef struct IADLX3DImageSharpeningVtbl
930
+ {
931
+ //IADLXInterface
932
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DImageSharpening* pThis);
933
+ adlx_long (ADLX_STD_CALL *Release)(IADLX3DImageSharpening* pThis);
934
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DImageSharpening* pThis, const wchar_t* interfaceId, void** ppInterface);
935
+
936
+ //IADLX3DImageSharpening
937
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DImageSharpening* pThis, adlx_bool* supported);
938
+ ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLX3DImageSharpening* pThis, adlx_bool* isEnabled);
939
+ ADLX_RESULT (ADLX_STD_CALL *GetSharpnessRange)(IADLX3DImageSharpening* pThis, ADLX_IntRange* range);
940
+ ADLX_RESULT (ADLX_STD_CALL *GetSharpness)(IADLX3DImageSharpening* pThis, adlx_int* currentSharpness);
941
+ ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLX3DImageSharpening* pThis, adlx_bool enable);
942
+ ADLX_RESULT (ADLX_STD_CALL *SetSharpness)(IADLX3DImageSharpening* pThis, adlx_int sharpness);
943
+ }IADLX3DImageSharpeningVtbl;
944
+
945
+ struct IADLX3DImageSharpening { const IADLX3DImageSharpeningVtbl *pVtbl; };
946
+ #endif //__cplusplus
947
+ #pragma endregion IADLX3DImageSharpening
948
+
949
+ //3DEnhancedSync setting interface
950
+ #pragma region IADLX3DEnhancedSync
951
+ #if defined (__cplusplus)
952
+ namespace adlx
953
+ {
954
+ class ADLX_NO_VTABLE IADLX3DEnhancedSync : public IADLXInterface
955
+ {
956
+ public:
957
+ ADLX_DECLARE_IID (L"IADLX3DEnhancedSync")
958
+
959
+ /**
960
+ *@page DOX_IADLX3DEnhancedSync_IsSupported IsSupported
961
+ *@ENG_START_DOX @brief Checks if AMD Radeon™ Enhanced Sync is supported on a GPU. @ENG_END_DOX
962
+ *
963
+ *@syntax
964
+ *@codeStart
965
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
966
+ *@codeEnd
967
+ *
968
+ *@params
969
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Radeon Enhanced Sync is returned. The variable is __true__ if AMD Radeon Enhanced Sync is supported. The variable is __false__ if AMD Radeon Enhanced Sync is not supported. @ENG_END_DOX}
970
+ *
971
+ *@retvalues
972
+ *@ENG_START_DOX If the state of AMD Radeon Enhanced Sync is successfully returned, __ADLX_OK__ is returned.<br>
973
+ * If the state of AMD Radeon Enhanced Sync is not successfully returned, an error code is returned.<br>
974
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
975
+ *
976
+ * @addinfo
977
+ * @ENG_START_DOX
978
+ * AMD Radeon Enhanced Sync synchronizes the transition to a new frame of animation with the display refresh rate at a low latency, so no tearing is visible between frames.<br/>
979
+ * Does not limit the frame rate at the display’s refresh rate.<br/>
980
+ * @ENG_END_DOX
981
+ *
982
+ *@copydoc IADLX3DEnhancedSync_REQ_TABLE
983
+ *
984
+ */
985
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
986
+
987
+ /**
988
+ *@page DOX_IADLX3DEnhancedSync_IsEnabled IsEnabled
989
+ *@ENG_START_DOX @brief Checks if AMD Radeon™ Enhanced Sync is enabled on a GPU. @ENG_END_DOX
990
+ *
991
+ *@syntax
992
+ *@codeStart
993
+ * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
994
+ *@codeEnd
995
+ *
996
+ *@params
997
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Radeon Enhanced Sync is returned. The variable is __true__ if AMD Radeon Enhanced Sync is enabled. The variable is __false__ if AMD Radeon Enhanced Sync is not enabled. @ENG_END_DOX}
998
+ *
999
+ *@retvalues
1000
+ *@ENG_START_DOX If the state of AMD Radeon Enhanced Sync is successfully returned, __ADLX_OK__ is returned.<br>
1001
+ * If the state of AMD Radeon Enhanced Sync is not successfully returned, an error code is returned.<br>
1002
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1003
+ *
1004
+ * @addinfo
1005
+ * @ENG_START_DOX
1006
+ * AMD Radeon Enhanced Sync synchronizes the transition to a new frame of animation with the display refresh rate at a low latency, so no tearing is visible between frames.<br/>
1007
+ * Does not limit the frame rate at the display’s refresh rate.<br/>
1008
+ *
1009
+ * @depifc
1010
+ * AMD Radeon Enhanced Sync cannot be simultaneously enabled with @ref DOX_IADLX3DWaitForVerticalRefresh "VSync".<br/>
1011
+ *
1012
+ * When a mutually exclusive feature is enabled, AMD Radeon Enhanced Sync is automatically disabled.
1013
+ *
1014
+ * @ENG_END_DOX
1015
+ *
1016
+ *@copydoc IADLX3DEnhancedSync_REQ_TABLE
1017
+ *
1018
+ */
1019
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* isEnabled) = 0;
1020
+
1021
+ /**
1022
+ *@page DOX_IADLX3DEnhancedSync_SetEnabled SetEnabled
1023
+ *@ENG_START_DOX @brief Sets AMD Radeon™ Enhanced Sync to enabled or disabled state on a GPU. @ENG_END_DOX
1024
+ *
1025
+ *@syntax
1026
+ *@codeStart
1027
+ * @ref ADLX_RESULT SetEnabled (adlx_bool enable)
1028
+ *@codeEnd
1029
+ *
1030
+ *@params
1031
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new AMD Radeon Enhanced Sync state. Set __true__ to enable AMD Radeon Enhanced Sync. Set __false__ to disable AMD Radeon Enhanced Sync. @ENG_END_DOX}
1032
+ *
1033
+ *@retvalues
1034
+ *@ENG_START_DOX If the state of AMD Radeon Enhanced Sync is successfully set, __ADLX_OK__ is returned.<br>
1035
+ * If the state of AMD Radeon Enhanced Sync is not successfully set, an error code is returned.<br>
1036
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1037
+ *
1038
+ * @addinfo
1039
+ * @ENG_START_DOX
1040
+ * AMD Radeon Enhanced Sync synchronizes the transition to a new frame of animation with the display refresh rate at a low latency, so no tearing is visible between frames.<br/>
1041
+ * Does not limit the frame rate at the display’s refresh rate.<br/>
1042
+ *
1043
+
1044
+ * @depifc
1045
+ * AMD Radeon Enhanced Sync cannot be simultaneously enabled with @ref DOX_IADLX3DWaitForVerticalRefresh "VSync".<br/>
1046
+ *
1047
+ * When AMD Radeon Enhanced Sync is enabled, the mutually exclusive features are automatically disabled.<br/>
1048
+ *
1049
+ * If a mutually exclusive feature is re-enabled, its previous configuration settings are restored.
1050
+ * @ENG_END_DOX
1051
+ *
1052
+ *@copydoc IADLX3DEnhancedSync_REQ_TABLE
1053
+ *
1054
+ */
1055
+ virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enable) = 0;
1056
+
1057
+ }; //IADLX3DEnhancedSync
1058
+ //----------------------------------------------------------------------------------------------
1059
+ typedef IADLXInterfacePtr_T<IADLX3DEnhancedSync> IADLX3DEnhancedSyncPtr;
1060
+ } //namespace adlx
1061
+ #else //__cplusplus
1062
+ ADLX_DECLARE_IID (IADLX3DEnhancedSync, L"IADLX3DEnhancedSync")
1063
+
1064
+ typedef struct IADLX3DEnhancedSync IADLX3DEnhancedSync;
1065
+
1066
+ typedef struct IADLX3DEnhancedSyncVtbl
1067
+ {
1068
+ //IADLXInterface
1069
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DEnhancedSync* pThis);
1070
+ adlx_long (ADLX_STD_CALL *Release)(IADLX3DEnhancedSync* pThis);
1071
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DEnhancedSync* pThis, const wchar_t* interfaceId, void** ppInterface);
1072
+
1073
+ //IADLX3DEnhancedSync
1074
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DEnhancedSync* pThis, adlx_bool* supported);
1075
+ ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLX3DEnhancedSync* pThis, adlx_bool* isEnabled);
1076
+ ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLX3DEnhancedSync* pThis, adlx_bool enable);
1077
+ }IADLX3DEnhancedSyncVtbl;
1078
+
1079
+ struct IADLX3DEnhancedSync { const IADLX3DEnhancedSyncVtbl *pVtbl; };
1080
+ #endif //__cplusplus
1081
+ #pragma endregion IADLX3DEnhancedSync
1082
+
1083
+ //3DWaitForVerticalRefresh setting interface
1084
+ #pragma region IADLX3DWaitForVerticalRefresh
1085
+ #if defined (__cplusplus)
1086
+ namespace adlx
1087
+ {
1088
+ class ADLX_NO_VTABLE IADLX3DWaitForVerticalRefresh : public IADLXInterface
1089
+ {
1090
+ public:
1091
+ ADLX_DECLARE_IID (L"IADLX3DWaitForVerticalRefresh")
1092
+
1093
+ /**
1094
+ *@page DOX_IADLX3DWaitForVerticalRefresh_IsSupported IsSupported
1095
+ *@ENG_START_DOX @brief Checks if VSync is supported on a GPU. @ENG_END_DOX
1096
+ *
1097
+ *@syntax
1098
+ *@codeStart
1099
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
1100
+ *@codeEnd
1101
+ *
1102
+ *@params
1103
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of VSync is returned. The variable is __true__ if VSync is supported. The variable is __false__ if VSync is not supported. @ENG_END_DOX}
1104
+ *
1105
+ *@retvalues
1106
+ *@ENG_START_DOX If the state of VSync is successfully returned, __ADLX_OK__ is returned.<br/>
1107
+ * If the state of VSync is not successfully returned, an error code is returned.<br/>
1108
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br/> @ENG_END_DOX
1109
+ *
1110
+ * @addinfo
1111
+ * @ENG_START_DOX
1112
+ * VSync synchronizes the transition to a new frame of animation with the display update so no tearing is visible between frames.<br>
1113
+ * Limits the frame rate at the display’s refresh rate.<br>
1114
+ * @ENG_END_DOX
1115
+ *
1116
+ *@copydoc IADLX3DWaitForVerticalRefresh_REQ_TABLE
1117
+ *
1118
+ */
1119
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
1120
+
1121
+ /**
1122
+ *@page DOX_IADLX3DWaitForVerticalRefresh_IsEnabled IsEnabled
1123
+ *@ENG_START_DOX @brief Checks if VSync is enabled on a GPU. @ENG_END_DOX
1124
+ *
1125
+ *@syntax
1126
+ *@codeStart
1127
+ * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
1128
+ *@codeEnd
1129
+ *
1130
+ *@params
1131
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of VSync is returned. The variable is __true__ if VSync is enabled. The variable is __false__ if VSync is not enabled. @ENG_END_DOX}
1132
+ *
1133
+ *@retvalues
1134
+ *@ENG_START_DOX If the state of VSync is successfully returned, __ADLX_OK__ is returned.<br>
1135
+ * If the state of VSync is not successfully returned, an error code is returned.<br>
1136
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br/> @ENG_END_DOX
1137
+ *
1138
+ * @addinfo
1139
+ * @ENG_START_DOX
1140
+ * VSync synchronizes the transition to a new frame of animation with the display update so no tearing is visible between frames.<br>
1141
+ * Limits the frame rate at the display’s refresh rate.<br>
1142
+ *
1143
+ * @depifc
1144
+ * VSync cannot be simultaneously enabled with @ref DOX_IADLX3DEnhancedSync "AMD Radeon™ Enhanced Sync".<br/>
1145
+ *
1146
+ * When a mutually exclusive feature is enabled, VSync is automatically disabled.
1147
+ *
1148
+ * @ENG_END_DOX
1149
+ *
1150
+ *@copydoc IADLX3DWaitForVerticalRefresh_REQ_TABLE
1151
+ *
1152
+ */
1153
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* isEnabled) = 0;
1154
+
1155
+ /**
1156
+ *@page DOX_IADLX3DWaitForVerticalRefresh_GetMode GetMode
1157
+ *@ENG_START_DOX @brief Gets the current VSync mode on a GPU. @ENG_END_DOX
1158
+ *
1159
+ *@syntax
1160
+ *@codeStart
1161
+ * @ref ADLX_RESULT GetMode (@ref ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE* currentMode)
1162
+ *@codeEnd
1163
+ *
1164
+ *@params
1165
+ * @paramrow{1.,[out],currentMode,@ref ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE*,@ENG_START_DOX The pointer to a variable where the current VSync mode is returned. @ENG_END_DOX}
1166
+ *
1167
+ *@retvalues
1168
+ *@ENG_START_DOX If the current VSync mode is successfully returned, __ADLX_OK__ is returned.<br/>
1169
+ * If the current VSync mode is not successfully returned, an error code is returned.<br/>
1170
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br/> @ENG_END_DOX
1171
+ *
1172
+ * @addinfo
1173
+ * @ENG_START_DOX
1174
+ * VSync synchronizes the transition to a new frame of animation with the display update so no tearing is visible between frames.<br>
1175
+ * Limits the frame rate at the display’s refresh rate.<br>
1176
+ * __Note__: VSync configuration is dependent on the state of AMD Radeon™ Enhanced Sync.<br>
1177
+ * If AMD Radeon Enhanced Sync is enabled, VSync is automatically disabled.<br>
1178
+ * If AMD Radeon Enhanced Sync is disabled, VSync is automatically enabled.
1179
+ * @ENG_END_DOX
1180
+ *
1181
+ *@copydoc IADLX3DWaitForVerticalRefresh_REQ_TABLE
1182
+ *
1183
+ */
1184
+ virtual ADLX_RESULT ADLX_STD_CALL GetMode (ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE* currentMode) = 0;
1185
+
1186
+ /**
1187
+ *@page DOX_IADLX3DWaitForVerticalRefresh_SetMode SetMode
1188
+ *@ENG_START_DOX @brief Sets the VSync mode on a GPU. @ENG_END_DOX
1189
+ *
1190
+ *@syntax
1191
+ *@codeStart
1192
+ * @ref ADLX_RESULT SetMode (@ref ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode)
1193
+ *@codeEnd
1194
+ *
1195
+ *@params
1196
+ * @paramrow{1.,[in],mode,@ref ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE,@ENG_START_DOX The new VSync mode. @ENG_END_DOX}
1197
+ *
1198
+ *@retvalues
1199
+ *@ENG_START_DOX If the VSync mode is successfully set, __ADLX_OK__ is returned.<br>
1200
+ * If the VSync mode is not successfully set, an error code is returned.<br>
1201
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1202
+ *
1203
+ * @addinfo
1204
+ * @ENG_START_DOX
1205
+ * VSync synchronizes the transition to a new frame of animation with the display update so no tearing is visible between frames.<br>
1206
+ * Limits the frame rate at the display’s refresh rate.<br>
1207
+ *
1208
+ * @depifc
1209
+ * VSync cannot be simultaneously enabled with @ref DOX_IADLX3DEnhancedSync "AMD Radeon™ Enhanced Sync".<br/>
1210
+ *
1211
+ * When VSync is enabled, the mutually exclusive features are automatically disabled.<br/>
1212
+ *
1213
+ * If a mutually exclusive feature is re-enabled, its previous configuration settings are restored.
1214
+ *
1215
+ * @ENG_END_DOX
1216
+ *
1217
+ *@copydoc IADLX3DWaitForVerticalRefresh_REQ_TABLE
1218
+ *
1219
+ */
1220
+ virtual ADLX_RESULT ADLX_STD_CALL SetMode (ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode) = 0;
1221
+
1222
+ }; //IADLX3DWaitForVerticalRefresh
1223
+ //----------------------------------------------------------------------------------------------
1224
+ typedef IADLXInterfacePtr_T<IADLX3DWaitForVerticalRefresh> IADLX3DWaitForVerticalRefreshPtr;
1225
+ } //namespace adlx
1226
+ #else //__cplusplus
1227
+ ADLX_DECLARE_IID (IADLX3DWaitForVerticalRefresh, L"IADLX3DWaitForVerticalRefresh")
1228
+
1229
+ typedef struct IADLX3DWaitForVerticalRefresh IADLX3DWaitForVerticalRefresh;
1230
+
1231
+ typedef struct IADLX3DWaitForVerticalRefreshVtbl
1232
+ {
1233
+ //IADLXInterface
1234
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DWaitForVerticalRefresh* pThis);
1235
+ adlx_long (ADLX_STD_CALL *Release)(IADLX3DWaitForVerticalRefresh* pThis);
1236
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DWaitForVerticalRefresh* pThis, const wchar_t* interfaceId, void** ppInterface);
1237
+
1238
+ //IADLX3DWaitForVerticalRefresh
1239
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DWaitForVerticalRefresh* pThis, adlx_bool* supported);
1240
+
1241
+ ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLX3DWaitForVerticalRefresh* pThis, adlx_bool* isEnabled);
1242
+ ADLX_RESULT (ADLX_STD_CALL *GetMode)(IADLX3DWaitForVerticalRefresh* pThis, ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE* currentMode);
1243
+ ADLX_RESULT (ADLX_STD_CALL *SetMode)(IADLX3DWaitForVerticalRefresh* pThis, ADLX_WAIT_FOR_VERTICAL_REFRESH_MODE mode);
1244
+ }IADLX3DWaitForVerticalRefreshVtbl;
1245
+
1246
+ struct IADLX3DWaitForVerticalRefresh { const IADLX3DWaitForVerticalRefreshVtbl *pVtbl; };
1247
+ #endif //__cplusplus
1248
+ #pragma endregion IADLX3DWaitForVerticalRefresh
1249
+
1250
+ //3DFrameRateTargetControl setting interface
1251
+ #pragma region IADLX3DFrameRateTargetControl
1252
+ #if defined (__cplusplus)
1253
+ namespace adlx
1254
+ {
1255
+ class ADLX_NO_VTABLE IADLX3DFrameRateTargetControl : public IADLXInterface
1256
+ {
1257
+ public:
1258
+ ADLX_DECLARE_IID (L"IADLX3DFrameRateTargetControl")
1259
+
1260
+ /**
1261
+ *@page DOX_IADLX3DFrameRateTargetControl_IsSupported IsSupported
1262
+ *@ENG_START_DOX @brief Checks if AMD Frame Rate Target Control is supported on a GPU. @ENG_END_DOX
1263
+ *
1264
+ *@syntax
1265
+ *@codeStart
1266
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
1267
+ *@codeEnd
1268
+ *
1269
+ *@params
1270
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Frame Rate Target Control is returned. The variable is __true__ if AMD Frame Rate Target Control is supported. The variable is __false__ if AMD Frame Rate Target Control is not supported. @ENG_END_DOX}
1271
+ *
1272
+ *@retvalues
1273
+ *@ENG_START_DOX If the state of AMD Frame Rate Target Control is successfully returned, __ADLX_OK__ is returned.<br>
1274
+ * If the state of AMD Frame Rate Target Control is not successfully returned, an error code is returned.<br>
1275
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1276
+ *
1277
+ * @addinfo
1278
+ *@ENG_START_DOX AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption.<br>
1279
+ * Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate.
1280
+ * @ENG_END_DOX
1281
+ *
1282
+ *@copydoc IADLX3DFrameRateTargetControl_REQ_TABLE
1283
+ *
1284
+ */
1285
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
1286
+
1287
+ /**
1288
+ *@page DOX_IADLX3DFrameRateTargetControl_IsEnabled IsEnabled
1289
+ *@ENG_START_DOX @brief Checks if AMD Frame Rate Target Control is enabled on a GPU. @ENG_END_DOX
1290
+ *
1291
+ *@syntax
1292
+ *@codeStart
1293
+ * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
1294
+ *@codeEnd
1295
+ *
1296
+ *@params
1297
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Frame Rate Target Control is returned. The variable is __true__ if AMD Frame Rate Target Control is enabled. The variable is __false__ if AMD Frame Rate Target Control is not enabled. @ENG_END_DOX}
1298
+ *
1299
+ *@retvalues
1300
+ *@ENG_START_DOX If the state of AMD Frame Rate Target Control is successfully returned, __ADLX_OK__ is returned.<br>
1301
+ * If the state of AMD Frame Rate Target Control is not successfully returned, an error code is returned.<br>
1302
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1303
+ *
1304
+ * @addinfo
1305
+ *@ENG_START_DOX AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption.<br>
1306
+ * Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate.
1307
+ * @ENG_END_DOX
1308
+ *
1309
+ *@copydoc IADLX3DFrameRateTargetControl_REQ_TABLE
1310
+ *
1311
+ */
1312
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* isEnabled) = 0;
1313
+
1314
+ /**
1315
+ *@page DOX_IADLX3DFrameRateTargetControl_GetFPSRange GetFPSRange
1316
+ *@ENG_START_DOX @brief Gets the maximum FPS, minimum FPS, and step FPS of AMD Frame Rate Target Control on a GPU. @ENG_END_DOX
1317
+ *
1318
+ *@syntax
1319
+ *@codeStart
1320
+ * @ref ADLX_RESULT GetFPSRange (@ref ADLX_IntRange* range)
1321
+ *@codeEnd
1322
+ *
1323
+ *@params
1324
+ * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the FPS range of AMD Frame Rate Target Control is returned. @ENG_END_DOX}
1325
+ *
1326
+ *@retvalues
1327
+ *@ENG_START_DOX If the FPS range is successfully returned, __ADLX_OK__ is returned.<br>
1328
+ * If the FPS range is not successfully returned, an error code is returned.<br>
1329
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1330
+ *
1331
+ *@detaileddesc
1332
+ *@ENG_START_DOX @details The maximum FPS, minimum FPS, and step FPS of AMD Frame Rate Target Control are read only. @ENG_END_DOX
1333
+ *
1334
+ * @addinfo
1335
+ *@ENG_START_DOX AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption.<br>
1336
+ * Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate.
1337
+ * @ENG_END_DOX
1338
+ *
1339
+ *@copydoc IADLX3DFrameRateTargetControl_REQ_TABLE
1340
+ *
1341
+ */
1342
+ virtual ADLX_RESULT ADLX_STD_CALL GetFPSRange (ADLX_IntRange* range) = 0;
1343
+
1344
+ /**
1345
+ *@page DOX_IADLX3DFrameRateTargetControl_GetFPS GetFPS
1346
+ *@ENG_START_DOX @brief Gets the current FPS of AMD Frame Rate Target Control on a GPU. @ENG_END_DOX
1347
+ *
1348
+ *@syntax
1349
+ *@codeStart
1350
+ * @ref ADLX_RESULT GetFPS (adlx_int* currentFPS)
1351
+ *@codeEnd
1352
+ *
1353
+ *@params
1354
+ * @paramrow{1.,[out],currentFPS,adlx_int*,@ENG_START_DOX The pointer to a variable where the current FPS value of AMD Frame Rate Target Control is returned. @ENG_END_DOX}
1355
+ *
1356
+ *@retvalues
1357
+ *@ENG_START_DOX If the current FPS is successfully returned, __ADLX_OK__ is returned.<br>
1358
+ * If the current FPS is not successfully returned, an error code is returned.<br>
1359
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1360
+ *
1361
+ * @addinfo
1362
+ *@ENG_START_DOX AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption.<br>
1363
+ * Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate.
1364
+ * @ENG_END_DOX
1365
+ *
1366
+ *@copydoc IADLX3DFrameRateTargetControl_REQ_TABLE
1367
+ *
1368
+ */
1369
+ virtual ADLX_RESULT ADLX_STD_CALL GetFPS (adlx_int* currentFPS) = 0;
1370
+
1371
+ /**
1372
+ *@page DOX_IADLX3DFrameRateTargetControl_SetEnabled SetEnabled
1373
+ *@ENG_START_DOX @brief Sets AMD Frame Rate Target Control to enabled or disabled on a GPU. @ENG_END_DOX
1374
+ *
1375
+ *@syntax
1376
+ *@codeStart
1377
+ * @ref ADLX_RESULT SetEnabled (adlx_bool enable)
1378
+ *@codeEnd
1379
+ *
1380
+ *@params
1381
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new AMD Frame Rate Target Control state. Set __true__ to enable AMD Frame Rate Target Control. Set __false__ to disable AMD Frame Rate Target Control. @ENG_END_DOX}
1382
+ *
1383
+ *@retvalues
1384
+ *@ENG_START_DOX If the state of AMD Frame Rate Target Control is successfully set, __ADLX_OK__ is returned.<br>
1385
+ * If the state of AMD Frame Rate Target Control is not successfully set, an error code is returned.<br>
1386
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1387
+ *
1388
+ * @addinfo
1389
+ *@ENG_START_DOX AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption.<br>
1390
+ * Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate.
1391
+ * @ENG_END_DOX
1392
+ *
1393
+ *@copydoc IADLX3DFrameRateTargetControl_REQ_TABLE
1394
+ *
1395
+ */
1396
+ virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enable) = 0;
1397
+
1398
+ /**
1399
+ *@page DOX_IADLX3DFrameRateTargetControl_SetFPS SetFPS
1400
+ *@ENG_START_DOX @brief Sets the maximum FPS of AMD Frame Rate Target Control on a GPU. @ENG_END_DOX
1401
+ *
1402
+ *@syntax
1403
+ *@codeStart
1404
+ * @ref ADLX_RESULT SetFPS (adlx_int maxFPS)
1405
+ *@codeEnd
1406
+ *
1407
+ *@params
1408
+ * @paramrow{1.,[in],maxFPS,adlx_int,@ENG_START_DOX The new maximum FPS value of AMD Frame Rate Target Control. @ENG_END_DOX}
1409
+ *
1410
+ *@retvalues
1411
+ *@ENG_START_DOX If the maximum FPS is successfully set, __ADLX_OK__ is returned.<br>
1412
+ * If the maximum FPS is not successfully set, an error code is returned.<br>
1413
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1414
+ *
1415
+ * @addinfo
1416
+ *@ENG_START_DOX AMD Frame Rate Target Control sets a user-defined target maximum frame rate in full-screen applications to reduce GPU power consumption.<br>
1417
+ * Gaming quality is maintained while GPU power consumption, noise, and heat levels are reduced when running games at higher FPS than the display refresh rate.
1418
+ * @ENG_END_DOX
1419
+ *
1420
+ *@copydoc IADLX3DFrameRateTargetControl_REQ_TABLE
1421
+ *
1422
+ */
1423
+ virtual ADLX_RESULT ADLX_STD_CALL SetFPS (adlx_int maxFPS) = 0;
1424
+
1425
+ }; //IADLX3DFrameRateTargetControl
1426
+ //----------------------------------------------------------------------------------------------
1427
+ typedef IADLXInterfacePtr_T<IADLX3DFrameRateTargetControl> IADLX3DFrameRateTargetControlPtr;
1428
+ } //namespace adlx
1429
+ #else //__cplusplus
1430
+ ADLX_DECLARE_IID (IADLX3DFrameRateTargetControl, L"IADLX3DFrameRateTargetControl")
1431
+
1432
+ typedef struct IADLX3DFrameRateTargetControl IADLX3DFrameRateTargetControl;
1433
+
1434
+ typedef struct IADLX3DFrameRateTargetControlVtbl
1435
+ {
1436
+ //IADLXInterface
1437
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DFrameRateTargetControl* pThis);
1438
+ adlx_long (ADLX_STD_CALL *Release)(IADLX3DFrameRateTargetControl* pThis);
1439
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DFrameRateTargetControl* pThis, const wchar_t* interfaceId, void** ppInterface);
1440
+
1441
+ //IADLX3DFrameRateTargetControl
1442
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DFrameRateTargetControl* pThis, adlx_bool* supported);
1443
+ ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLX3DFrameRateTargetControl* pThis, adlx_bool* isEnabled);
1444
+ ADLX_RESULT (ADLX_STD_CALL *GetFPSRange)(IADLX3DFrameRateTargetControl* pThis, ADLX_IntRange* range);
1445
+ ADLX_RESULT (ADLX_STD_CALL *GetFPS)(IADLX3DFrameRateTargetControl* pThis, adlx_int* currentFPS);
1446
+ ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLX3DFrameRateTargetControl* pThis, adlx_bool enable);
1447
+ ADLX_RESULT (ADLX_STD_CALL *SetFPS)(IADLX3DFrameRateTargetControl* pThis, adlx_int maxFPS);
1448
+ }IADLX3DFrameRateTargetControlVtbl;
1449
+
1450
+ struct IADLX3DFrameRateTargetControl { const IADLX3DFrameRateTargetControlVtbl *pVtbl; };
1451
+ #endif //__cplusplus
1452
+ #pragma endregion IADLX3DFrameRateTargetControl
1453
+
1454
+ //3DAntiAliasing setting interface
1455
+ #pragma region IADLX3DAntiAliasing
1456
+ #if defined (__cplusplus)
1457
+ namespace adlx
1458
+ {
1459
+ class ADLX_NO_VTABLE IADLX3DAntiAliasing : public IADLXInterface
1460
+ {
1461
+ public:
1462
+ ADLX_DECLARE_IID (L"IADLX3DAntiAliasing")
1463
+
1464
+ /**
1465
+ *@page DOX_IADLX3DAntiAliasing_IsSupported IsSupported
1466
+ *@ENG_START_DOX @brief Checks if anti-aliasing is supported on a GPU. @ENG_END_DOX
1467
+ *
1468
+ *@syntax
1469
+ *@codeStart
1470
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
1471
+ *@codeEnd
1472
+ *
1473
+ *@params
1474
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of anti-aliasing is returned. The variable is __true__ if anti-aliasing is supported. The variable is __false__ if anti-aliasing is not supported. @ENG_END_DOX}
1475
+ *
1476
+ *@retvalues
1477
+ *@ENG_START_DOX If the state of anti-aliasing is successfully returned, __ADLX_OK__ is returned.<br>
1478
+ * If the state of anti-aliasing is not successfully returned, an error code is returned.<br>
1479
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1480
+ *
1481
+ * @addinfo
1482
+ *@ENG_START_DOX Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance.
1483
+ * @ENG_END_DOX
1484
+ *
1485
+ *@copydoc IADLX3DAntiAliasing_REQ_TABLE
1486
+ *
1487
+ */
1488
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
1489
+
1490
+ /**
1491
+ *@page DOX_IADLX3DAntiAliasing_GetMode GetMode
1492
+ *@ENG_START_DOX @brief Gets the current anti-aliasing mode of a GPU. @ENG_END_DOX
1493
+ *
1494
+ *@syntax
1495
+ *@codeStart
1496
+ * @ref ADLX_RESULT GetMode (@ref ADLX_ANTI_ALIASING_MODE* currentMode)
1497
+ *@codeEnd
1498
+ *
1499
+ *@params
1500
+ * @paramrow{1.,[out],currentMode,@ref ADLX_ANTI_ALIASING_MODE*,@ENG_START_DOX The pointer to a variable where the current anti-aliasing mode is returned. @ENG_END_DOX}
1501
+ *
1502
+ *@retvalues
1503
+ *@ENG_START_DOX If the current anti-aliasing mode is successfully returned, __ADLX_OK__ is returned.<br>
1504
+ * If the current anti-aliasing mode is not successfully returned, an error code is returned.<br>
1505
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1506
+ *
1507
+ * @addinfo
1508
+ *@ENG_START_DOX Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance.
1509
+ * @ENG_END_DOX
1510
+ *
1511
+ *@copydoc IADLX3DAntiAliasing_REQ_TABLE
1512
+ *
1513
+ */
1514
+ virtual ADLX_RESULT ADLX_STD_CALL GetMode (ADLX_ANTI_ALIASING_MODE* currentMode) = 0;
1515
+
1516
+ /**
1517
+ *@page DOX_IADLX3DAntiAliasing_GetLevel GetLevel
1518
+ *@ENG_START_DOX @brief Gets the current anti-aliasing level of a GPU. @ENG_END_DOX
1519
+ *
1520
+ *@syntax
1521
+ *@codeStart
1522
+ * @ref ADLX_RESULT GetLevel (@ref ADLX_ANTI_ALIASING_LEVEL* currentLevel)
1523
+ *@codeEnd
1524
+ *
1525
+ *@params
1526
+ * @paramrow{1.,[out],currentLevel,@ref ADLX_ANTI_ALIASING_LEVEL*,@ENG_START_DOX The pointer to a variable where the current anti-aliasing level is returned. @ENG_END_DOX}
1527
+ *
1528
+ *@retvalues
1529
+ *@ENG_START_DOX If the current anti-aliasing level is successfully returned, __ADLX_OK__ is returned.<br>
1530
+ * If the current anti-aliasing level is not successfully returned, an error code is returned.<br>
1531
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1532
+ *
1533
+ * @addinfo
1534
+ *@ENG_START_DOX Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance.
1535
+ * @ENG_END_DOX
1536
+ *
1537
+ *@copydoc IADLX3DAntiAliasing_REQ_TABLE
1538
+ *
1539
+ */
1540
+ virtual ADLX_RESULT ADLX_STD_CALL GetLevel (ADLX_ANTI_ALIASING_LEVEL* currentLevel) = 0;
1541
+
1542
+ /**
1543
+ *@page DOX_IADLX3DAntiAliasing_GetMethod GetMethod
1544
+ *@ENG_START_DOX @brief Gets the current anti-aliasing method of a GPU. @ENG_END_DOX
1545
+ *
1546
+ *@syntax
1547
+ *@codeStart
1548
+ * @ref ADLX_RESULT GetMethod (@ref ADLX_ANTI_ALIASING_METHOD* currentMethod)
1549
+ *@codeEnd
1550
+ *
1551
+ *@params
1552
+ * @paramrow{1.,[out],currentMethod,@ref ADLX_ANTI_ALIASING_METHOD*,@ENG_START_DOX The pointer to a variable where the current anti-aliasing method is returned. @ENG_END_DOX}
1553
+ *
1554
+ *@retvalues
1555
+ *@ENG_START_DOX If the current anti-aliasing method is successfully returned, __ADLX_OK__ is returned.<br>
1556
+ * If the current anti-aliasing method is not successfully returned, an error code is returned.<br>
1557
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1558
+ *
1559
+ * @addinfo
1560
+ *@ENG_START_DOX Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance.
1561
+ * @ENG_END_DOX
1562
+ *
1563
+ *@copydoc IADLX3DAntiAliasing_REQ_TABLE
1564
+ *
1565
+ */
1566
+ virtual ADLX_RESULT ADLX_STD_CALL GetMethod (ADLX_ANTI_ALIASING_METHOD* currentMethod) = 0;
1567
+
1568
+ /**
1569
+ *@page DOX_IADLX3DAntiAliasing_SetMode SetMode
1570
+ *@ENG_START_DOX @brief Sets the anti-aliasing mode on a GPU. @ENG_END_DOX
1571
+ *
1572
+ *@syntax
1573
+ *@codeStart
1574
+ * @ref ADLX_RESULT SetMode (@ref ADLX_ANTI_ALIASING_MODE mode)
1575
+ *@codeEnd
1576
+ *
1577
+ *@params
1578
+ * @paramrow{1.,[in],mode,@ref ADLX_ANTI_ALIASING_MODE,@ENG_START_DOX The new anti-aliasing mode. @ENG_END_DOX}
1579
+ *
1580
+ *@retvalues
1581
+ *@ENG_START_DOX If the anti-aliasing mode is successfully set, __ADLX_OK__ is returned.<br>
1582
+ * If the anti-aliasing mode is not successfully set, an error code is returned.<br>
1583
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1584
+ *
1585
+ * @addinfo
1586
+ *@ENG_START_DOX Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance.
1587
+ *
1588
+ * __Note__: Set the mode to __AA_MODE_ENHANCE_APP_SETTINGS__ or __AA_MODE_OVERRIDE_APP_SETTINGS__ to concurrently enable other anti-aliasing methods, such as morphological anti-aliasing.<br/>
1589
+ * For more information, refer to @ref DOX_IADLX3DMorphologicalAntiAliasing "IADLX3DMorphologicalAntiAliasing".
1590
+ * @ENG_END_DOX
1591
+ *
1592
+ *@copydoc IADLX3DAntiAliasing_REQ_TABLE
1593
+ *
1594
+ */
1595
+ virtual ADLX_RESULT ADLX_STD_CALL SetMode (ADLX_ANTI_ALIASING_MODE mode) = 0;
1596
+
1597
+ /**
1598
+ *@page DOX_IADLX3DAntiAliasing_SetLevel SetLevel
1599
+ *@ENG_START_DOX @brief Sets the anti-aliasing level on a GPU. @ENG_END_DOX
1600
+ *
1601
+ *@syntax
1602
+ *@codeStart
1603
+ * @ref ADLX_RESULT SetLevel (@ref ADLX_ANTI_ALIASING_LEVEL level)
1604
+ *@codeEnd
1605
+ *
1606
+ *@params
1607
+ * @paramrow{1.,[in],level,@ref ADLX_ANTI_ALIASING_LEVEL,@ENG_START_DOX The new anti-aliasing level. @ENG_END_DOX}
1608
+ *
1609
+ *@retvalues
1610
+ *@ENG_START_DOX If the anti-aliasing level is successfully set, __ADLX_OK__ is returned.<br>
1611
+ * If the anti-aliasing level is not successfully set, an error code is returned.<br>
1612
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1613
+ *
1614
+ * @addinfo
1615
+ *@ENG_START_DOX Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance.
1616
+ * @ENG_END_DOX
1617
+ *
1618
+ *@copydoc IADLX3DAntiAliasing_REQ_TABLE
1619
+ *
1620
+ */
1621
+ virtual ADLX_RESULT ADLX_STD_CALL SetLevel (ADLX_ANTI_ALIASING_LEVEL level) = 0;
1622
+
1623
+ /**
1624
+ *@page DOX_IADLX3DAntiAliasing_SetMethod SetMethod
1625
+ *@ENG_START_DOX @brief Sets the anti-aliasing method on a GPU. @ENG_END_DOX
1626
+ *
1627
+ *@syntax
1628
+ *@codeStart
1629
+ * @ref ADLX_RESULT SetMethod (@ref ADLX_ANTI_ALIASING_METHOD method)
1630
+ *@codeEnd
1631
+ *
1632
+ *@params
1633
+ * @paramrow{1.,[in],method,@ref ADLX_ANTI_ALIASING_METHOD,@ENG_START_DOX The new anti-aliasing method. @ENG_END_DOX}
1634
+ *
1635
+ *@retvalues
1636
+ *@ENG_START_DOX If the anti-aliasing method is successfully set, __ADLX_OK__ is returned.<br>
1637
+ * If the anti-aliasing method is not successfully set, an error code is returned.<br>
1638
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1639
+ *
1640
+ * @addinfo
1641
+ *@ENG_START_DOX Anti-aliasing improves image quality by smoothing jagged edges at the cost of some performance.
1642
+ * @ENG_END_DOX
1643
+ *
1644
+ *@copydoc IADLX3DAntiAliasing_REQ_TABLE
1645
+ *
1646
+ */
1647
+ virtual ADLX_RESULT ADLX_STD_CALL SetMethod (ADLX_ANTI_ALIASING_METHOD method) = 0;
1648
+
1649
+ }; //IADLX3DAntiAliasing
1650
+ //----------------------------------------------------------------------------------------------
1651
+ typedef IADLXInterfacePtr_T<IADLX3DAntiAliasing> IADLX3DAntiAliasingPtr;
1652
+ } //namespace adlx
1653
+ #else //__cplusplus
1654
+ ADLX_DECLARE_IID (IADLX3DAntiAliasing, L"IADLX3DAntiAliasing")
1655
+
1656
+ typedef struct IADLX3DAntiAliasing IADLX3DAntiAliasing;
1657
+
1658
+ typedef struct IADLX3DAntiAliasingVtbl
1659
+ {
1660
+ //IADLXInterface
1661
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DAntiAliasing* pThis);
1662
+ adlx_long (ADLX_STD_CALL *Release)(IADLX3DAntiAliasing* pThis);
1663
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DAntiAliasing* pThis, const wchar_t* interfaceId, void** ppInterface);
1664
+
1665
+ //IADLX3DAntiAliasing
1666
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DAntiAliasing* pThis, adlx_bool* supported);
1667
+ ADLX_RESULT (ADLX_STD_CALL *GetMode)(IADLX3DAntiAliasing* pThis, ADLX_ANTI_ALIASING_MODE* currentMode);
1668
+ ADLX_RESULT (ADLX_STD_CALL *GetLevel)(IADLX3DAntiAliasing* pThis, ADLX_ANTI_ALIASING_LEVEL* currentLevel);
1669
+ ADLX_RESULT (ADLX_STD_CALL *GetMethod)(IADLX3DAntiAliasing* pThis, ADLX_ANTI_ALIASING_METHOD* currentMethod);
1670
+ ADLX_RESULT (ADLX_STD_CALL *SetMode)(IADLX3DAntiAliasing* pThis, ADLX_ANTI_ALIASING_MODE mode);
1671
+ ADLX_RESULT (ADLX_STD_CALL *SetLevel)(IADLX3DAntiAliasing* pThis, ADLX_ANTI_ALIASING_LEVEL level);
1672
+ ADLX_RESULT (ADLX_STD_CALL *SetMethod)(IADLX3DAntiAliasing* pThis, ADLX_ANTI_ALIASING_METHOD method);
1673
+ }IADLX3DAntiAliasingVtbl;
1674
+
1675
+ struct IADLX3DAntiAliasing { const IADLX3DAntiAliasingVtbl *pVtbl; };
1676
+ #endif //__cplusplus
1677
+ #pragma endregion IADLX3DAntiAliasing
1678
+
1679
+ //3DMorphologicalAntiAliasing setting interface
1680
+ #pragma region IADLX3DMorphologicalAntiAliasing
1681
+ #if defined (__cplusplus)
1682
+ namespace adlx
1683
+ {
1684
+ class ADLX_NO_VTABLE IADLX3DMorphologicalAntiAliasing : public IADLXInterface
1685
+ {
1686
+ public:
1687
+ ADLX_DECLARE_IID (L"IADLX3DMorphologicalAntiAliasing")
1688
+
1689
+ /**
1690
+ *@page DOX_IADLX3DMorphologicalAntiAliasing_IsSupported IsSupported
1691
+ *@ENG_START_DOX @brief Checks if morphological anti-aliasing is supported on a GPU. @ENG_END_DOX
1692
+ *
1693
+ *@syntax
1694
+ *@codeStart
1695
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
1696
+ *@codeEnd
1697
+ *
1698
+ *@params
1699
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of morphological anti-aliasing is returned. The variable is __true__ if morphological anti-aliasing is supported. The variable is __false__ if morphological anti-aliasing is not supported. @ENG_END_DOX}
1700
+ *
1701
+ *@retvalues
1702
+ *@ENG_START_DOX If the state of morphological anti-aliasing is successfully returned, __ADLX_OK__ is returned.<br>
1703
+ * If the state of morphological anti-aliasing is not successfully returned, an error code is returned.<br>
1704
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1705
+ *
1706
+ * @addinfo
1707
+ *@ENG_START_DOX Morphological anti-aliasing is an edge-smoothing technique with minimal performance overhead.<br/>
1708
+ * The applications must run exclusively in full-screen mode.<br/>
1709
+ * Not applicable to DirectX® 12 and Vulkan® applications.
1710
+ *
1711
+ * __Note__: When morphological anti-aliasing is enabled, the anti-aliasing mode must either be __AA_MODE_ENHANCE_APP_SETTINGS__ or __AA_MODE_OVERRIDE_APP_SETTINGS__, as returned by @ref DOX_IADLX3DAntiAliasing_GetMode.
1712
+ * @ENG_END_DOX
1713
+ *
1714
+ *@copydoc IADLX3DMorphologicalAntiAliasing_REQ_TABLE
1715
+ *
1716
+ */
1717
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
1718
+
1719
+ /**
1720
+ *@page DOX_IADLX3DMorphologicalAntiAliasing_IsEnabled IsEnabled
1721
+ *@ENG_START_DOX @brief Checks if morphological anti-aliasing is enabled on a GPU. @ENG_END_DOX
1722
+ *
1723
+ *@syntax
1724
+ *@codeStart
1725
+ * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
1726
+ *@codeEnd
1727
+ *
1728
+ *@params
1729
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of morphological anti-aliasing is returned. The variable is __true__ if morphological anti-aliasing is enabled. The variable is __false__ if morphological anti-aliasing is not enabled. @ENG_END_DOX}
1730
+ *
1731
+ *@retvalues
1732
+ *@ENG_START_DOX If the state of morphological anti-aliasing is successfully returned, __ADLX_OK__ is returned.<br>
1733
+ * If the state of morphological anti-aliasing is not successfully returned, an error code is returned.<br>
1734
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1735
+ *
1736
+ * @addinfo
1737
+ *@ENG_START_DOX Morphological anti-aliasing is an edge-smoothing technique with minimal performance overhead.<br/>
1738
+ * The applications must run exclusively in full-screen mode.<br/>
1739
+ * Not applicable to DirectX® 12 and Vulkan® applications.
1740
+ *
1741
+ * @depifc
1742
+ * When morphological anti-aliasing is enabled, the @ref DOX_IADLX3DAntiAliasing_GetMode "anti-aliasing mode" must either be __AA_MODE_ENHANCE_APP_SETTINGS__ or __AA_MODE_OVERRIDE_APP_SETTINGS__. <br/>
1743
+ *
1744
+ *@copydoc IADLX3DMorphologicalAntiAliasing_REQ_TABLE
1745
+ *
1746
+ */
1747
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* isEnabled) = 0;
1748
+
1749
+ /**
1750
+ *@page DOX_IADLX3DMorphologicalAntiAliasing_SetEnabled SetEnabled
1751
+ *@ENG_START_DOX @brief Sets morphological anti-aliasing to enabled or disabled state on a GPU. @ENG_END_DOX
1752
+ *
1753
+ *@syntax
1754
+ *@codeStart
1755
+ * @ref ADLX_RESULT SetEnabled (adlx_bool enable)
1756
+ *@codeEnd
1757
+ *
1758
+ *@params
1759
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new morphological anti-aliasing state. Set __true__ to enable morphological anti-aliasing. Set __false__ to disable morphological anti-aliasing. @ENG_END_DOX}
1760
+ *
1761
+ *@retvalues
1762
+ *@ENG_START_DOX If the state of morphological anti-aliasing is successfully set, __ADLX_OK__ is returned.<br>
1763
+ * If the state of morphological anti-aliasing is not successfully set, an error code is returned.<br>
1764
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1765
+ *
1766
+ * @addinfo
1767
+ *@ENG_START_DOX Morphological anti-aliasing is an edge-smoothing technique with minimal performance overhead.<br/>
1768
+ * The applications must run exclusively in full-screen mode.<br/>
1769
+ * Not applicable to DirectX® 12 and Vulkan® applications.
1770
+ *
1771
+ * @depifc
1772
+ * When morphological anti-aliasing is enabled, the @ref DOX_IADLX3DAntiAliasing_GetMode "anti-aliasing mode" must either be __AA_MODE_ENHANCE_APP_SETTINGS__ or __AA_MODE_OVERRIDE_APP_SETTINGS__. <br/>
1773
+ *
1774
+ *@copydoc IADLX3DMorphologicalAntiAliasing_REQ_TABLE
1775
+ *
1776
+ */
1777
+ virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enable) = 0;
1778
+ }; //IADLX3DMorphologicalAntiAliasing
1779
+ //----------------------------------------------------------------------------------------------
1780
+ typedef IADLXInterfacePtr_T<IADLX3DMorphologicalAntiAliasing> IADLX3DMorphologicalAntiAliasingPtr;
1781
+ } //namespace adlx
1782
+ #else //__cplusplus
1783
+ ADLX_DECLARE_IID (IADLX3DMorphologicalAntiAliasing, L"IADLX3DMorphologicalAntiAliasing")
1784
+
1785
+ typedef struct IADLX3DMorphologicalAntiAliasing IADLX3DMorphologicalAntiAliasing;
1786
+
1787
+ typedef struct IADLX3DMorphologicalAntiAliasingVtbl
1788
+ {
1789
+ //IADLXInterface
1790
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DMorphologicalAntiAliasing* pThis);
1791
+ adlx_long (ADLX_STD_CALL *Release)(IADLX3DMorphologicalAntiAliasing* pThis);
1792
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DMorphologicalAntiAliasing* pThis, const wchar_t* interfaceId, void** ppInterface);
1793
+
1794
+ //IADLX3DMorphologicalAntiAliasing
1795
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DMorphologicalAntiAliasing* pThis, adlx_bool* supported);
1796
+ ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLX3DMorphologicalAntiAliasing* pThis, adlx_bool* isEnabled);
1797
+ ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLX3DMorphologicalAntiAliasing* pThis, adlx_bool enable);
1798
+ }IADLX3DMorphologicalAntiAliasingVtbl;
1799
+
1800
+ struct IADLX3DMorphologicalAntiAliasing { const IADLX3DMorphologicalAntiAliasingVtbl *pVtbl; };
1801
+ #endif //__cplusplus
1802
+ #pragma endregion IADLX3DMorphologicalAntiAliasing
1803
+
1804
+ //3DAnisotropicFiltering setting interface
1805
+ #pragma region IADLX3DAnisotropicFiltering
1806
+ #if defined (__cplusplus)
1807
+ namespace adlx
1808
+ {
1809
+ class ADLX_NO_VTABLE IADLX3DAnisotropicFiltering : public IADLXInterface
1810
+ {
1811
+ public:
1812
+ ADLX_DECLARE_IID (L"IADLX3DAnisotropicFiltering")
1813
+
1814
+ /**
1815
+ *@page DOX_IADLX3DAnisotropicFiltering_IsSupported IsSupported
1816
+ *@ENG_START_DOX @brief Checks if anisotropic filtering is supported on a GPU. @ENG_END_DOX
1817
+ *
1818
+ *@syntax
1819
+ *@codeStart
1820
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
1821
+ *@codeEnd
1822
+ *
1823
+ *@params
1824
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of anisotropic filtering is returned. The variable is __true__ if anisotropic filtering is supported. The variable is __false__ if anisotropic filtering is not supported. @ENG_END_DOX}
1825
+ *
1826
+ *@retvalues
1827
+ *@ENG_START_DOX If the state of anisotropic filtering is successfully returned, __ADLX_OK__ is returned.<br>
1828
+ * If the state of anisotropic filtering is not successfully returned, an error code is returned.<br>
1829
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1830
+ *
1831
+ * @addinfo
1832
+ *@ENG_START_DOX Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance.<br/>
1833
+ * Only affects DirectX® 9 applications.
1834
+ * @ENG_END_DOX
1835
+ *
1836
+ *@copydoc IADLX3DAnisotropicFiltering_REQ_TABLE
1837
+ *
1838
+ */
1839
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
1840
+
1841
+ /**
1842
+ *@page DOX_IADLX3DAnisotropicFiltering_IsEnabled IsEnabled
1843
+ *@ENG_START_DOX @brief Checks if anisotropic filtering is enabled on a GPU. @ENG_END_DOX
1844
+ *
1845
+ *@syntax
1846
+ *@codeStart
1847
+ * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
1848
+ *@codeEnd
1849
+ *
1850
+ *@params
1851
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of anisotropic filtering is returned. The variable is __true__ if anisotropic filtering is enabled. The variable is __false__ if anisotropic filtering is not enabled. @ENG_END_DOX}
1852
+ *
1853
+ *@retvalues
1854
+ *@ENG_START_DOX If the state of anisotropic filtering is successfully returned, __ADLX_OK__ is returned.<br>
1855
+ * If the state of anisotropic filtering is not successfully returned, an error code is returned.<br>
1856
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1857
+ *
1858
+ * @addinfo
1859
+ *@ENG_START_DOX Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance.<br/>
1860
+ * Only affects DirectX® 9 applications.
1861
+ * @ENG_END_DOX
1862
+ *
1863
+ *@copydoc IADLX3DAnisotropicFiltering_REQ_TABLE
1864
+ *
1865
+ */
1866
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* isEnabled) = 0;
1867
+
1868
+ /**
1869
+ *@page DOX_IADLX3DAnisotropicFiltering_GetLevel GetLevel
1870
+ *@ENG_START_DOX @brief Gets the current anisotropic filtering level on a GPU. @ENG_END_DOX
1871
+ *
1872
+ *@syntax
1873
+ *@codeStart
1874
+ * @ref ADLX_RESULT GetLevel (@ref ADLX_ANISOTROPIC_FILTERING_LEVEL* currentLevel)
1875
+ *@codeEnd
1876
+ *
1877
+ *@params
1878
+ * @paramrow{1.,[out],currentLevel,@ref ADLX_ANISOTROPIC_FILTERING_LEVEL*,@ENG_START_DOX The pointer to a variable where the current anisotropic filtering level is returned. @ENG_END_DOX}
1879
+ *
1880
+ *@retvalues
1881
+ *@ENG_START_DOX If the current anisotropic filtering level is successfully returned, __ADLX_OK__ is returned.<br>
1882
+ * If the current anisotropic filtering level is not successfully returned, an error code is returned.<br>
1883
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1884
+ *
1885
+ * @addinfo
1886
+ *@ENG_START_DOX Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance.<br/>
1887
+ * Only affects DirectX® 9 applications.
1888
+ * @ENG_END_DOX
1889
+ *
1890
+ *@copydoc IADLX3DAnisotropicFiltering_REQ_TABLE
1891
+ *
1892
+ */
1893
+ virtual ADLX_RESULT ADLX_STD_CALL GetLevel (ADLX_ANISOTROPIC_FILTERING_LEVEL* currentLevel) = 0;
1894
+
1895
+ /**
1896
+ *@page DOX_IADLX3DAnisotropicFiltering_SetEnabled SetEnabled
1897
+ *@ENG_START_DOX @brief Sets anisotropic filtering to an enabled or disabled state on a GPU. @ENG_END_DOX
1898
+ *
1899
+ *@syntax
1900
+ *@codeStart
1901
+ * @ref ADLX_RESULT SetEnabled (adlx_bool enable)
1902
+ *@codeEnd
1903
+ *
1904
+ *@params
1905
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new anisotropic filtering state. Set __true__ to enable anisotropic filtering. Set __false__ to disable anisotropic filtering. @ENG_END_DOX}
1906
+ *
1907
+ *@retvalues
1908
+ *@ENG_START_DOX If the state of anisotropic filtering is successfully set, __ADLX_OK__ is returned.<br>
1909
+ * If the state of anisotropic filtering is not successfully set, an error code is returned.<br>
1910
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1911
+ *
1912
+ * @addinfo
1913
+ *@ENG_START_DOX Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance.<br/>
1914
+ * Only affects DirectX® 9 applications.
1915
+ * @ENG_END_DOX
1916
+ *
1917
+ *@copydoc IADLX3DAnisotropicFiltering_REQ_TABLE
1918
+ *
1919
+ */
1920
+ virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enable) = 0;
1921
+
1922
+ /**
1923
+ *@page DOX_IADLX3DAnisotropicFiltering_SetLevel SetLevel
1924
+ *@ENG_START_DOX @brief Sets the anisotropic filtering level of a GPU. @ENG_END_DOX
1925
+ *
1926
+ *@syntax
1927
+ *@codeStart
1928
+ * @ref ADLX_RESULT SetLevel (@ref ADLX_ANISOTROPIC_FILTERING_LEVEL level)
1929
+ *@codeEnd
1930
+ *
1931
+ *@params
1932
+ * @paramrow{1.,[in],level,@ref ADLX_ANISOTROPIC_FILTERING_LEVEL,@ENG_START_DOX The new anisotropic filtering level. @ENG_END_DOX}
1933
+ *
1934
+ *@retvalues
1935
+ *@ENG_START_DOX If the anisotropic filtering level is successfully set, __ADLX_OK__ is returned.<br>
1936
+ * If the anisotropic filtering level is not successfully set, an error code is returned.<br>
1937
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
1938
+ *
1939
+ * @addinfo
1940
+ *@ENG_START_DOX Anisotropic filtering improves texture quality in most 3D applications on surfaces that appear far away or at odd angles – such as roads or trees – at the cost of some frame rate performance.<br/>
1941
+ * Only affects DirectX® 9 applications.
1942
+ * @ENG_END_DOX
1943
+ *
1944
+ *@copydoc IADLX3DAnisotropicFiltering_REQ_TABLE
1945
+ *
1946
+ */
1947
+ virtual ADLX_RESULT ADLX_STD_CALL SetLevel (ADLX_ANISOTROPIC_FILTERING_LEVEL level) = 0;
1948
+
1949
+ }; //IADLX3DAnisotropicFiltering
1950
+ //----------------------------------------------------------------------------------------------
1951
+ typedef IADLXInterfacePtr_T<IADLX3DAnisotropicFiltering> IADLX3DAnisotropicFilteringPtr;
1952
+ } //namespace adlx
1953
+ #else //__cplusplus
1954
+ ADLX_DECLARE_IID (IADLX3DAnisotropicFiltering, L"IADLX3DAnisotropicFiltering")
1955
+
1956
+ typedef struct IADLX3DAnisotropicFiltering IADLX3DAnisotropicFiltering;
1957
+
1958
+ typedef struct IADLX3DAnisotropicFilteringVtbl
1959
+ {
1960
+ //IADLXInterface
1961
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DAnisotropicFiltering* pThis);
1962
+ adlx_long (ADLX_STD_CALL *Release)(IADLX3DAnisotropicFiltering* pThis);
1963
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DAnisotropicFiltering* pThis, const wchar_t* interfaceId, void** ppInterface);
1964
+
1965
+ //IADLX3DAnisotropicFiltering
1966
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DAnisotropicFiltering* pThis, adlx_bool* supported);
1967
+ ADLX_RESULT (ADLX_STD_CALL *IsEnabled)(IADLX3DAnisotropicFiltering* pThis, adlx_bool* isEnabled);
1968
+ ADLX_RESULT (ADLX_STD_CALL *GetLevel)(IADLX3DAnisotropicFiltering* pThis, ADLX_ANISOTROPIC_FILTERING_LEVEL* currentLevel);
1969
+ ADLX_RESULT (ADLX_STD_CALL *SetEnabled)(IADLX3DAnisotropicFiltering* pThis, adlx_bool enable);
1970
+ ADLX_RESULT (ADLX_STD_CALL *SetLevel)(IADLX3DAnisotropicFiltering* pThis, ADLX_ANISOTROPIC_FILTERING_LEVEL level);
1971
+ }IADLX3DAnisotropicFilteringVtbl;
1972
+
1973
+ struct IADLX3DAnisotropicFiltering { const IADLX3DAnisotropicFilteringVtbl *pVtbl; };
1974
+ #endif //__cplusplus
1975
+ #pragma endregion IADLX3DAnisotropicFiltering
1976
+
1977
+ //3DTessellation setting interface
1978
+ #pragma region IADLX3DTessellation
1979
+ #if defined (__cplusplus)
1980
+ namespace adlx
1981
+ {
1982
+ class ADLX_NO_VTABLE IADLX3DTessellation : public IADLXInterface
1983
+ {
1984
+ public:
1985
+ ADLX_DECLARE_IID (L"IADLX3DTessellation")
1986
+
1987
+ /**
1988
+ *@page DOX_IADLX3DTessellation_IsSupported IsSupported
1989
+ *@ENG_START_DOX @brief Checks if tessellation is supported on a GPU. @ENG_END_DOX
1990
+ *
1991
+ *@syntax
1992
+ *@codeStart
1993
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
1994
+ *@codeEnd
1995
+ *
1996
+ *@params
1997
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of tessellation is returned. The variable is __true__ if tessellation is supported. The variable is __false__ if tessellation is not supported. @ENG_END_DOX}
1998
+ *
1999
+ *@retvalues
2000
+ *@ENG_START_DOX If the state of tessellation is successfully returned, __ADLX_OK__ is returned.<br>
2001
+ * If the state of tessellation is not successfully returned, an error code is returned.<br>
2002
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
2003
+ *
2004
+ * @addinfo
2005
+ *@ENG_START_DOX Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance.
2006
+ * @ENG_END_DOX
2007
+ *
2008
+ *@copydoc IADLX3DTessellation_REQ_TABLE
2009
+ *
2010
+ */
2011
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
2012
+
2013
+ /**
2014
+ *@page DOX_IADLX3DTessellation_GetMode GetMode
2015
+ *@ENG_START_DOX @brief Gets the current tessellation mode on a GPU. @ENG_END_DOX
2016
+ *
2017
+ *@syntax
2018
+ *@codeStart
2019
+ * @ref ADLX_RESULT GetMode (@ref ADLX_TESSELLATION_MODE* currentMode)
2020
+ *@codeEnd
2021
+ *
2022
+ *@params
2023
+ * @paramrow{1.,[out],currentMode,@ref ADLX_TESSELLATION_MODE*,@ENG_START_DOX The pointer to a variable where the current tessellation mode is returned. @ENG_END_DOX}
2024
+ *
2025
+ *@retvalues
2026
+ *@ENG_START_DOX If the current tessellation mode is successfully returned, __ADLX_OK__ is returned.<br>
2027
+ * If the current tessellation mode is not successfully returned, an error code is returned.<br>
2028
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
2029
+ *
2030
+ * @addinfo
2031
+ *@ENG_START_DOX Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance.
2032
+ * @ENG_END_DOX
2033
+ *
2034
+ *@copydoc IADLX3DTessellation_REQ_TABLE
2035
+ *
2036
+ */
2037
+ virtual ADLX_RESULT ADLX_STD_CALL GetMode (ADLX_TESSELLATION_MODE* currentMode) = 0;
2038
+
2039
+ /**
2040
+ *@page DOX_IADLX3DTessellation_GetLevel GetLevel
2041
+ *@ENG_START_DOX @brief Gets the current tessellation level on a GPU. @ENG_END_DOX
2042
+ *
2043
+ *@syntax
2044
+ *@codeStart
2045
+ * @ref ADLX_RESULT GetLevel (@ref ADLX_TESSELLATION_LEVEL* currentLevel)
2046
+ *@codeEnd
2047
+ *
2048
+ *@params
2049
+ * @paramrow{1.,[out],currentLevel,@ref ADLX_TESSELLATION_LEVEL*,@ENG_START_DOX The pointer to a variable where the current tessellation level is returned. @ENG_END_DOX}
2050
+ *
2051
+ *@retvalues
2052
+ *@ENG_START_DOX If the current tessellation level is successfully returned, __ADLX_OK__ is returned.<br>
2053
+ * If the current tessellation level is not successfully returned, an error code is returned.<br>
2054
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
2055
+ *
2056
+ * @addinfo
2057
+ *@ENG_START_DOX Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance.
2058
+ * @ENG_END_DOX
2059
+ *
2060
+ *@copydoc IADLX3DTessellation_REQ_TABLE
2061
+ *
2062
+ */
2063
+ virtual ADLX_RESULT ADLX_STD_CALL GetLevel (ADLX_TESSELLATION_LEVEL* currentLevel) = 0;
2064
+
2065
+ /**
2066
+ *@page DOX_IADLX3DTessellation_SetMode SetMode
2067
+ *@ENG_START_DOX @brief Sets the tessellation mode on a GPU. @ENG_END_DOX
2068
+ *
2069
+ *@syntax
2070
+ *@codeStart
2071
+ * @ref ADLX_RESULT SetMode (@ref ADLX_TESSELLATION_MODE mode)
2072
+ *@codeEnd
2073
+ *
2074
+ *@params
2075
+ * @paramrow{1.,[in],mode,@ref ADLX_TESSELLATION_MODE,@ENG_START_DOX The new tessellation mode. @ENG_END_DOX}
2076
+ *
2077
+ *@retvalues
2078
+ *@ENG_START_DOX If the tesssellation mode is successfully set, __ADLX_OK__ is returned.<br>
2079
+ * If the tessellation mode is not successfully set, an error code is returned.<br>
2080
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
2081
+ *
2082
+ * @addinfo
2083
+ *@ENG_START_DOX Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance.
2084
+ * @ENG_END_DOX
2085
+ *
2086
+ *@copydoc IADLX3DTessellation_REQ_TABLE
2087
+ *
2088
+ */
2089
+ virtual ADLX_RESULT ADLX_STD_CALL SetMode (ADLX_TESSELLATION_MODE mode) = 0;
2090
+
2091
+ /**
2092
+ *@page DOX_IADLX3DTessellation_SetLevel SetLevel
2093
+ *@ENG_START_DOX @brief Sets the tessellation level on a GPU. @ENG_END_DOX
2094
+ *
2095
+ *@syntax
2096
+ *@codeStart
2097
+ * @ref ADLX_RESULT SetLevel (@ref ADLX_TESSELLATION_LEVEL level)
2098
+ *@codeEnd
2099
+ *
2100
+ *@params
2101
+ * @paramrow{1.,[in],level,@ref ADLX_TESSELLATION_LEVEL,@ENG_START_DOX The new tessellation level. @ENG_END_DOX}
2102
+ *
2103
+ *@retvalues
2104
+ *@ENG_START_DOX If the tessellation level is successfully set, __ADLX_OK__ is returned.<br>
2105
+ * If the tessellation level is not successfully set, an error code is returned.<br>
2106
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
2107
+ *
2108
+ * @addinfo
2109
+ *@ENG_START_DOX Tessellation adjusts the number of polygons used to render objects with enhanced detail, at the cost of some frame rate performance.
2110
+ * @ENG_END_DOX
2111
+ *
2112
+ *@copydoc IADLX3DTessellation_REQ_TABLE
2113
+ *
2114
+ */
2115
+ virtual ADLX_RESULT ADLX_STD_CALL SetLevel (ADLX_TESSELLATION_LEVEL level) = 0;
2116
+
2117
+ }; //IADLX3DTessellation
2118
+ //----------------------------------------------------------------------------------------------
2119
+ typedef IADLXInterfacePtr_T<IADLX3DTessellation> IADLX3DTessellationPtr;
2120
+ } //namespace adlx
2121
+ #else //__cplusplus
2122
+ ADLX_DECLARE_IID (IADLX3DTessellation, L"IADLX3DTessellation")
2123
+
2124
+ typedef struct IADLX3DTessellation IADLX3DTessellation;
2125
+
2126
+ typedef struct IADLX3DTessellationVtbl
2127
+ {
2128
+ //IADLXInterface
2129
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DTessellation* pThis);
2130
+ adlx_long (ADLX_STD_CALL *Release)(IADLX3DTessellation* pThis);
2131
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DTessellation* pThis, const wchar_t* interfaceId, void** ppInterface);
2132
+
2133
+ //IADLX3DTessellation
2134
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DTessellation* pThis, adlx_bool* supported);
2135
+ ADLX_RESULT (ADLX_STD_CALL *GetMode)(IADLX3DTessellation* pThis, ADLX_TESSELLATION_MODE* currentMode);
2136
+ ADLX_RESULT (ADLX_STD_CALL *GetLevel)(IADLX3DTessellation* pThis, ADLX_TESSELLATION_LEVEL* currentLevel);
2137
+ ADLX_RESULT (ADLX_STD_CALL *SetMode)(IADLX3DTessellation* pThis, ADLX_TESSELLATION_MODE mode);
2138
+ ADLX_RESULT (ADLX_STD_CALL *SetLevel)(IADLX3DTessellation* pThis, ADLX_TESSELLATION_LEVEL level);
2139
+ }IADLX3DTessellationVtbl;
2140
+
2141
+ struct IADLX3DTessellation { const IADLX3DTessellationVtbl *pVtbl; };
2142
+ #endif //__cplusplus
2143
+ #pragma endregion IADLX3DTessellation
2144
+
2145
+ //3DRadeonSuperResolution interface
2146
+ #pragma region IADLX3DRadeonSuperResolution
2147
+ #if defined (__cplusplus)
2148
+ namespace adlx
2149
+ {
2150
+ class ADLX_NO_VTABLE IADLX3DRadeonSuperResolution : public IADLXInterface
2151
+ {
2152
+ public:
2153
+ ADLX_DECLARE_IID (L"IADLX3DRadeonSuperResolution")
2154
+
2155
+ /**
2156
+ *@page DOX_IADLX3DRadeonSuperResolution_IsSupported IsSupported
2157
+ *@ENG_START_DOX @brief Checks if Radeon™ Super Resolution is supported. @ENG_END_DOX
2158
+ *
2159
+ *@syntax
2160
+ *@codeStart
2161
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
2162
+ *@codeEnd
2163
+ *
2164
+ *@params
2165
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Radeon Super Resolution is returned. The variable is __true__ if Radeon Super Resolution is supported. The variable is __false__ if Radeon Super Resolution is not supported. @ENG_END_DOX}
2166
+ *
2167
+ *@retvalues
2168
+ *@ENG_START_DOX If the state of Radeon Super Resolution is successfully returned, __ADLX_OK__ is returned.<br>
2169
+ * If the state of Radeon Super Resolution is not successfully returned, an error code is returned.<br>
2170
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
2171
+ *
2172
+ * @addinfo
2173
+ * @ENG_START_DOX
2174
+ * Radeon Super Resolution is an upscaling feature for faster game frame rates.
2175
+ * @ENG_END_DOX
2176
+ *
2177
+ *@copydoc IADLX3DRadeonSuperResolution_REQ_TABLE
2178
+ *
2179
+ */
2180
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
2181
+
2182
+ /**
2183
+ *@page DOX_IADLX3DRadeonSuperResolution_IsEnabled IsEnabled
2184
+ *@ENG_START_DOX @brief Checks if Radeon™ Super Resolution is enabled. @ENG_END_DOX
2185
+ *
2186
+ *@syntax
2187
+ *@codeStart
2188
+ * @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
2189
+ *@codeEnd
2190
+ *
2191
+ *@params
2192
+ * @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Radeon Super Resolution is returned. The variable is __true__ if Radeon Super Resolution is enabled. The variable is __false__ if Radeon Super Resolution is not enabled. @ENG_END_DOX}
2193
+ *
2194
+ *@retvalues
2195
+ *@ENG_START_DOX If the state of Radeon Super Resolution is successfully returned, __ADLX_OK__ is returned.<br>
2196
+ * If the state of Radeon Super Resolution is not successfully returned, an error code is returned.<br>
2197
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
2198
+ *
2199
+ * @addinfo
2200
+ * @ENG_START_DOX
2201
+ * Radeon Super Resolution is an upscaling feature for faster game frame rates. <br>
2202
+ *
2203
+ * @depifc
2204
+ * Radeon Super Resolution requires @ref DOX_IADLXDisplayGPUScaling "GPU scaling". When Radeon Super Resolution is enabled, GPU scaling is automatically enabled. If GPU scaling is disabled while Radeon Super Resolution is enabled, Radeon Super Resolution is automatically disabled.<br>
2205
+ *
2206
+ * On some AMD GPUs, Radeon Super Resolution cannot be simultaneously enabled with @ref DOX_IADLX3DBoost "AMD Radeon Boost", @ref DOX_IADLX3DImageSharpening "AMD Radeon Image Sharpening", @ref DOX_IADLXDisplayIntegerScaling "Integer Display Scaling", or @ref DOX_IADLXDisplayScalingMode_GetMode "Center Scaling".<br>
2207
+ *
2208
+ * When a mutually exclusive feature is enabled, Radeon Super Resolution is automatically disabled. If Radeon Super Resolution is later re-enabled, its previous configuration settings will be restored.<br>
2209
+ * @ENG_END_DOX
2210
+ *
2211
+ *@copydoc IADLX3DRadeonSuperResolution_REQ_TABLE
2212
+ *
2213
+ */
2214
+ virtual ADLX_RESULT ADLX_STD_CALL IsEnabled (adlx_bool* enabled) = 0;
2215
+
2216
+ /**
2217
+ *@page DOX_IADLX3DRadeonSuperResolution_SetEnabled SetEnabled
2218
+ *@ENG_START_DOX @brief Sets the activation status of Radeon™ Super Resolution. @ENG_END_DOX
2219
+ *
2220
+ *@syntax
2221
+ *@codeStart
2222
+ * @ref ADLX_RESULT SetEnabled (adlx_bool enable)
2223
+ *@codeEnd
2224
+ *
2225
+ *@params
2226
+ * @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new Radeon Super Resolution state. Set __true__ to enable Radeon Super Resolution. Set __false__ to disable Radeon Super Resolution. @ENG_END_DOX}
2227
+ *
2228
+ *@retvalues
2229
+ *@ENG_START_DOX If the state of Radeon Super Resolution is successfully set, __ADLX_OK__ is returned.<br>
2230
+ * If the state of Radeon Super Resolution is not successfully set, an error code is returned.<br>
2231
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
2232
+ *
2233
+ * @addinfo
2234
+ * @ENG_START_DOX
2235
+ * Radeon Super Resolution is an upscaling feature for faster game frame rates. <br>
2236
+ *
2237
+ * @depifc
2238
+ * Radeon Super Resolution requires @ref DOX_IADLXDisplayGPUScaling "GPU scaling". When Radeon Super Resolution is enabled, GPU scaling is automatically enabled. If GPU scaling is disabled while Radeon Super Resolution is enabled, Radeon Super Resolution is automatically disabled.<br>
2239
+ *
2240
+ * On some AMD GPUs, Radeon Super Resolution cannot be simultaneously enabled with @ref DOX_IADLX3DBoost "AMD Radeon Boost", @ref DOX_IADLX3DImageSharpening "AMD Radeon Image Sharpening", @ref DOX_IADLXDisplayIntegerScaling "Integer Display Scaling", or @ref DOX_IADLXDisplayScalingMode_GetMode "Center Scaling".<br>
2241
+ *
2242
+ * When Radeon Super Resolution is enabled, the mutually exclusive features are automatically disabled.<br>
2243
+ *
2244
+ * If a mutually exclusive feature is re-enabled, its previous configuration settings are restored.<br>
2245
+ * @ENG_END_DOX
2246
+ *
2247
+ *@copydoc IADLX3DRadeonSuperResolution_REQ_TABLE
2248
+ *
2249
+ */
2250
+ virtual ADLX_RESULT ADLX_STD_CALL SetEnabled (adlx_bool enable) = 0;
2251
+
2252
+ /**
2253
+ *@page DOX_IADLX3DRadeonSuperResolution_GetSharpnessRange GetSharpnessRange
2254
+ *@ENG_START_DOX @brief Gets the Radeon™ Super Resolution maximum sharpness, minimum sharpness, and step sharpness. @ENG_END_DOX
2255
+ *
2256
+ *@syntax
2257
+ *@codeStart
2258
+ * @ref ADLX_RESULT GetSharpnessRange (@ref ADLX_IntRange* range)
2259
+ *@codeEnd
2260
+ *
2261
+ *@params
2262
+ * @paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the sharpness range of Radeon Super Resolution is returned. @ENG_END_DOX}
2263
+ *
2264
+ *@retvalues
2265
+ *@ENG_START_DOX If the sharpness range is successfully returned, __ADLX_OK__ is returned.<br>
2266
+ * If the sharpness range is not successfully returned, an error code is returned.<br>
2267
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
2268
+ *
2269
+ *@detaileddesc
2270
+ *@ENG_START_DOX @details The maximum sharpness, minimum sharpness, and step sharpness values are read only. @ENG_END_DOX
2271
+ *
2272
+ * @addinfo
2273
+ * @ENG_START_DOX
2274
+ * Radeon Super Resolution is an upscaling feature for faster game frame rates.
2275
+ * @ENG_END_DOX
2276
+ *
2277
+ *@copydoc IADLX3DRadeonSuperResolution_REQ_TABLE
2278
+ *
2279
+ */
2280
+ virtual ADLX_RESULT ADLX_STD_CALL GetSharpnessRange (ADLX_IntRange* range) = 0;
2281
+
2282
+ /**
2283
+ *@page DOX_IADLX3DRadeonSuperResolution_GetSharpness GetSharpness
2284
+ *@ENG_START_DOX @brief Gets the Radeon™ Super Resolution current sharpness. @ENG_END_DOX
2285
+ *
2286
+ *@syntax
2287
+ *@codeStart
2288
+ * @ref ADLX_RESULT GetSharpness (adlx_int* currentSharpness)
2289
+ *@codeEnd
2290
+ *
2291
+ *@params
2292
+ * @paramrow{1.,[out],currentSharpness,adlx_int*,@ENG_START_DOX The pointer to a variable where the current sharpness of Radeon Super Resolution is returned. @ENG_END_DOX}
2293
+ *
2294
+ *@retvalues
2295
+ *@ENG_START_DOX If the current sharpness is successfully returned, __ADLX_OK__ is returned.<br>
2296
+ * If the current sharpness is not successfully returned, an error code is returned.<br>
2297
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
2298
+ *
2299
+ * @addinfo
2300
+ * @ENG_START_DOX
2301
+ * Radeon Super Resolution is an upscaling feature for faster game frame rates.
2302
+ * @ENG_END_DOX
2303
+ *
2304
+ *@copydoc IADLX3DRadeonSuperResolution_REQ_TABLE
2305
+ *
2306
+ */
2307
+ virtual ADLX_RESULT ADLX_STD_CALL GetSharpness (adlx_int* currentSharpness) = 0;
2308
+
2309
+ /**
2310
+ *@page DOX_IADLX3DRadeonSuperResolution_SetSharpness SetSharpness
2311
+ *@ENG_START_DOX @brief Sets the Radeon™ Super Resolution sharpness. @ENG_END_DOX
2312
+ *
2313
+ *@syntax
2314
+ *@codeStart
2315
+ * @ref ADLX_RESULT SetSharpness (adlx_int sharpness)
2316
+ *@codeEnd
2317
+ *
2318
+ *@params
2319
+ * @paramrow{1.,[in],sharpness,adlx_int,@ENG_START_DOX The new sharpness of Radeon Super Resolution. @ENG_END_DOX}
2320
+ *
2321
+ *@retvalues
2322
+ *@ENG_START_DOX If the sharpness is successfully set, __ADLX_OK__ is returned.<br>
2323
+ * If the sharpness is not successfully set, an error code is returned.<br>
2324
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
2325
+ *
2326
+ * @addinfo
2327
+ * @ENG_START_DOX
2328
+ * Radeon Super Resolution is an upscaling feature for faster game frame rates.
2329
+ * @ENG_END_DOX
2330
+ *
2331
+ *@copydoc IADLX3DRadeonSuperResolution_REQ_TABLE
2332
+ *
2333
+ */
2334
+ virtual ADLX_RESULT ADLX_STD_CALL SetSharpness (adlx_int sharpness) = 0;
2335
+ }; //IADLX3DRadeonSuperResolution
2336
+ //----------------------------------------------------------------------------------------------
2337
+ typedef IADLXInterfacePtr_T<IADLX3DRadeonSuperResolution> IADLX3DRadeonSuperResolutionPtr;
2338
+ } //namespace adlx
2339
+ #else //__cplusplus
2340
+ ADLX_DECLARE_IID (IADLX3DRadeonSuperResolution, L"IADLX3DRadeonSuperResolution")
2341
+
2342
+ typedef struct IADLX3DRadeonSuperResolution IADLX3DRadeonSuperResolution;
2343
+
2344
+ typedef struct IADLX3DRadeonSuperResolutionVtbl
2345
+ {
2346
+ //IADLXInterface
2347
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DRadeonSuperResolution* pThis);
2348
+ adlx_long (ADLX_STD_CALL *Release)(IADLX3DRadeonSuperResolution* pThis);
2349
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DRadeonSuperResolution* pThis, const wchar_t* interfaceId, void** ppInterface);
2350
+
2351
+ //IADLX3DRadeonSuperResolution
2352
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported) (IADLX3DRadeonSuperResolution* pThis, adlx_bool* supported);
2353
+ ADLX_RESULT (ADLX_STD_CALL *IsEnabled) (IADLX3DRadeonSuperResolution* pThis, adlx_bool* enabled);
2354
+ ADLX_RESULT (ADLX_STD_CALL *SetEnabled) (IADLX3DRadeonSuperResolution* pThis, adlx_bool enable);
2355
+ ADLX_RESULT (ADLX_STD_CALL *GetSharpnessRange) (IADLX3DRadeonSuperResolution* pThis, ADLX_IntRange* range);
2356
+ ADLX_RESULT (ADLX_STD_CALL *GetSharpness) (IADLX3DRadeonSuperResolution* pThis, adlx_int* currentSharpness);
2357
+ ADLX_RESULT (ADLX_STD_CALL *SetSharpness) (IADLX3DRadeonSuperResolution* pThis, adlx_int sharpness);
2358
+ }IADLX3DRadeonSuperResolutionVtbl;
2359
+
2360
+ struct IADLX3DRadeonSuperResolution { const IADLX3DRadeonSuperResolutionVtbl* pVtbl; };
2361
+
2362
+ #endif //__cplusplus
2363
+ #pragma endregion IADLX3DRadeonSuperResolution
2364
+
2365
+ //3DResetShaderCache setting interface
2366
+ #pragma region IADLX3DResetShaderCache
2367
+ #if defined (__cplusplus)
2368
+ namespace adlx
2369
+ {
2370
+ class ADLX_NO_VTABLE IADLX3DResetShaderCache : public IADLXInterface
2371
+ {
2372
+ public:
2373
+ ADLX_DECLARE_IID (L"IADLX3DResetShaderCache")
2374
+
2375
+ /**
2376
+ *@page DOX_IADLX3DResetShaderCache_IsSupported IsSupported
2377
+ *@ENG_START_DOX @brief Checks if resetting the shader cache of a GPU is supported. @ENG_END_DOX
2378
+ *
2379
+ *@syntax
2380
+ *@codeStart
2381
+ * @ref ADLX_RESULT IsSupported (adlx_bool* supported)
2382
+ *@codeEnd
2383
+ *
2384
+ *@params
2385
+ * @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of shader cache reset is returned. The variable is __true__ if shader cache reset is supported. The variable is __false__ if shader cache reset is not supported. @ENG_END_DOX}
2386
+ *
2387
+ *@retvalues
2388
+ *@ENG_START_DOX If the state of shader cache reset is successfully returned, ADLX_OK is returned.<br>
2389
+ * If the state of shader cache reset is not successfully returned, an error code is returned.<br>
2390
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
2391
+ *
2392
+ * @addinfo
2393
+ * @ENG_START_DOX
2394
+ * The shader cache stores frequently used in-game shaders to reduce loading time and CPU usage. Resetting the shader cache clears contents of the disk-based shader cache.
2395
+ * @ENG_END_DOX
2396
+ *
2397
+ *@copydoc IADLX3DResetShaderCache_REQ_TABLE
2398
+ *
2399
+ */
2400
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupported (adlx_bool* supported) = 0;
2401
+
2402
+ /**
2403
+ *@page DOX_IADLX3DResetShaderCache_ResetShaderCache ResetShaderCache
2404
+ *@ENG_START_DOX @brief Resets the content in a disk-based shader cache on a GPU. @ENG_END_DOX
2405
+ *
2406
+ *@syntax
2407
+ *@codeStart
2408
+ * @ref ADLX_RESULT ResetShaderCache ()
2409
+ *@codeEnd
2410
+ *
2411
+ *@params
2412
+ *N/A
2413
+ *
2414
+ *@retvalues
2415
+ *@ENG_START_DOX If the shader cache is successfully reset, ADLX_OK is returned.<br>
2416
+ * If the shader cache is not successfully reset, an error code is returned.<br>
2417
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
2418
+ *
2419
+ * @addinfo
2420
+ * @ENG_START_DOX
2421
+ * The shader cache stores frequently used in-game shaders to reduce loading time and CPU usage. Resetting the shader cache clears the contents of the disk-based shader cache.
2422
+ * @ENG_END_DOX
2423
+ *
2424
+ *@copydoc IADLX3DResetShaderCache_REQ_TABLE
2425
+ *
2426
+ */
2427
+ virtual ADLX_RESULT ADLX_STD_CALL ResetShaderCache () = 0;
2428
+
2429
+ }; //IADLX3DResetShaderCache
2430
+ //----------------------------------------------------------------------------------------------
2431
+ typedef IADLXInterfacePtr_T<IADLX3DResetShaderCache> IADLX3DResetShaderCachePtr;
2432
+ } //namespace adlx
2433
+ #else //__cplusplus
2434
+ ADLX_DECLARE_IID (IADLX3DResetShaderCache, L"IADLX3DResetShaderCache")
2435
+
2436
+ typedef struct IADLX3DResetShaderCache IADLX3DResetShaderCache;
2437
+
2438
+ typedef struct IADLX3DResetShaderCacheVtbl
2439
+ {
2440
+ //IADLXInterface
2441
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DResetShaderCache* pThis);
2442
+ adlx_long (ADLX_STD_CALL *Release)(IADLX3DResetShaderCache* pThis);
2443
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DResetShaderCache* pThis, const wchar_t* interfaceId, void** ppInterface);
2444
+
2445
+ //IADLX3DResetShaderCache
2446
+ ADLX_RESULT (ADLX_STD_CALL *IsSupported)(IADLX3DResetShaderCache* pThis, adlx_bool* supported);
2447
+ ADLX_RESULT (ADLX_STD_CALL *ResetShaderCache)(IADLX3DResetShaderCache* pThis);
2448
+ }IADLX3DResetShaderCacheVtbl;
2449
+
2450
+ struct IADLX3DResetShaderCache { const IADLX3DResetShaderCacheVtbl *pVtbl; };
2451
+ #endif //__cplusplus
2452
+ #pragma endregion IADLX3DResetShaderCache
2453
+
2454
+ //Interface with information on 3D setting changes on a display. ADLX passes this to application that registered for 3D setting changed event in the IADLX3DSettingsChangedListener::On3DSettingsChanged()
2455
+ #pragma region IADLX3DSettingsChangedEvent
2456
+ #if defined (__cplusplus)
2457
+ namespace adlx
2458
+ {
2459
+ class ADLX_NO_VTABLE IADLXGPU;
2460
+ class ADLX_NO_VTABLE IADLX3DSettingsChangedEvent : public IADLXChangedEvent
2461
+ {
2462
+ public:
2463
+ ADLX_DECLARE_IID (L"IADLX3DSettingsChangedEvent")
2464
+
2465
+ /**
2466
+ *@page DOX_IADLX3DSettingsChangedEvent_GetGPU GetGPU
2467
+ *@ENG_START_DOX @brief Gets the reference-counted GPU interface on which 3D Graphics settings are changed. @ENG_END_DOX
2468
+ *
2469
+ *@syntax
2470
+ *@codeStart
2471
+ * @ref ADLX_RESULT GetGPU (@ref DOX_IADLXGPU **ppGPU)
2472
+ *@codeEnd
2473
+ *
2474
+ *@params
2475
+ *@paramrow{1.,[out] ,ppGPU,@ref DOX_IADLXGPU** ,@ENG_START_DOX The address of a pointer to the returned interface. If the interface is not successfully returned\, the method sets the dereferenced address __*ppGPU__ to __nullptr__. @ENG_END_DOX}
2476
+ *
2477
+ *
2478
+ *@retvalues
2479
+ *@ENG_START_DOX If the GPU interface is successfully returned, __ADLX_OK__ is returned.<br>
2480
+ * If the GPU interface is not successfully returned, an error code is returned.<br>
2481
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
2482
+ *
2483
+ *@detaileddesc
2484
+ *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
2485
+ *
2486
+ *@addinfo
2487
+ *@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>
2488
+ * __Note:__ @ref DOX_IADLX3DSettingsChangedEvent_GetGPU returns the reference counted GPU used by all the methods in this interface to check if there are any changes in 3D Graphics settings.
2489
+ @ENG_END_DOX
2490
+ *
2491
+ *
2492
+ *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE
2493
+ *
2494
+ */
2495
+ virtual ADLX_RESULT ADLX_STD_CALL GetGPU (IADLXGPU** ppGPU) = 0;
2496
+
2497
+ /**
2498
+ *@page DOX_IADLX3DSettingsChangedEvent_IsAntiLagChanged IsAntiLagChanged
2499
+ *@ENG_START_DOX @brief Checks for changes to the AMD Radeon™ Anti-Lag settings. @ENG_END_DOX
2500
+ *
2501
+ *@syntax
2502
+ *@codeStart
2503
+ * adlx_bool IsAntiLagChanged ()
2504
+ *@codeEnd
2505
+ *
2506
+ *@params
2507
+ *N/A
2508
+ *
2509
+ *@retvalues
2510
+ *@ENG_START_DOX If there are any changes to the Radeon Anti-Lag settings, __true__ is returned.<br>
2511
+ * If there are on changes to the Radeon Anti-Lag settings, __false__ is returned.<br> @ENG_END_DOX
2512
+ *
2513
+ *
2514
+ *@addinfo
2515
+ *@ENG_START_DOX
2516
+ * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU.
2517
+ * @ENG_END_DOX
2518
+ *
2519
+ *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE
2520
+ *
2521
+ */
2522
+ virtual adlx_bool ADLX_STD_CALL IsAntiLagChanged () = 0;
2523
+
2524
+ /**
2525
+ *@page DOX_IADLX3DSettingsChangedEvent_IsChillChanged IsChillChanged
2526
+ *@ENG_START_DOX @brief Checks for changes to the AMD Radeon™ Chill settings. @ENG_END_DOX
2527
+ *
2528
+ *@syntax
2529
+ *@codeStart
2530
+ * adlx_bool IsChillChanged ()
2531
+ *@codeEnd
2532
+ *
2533
+ *@params
2534
+ *N/A
2535
+ *
2536
+ *@retvalues
2537
+ *@ENG_START_DOX If there are any changes to the AMD Radeon Chill settings, __true__ is returned.<br>
2538
+ * If there are on changes to the AMD Radeon Chill settings, __false__ is returned.<br> @ENG_END_DOX
2539
+ *
2540
+ *@addinfo
2541
+ *@ENG_START_DOX
2542
+ * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU.
2543
+ * @ENG_END_DOX
2544
+ *
2545
+ *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE
2546
+ *
2547
+ */
2548
+ virtual adlx_bool ADLX_STD_CALL IsChillChanged () = 0;
2549
+
2550
+ /**
2551
+ *@page DOX_IADLX3DSettingsChangedEvent_IsBoostChanged IsBoostChanged
2552
+ *@ENG_START_DOX @brief Checks for changes to the AMD Radeon™ Boost settings. @ENG_END_DOX
2553
+ *
2554
+ *@syntax
2555
+ *@codeStart
2556
+ * adlx_bool IsBoostChanged ()
2557
+ *@codeEnd
2558
+ *
2559
+ *@params
2560
+ *N/A
2561
+ *
2562
+ *@retvalues
2563
+ *@ENG_START_DOX If there are any changes to the AMD Radeon Boost settings, __true__ is returned.<br>
2564
+ * If there are on changes to the AMD Radeon Boost settings, __false__ is returned.<br> @ENG_END_DOX
2565
+ *
2566
+ *
2567
+ *@addinfo
2568
+ *@ENG_START_DOX
2569
+ * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU.
2570
+ * @ENG_END_DOX
2571
+ *
2572
+ *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE
2573
+ *
2574
+ */
2575
+ virtual adlx_bool ADLX_STD_CALL IsBoostChanged () = 0;
2576
+
2577
+ /**
2578
+ *@page DOX_IADLX3DSettingsChangedEvent_IsImageSharpeningChanged IsImageSharpeningChanged
2579
+ *@ENG_START_DOX @brief Checks for changes to the AMD Radeon Image Sharpening settings. @ENG_END_DOX
2580
+ *
2581
+ *@syntax
2582
+ *@codeStart
2583
+ * adlx_bool IsImageSharpeningChanged ()
2584
+ *@codeEnd
2585
+ *
2586
+ *@params
2587
+ *N/A
2588
+ *
2589
+ *@retvalues
2590
+ *@ENG_START_DOX If there are any changes to the Radeon Image Sharpening settings, __true__ is returned.<br>
2591
+ * If there are on changes to the Radeon Image Sharpening settings, __false__ is returned.<br> @ENG_END_DOX
2592
+ *
2593
+ *@addinfo
2594
+ *@ENG_START_DOX
2595
+ * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU.
2596
+ * @ENG_END_DOX
2597
+ *
2598
+ *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE
2599
+ *
2600
+ */
2601
+ virtual adlx_bool ADLX_STD_CALL IsImageSharpeningChanged () = 0;
2602
+
2603
+ /**
2604
+ *@page DOX_IADLX3DSettingsChangedEvent_IsEnhancedSyncChanged IsEnhancedSyncChanged
2605
+ *@ENG_START_DOX @brief Checks for changes to the AMD Radeon™ Enhanced Sync settings. @ENG_END_DOX
2606
+ *
2607
+ *@syntax
2608
+ *@codeStart
2609
+ * adlx_bool IsEnhancedSyncChanged ()
2610
+ *@codeEnd
2611
+ *
2612
+ *@params
2613
+ *N/A
2614
+ *
2615
+ *@retvalues
2616
+ *@ENG_START_DOX If there are any changes to the AMD Radeon Enhanced Sync settings, __true__ is returned.<br>
2617
+ * If there are on changes to the AMD Radeon Enhanced Sync settings, __false__ is returned.<br> @ENG_END_DOX
2618
+ *
2619
+ *@addinfo
2620
+ *@ENG_START_DOX
2621
+ * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU.
2622
+ * @ENG_END_DOX
2623
+ *
2624
+ *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE
2625
+ *
2626
+ */
2627
+ virtual adlx_bool ADLX_STD_CALL IsEnhancedSyncChanged () = 0;
2628
+
2629
+ /**
2630
+ *@page DOX_IADLX3DSettingsChangedEvent_IsWaitForVerticalRefreshChanged IsWaitForVerticalRefreshChanged
2631
+ *@ENG_START_DOX @brief Checks for changes to the Wait for Vertical Refresh settings. @ENG_END_DOX
2632
+ *
2633
+ *@syntax
2634
+ *@codeStart
2635
+ * adlx_bool IsWaitForVerticalRefreshChanged ()
2636
+ *@codeEnd
2637
+ *
2638
+ *@params
2639
+ *N/A
2640
+ *
2641
+ *@retvalues
2642
+ *@ENG_START_DOX If there are any changes to the Wait for Vertical Refresh settings, __true__ is returned.<br>
2643
+ * If there are on changes to the Wait for Vertical Refresh settings, __false__ is returned.<br> @ENG_END_DOX
2644
+ *
2645
+ *@addinfo
2646
+ *@ENG_START_DOX
2647
+ * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU.
2648
+ * @ENG_END_DOX
2649
+ *
2650
+ *
2651
+ *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE
2652
+ *
2653
+ */
2654
+ virtual adlx_bool ADLX_STD_CALL IsWaitForVerticalRefreshChanged () = 0;
2655
+
2656
+ /**
2657
+ *@page DOX_IADLX3DSettingsChangedEvent_IsFrameRateTargetControlChanged IsFrameRateTargetControlChanged
2658
+ *@ENG_START_DOX @brief Checks for changes to the AMD Frame Rate Target Control settings. @ENG_END_DOX
2659
+ *
2660
+ *@syntax
2661
+ *@codeStart
2662
+ * adlx_bool IsFrameRateTargetControlChanged ()
2663
+ *@codeEnd
2664
+ *
2665
+ *@params
2666
+ *N/A
2667
+ *
2668
+ *@retvalues
2669
+ *@ENG_START_DOX If there are any changes to the AMD Frame Rate Target Control settings, __true__ is returned.<br>
2670
+ * If there are on changes to the AMD Frame Rate Target Control settings, __false__ is returned.<br> @ENG_END_DOX
2671
+ *
2672
+ *
2673
+ *@addinfo
2674
+ *@ENG_START_DOX
2675
+ * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU.
2676
+ * @ENG_END_DOX
2677
+ *
2678
+ *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE
2679
+ *
2680
+ */
2681
+ virtual adlx_bool ADLX_STD_CALL IsFrameRateTargetControlChanged () = 0;
2682
+
2683
+ /**
2684
+ *@page DOX_IADLX3DSettingsChangedEvent_IsAntiAliasingChanged IsAntiAliasingChanged
2685
+ *@ENG_START_DOX @brief Checks for changes to the Anti-Aliasing settings. @ENG_END_DOX
2686
+ *
2687
+ *@syntax
2688
+ *@codeStart
2689
+ * adlx_bool IsAntiAliasingChanged ()
2690
+ *@codeEnd
2691
+ *
2692
+ *@params
2693
+ *N/A
2694
+ *
2695
+ *@retvalues
2696
+ *@ENG_START_DOX If there are any changes to the Anti-Aliasing settings, __true__ is returned.<br>
2697
+ * If there are on changes to the Anti-Aliasing settings, __false__ is returned.<br> @ENG_END_DOX
2698
+ *
2699
+ *@addinfo
2700
+ *@ENG_START_DOX
2701
+ * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU.
2702
+ * @ENG_END_DOX
2703
+ *
2704
+ *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE
2705
+ *
2706
+ */
2707
+ virtual adlx_bool ADLX_STD_CALL IsAntiAliasingChanged () = 0;
2708
+
2709
+ /**
2710
+ *@page DOX_IADLX3DSettingsChangedEvent_IsMorphologicalAntiAliasingChanged IsMorphologicalAntiAliasingChanged
2711
+ *@ENG_START_DOX @brief Checks for changes to the Morphological Anti-Aliasing settings. @ENG_END_DOX
2712
+ *
2713
+ *@syntax
2714
+ *@codeStart
2715
+ * adlx_bool IsMorphologicalAntiAliasingChanged ()
2716
+ *@codeEnd
2717
+ *
2718
+ *@params
2719
+ *N/A
2720
+ *
2721
+ *@retvalues
2722
+ *@ENG_START_DOX If there are any changes to the Morphological Anti-Aliasing settings, __true__ is returned.<br>
2723
+ * If there are on changes to the Morphological Anti-Aliasing settings, __false__ is returned.<br> @ENG_END_DOX
2724
+ *
2725
+ *@addinfo
2726
+ *@ENG_START_DOX
2727
+ * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU.
2728
+ * @ENG_END_DOX
2729
+ *
2730
+ *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE
2731
+ *
2732
+ */
2733
+ virtual adlx_bool ADLX_STD_CALL IsMorphologicalAntiAliasingChanged () = 0;
2734
+
2735
+ /**
2736
+ *@page DOX_IADLX3DSettingsChangedEvent_IsAnisotropicFilteringChanged IsAnisotropicFilteringChanged
2737
+ *@ENG_START_DOX @brief Checks for changes to the Anisotropic Filtering settings. @ENG_END_DOX
2738
+ *
2739
+ *@syntax
2740
+ *@codeStart
2741
+ * adlx_bool IsAnisotropicFilteringChanged ()
2742
+ *@codeEnd
2743
+ *
2744
+ *@params
2745
+ *N/A
2746
+ *
2747
+ *@retvalues
2748
+ *@ENG_START_DOX If there are any changes to the Anisotropic Filtering settings, __true__ is returned.<br>
2749
+ * If there are on changes to the Anisotropic Filtering settings, __false__ is returned.<br> @ENG_END_DOX
2750
+ *
2751
+ *
2752
+ *@addinfo
2753
+ *@ENG_START_DOX
2754
+ * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU.
2755
+ * @ENG_END_DOX
2756
+ *
2757
+ *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE
2758
+ *
2759
+ */
2760
+ virtual adlx_bool ADLX_STD_CALL IsAnisotropicFilteringChanged () = 0;
2761
+
2762
+ /**
2763
+ *@page DOX_IADLX3DSettingsChangedEvent_IsTessellationModeChanged IsTessellationModeChanged
2764
+ *@ENG_START_DOX @brief Checks for changes to the Tessellation settings. @ENG_END_DOX
2765
+ *
2766
+ *@syntax
2767
+ *@codeStart
2768
+ * adlx_bool IsTessellationModeChanged ()
2769
+ *@codeEnd
2770
+ *
2771
+ *@params
2772
+ *N/A
2773
+ *
2774
+ *@retvalues
2775
+ *@ENG_START_DOX If there are any changes to the Tessellation settings, __true__ is returned.<br>
2776
+ * If there are no changes to the Tessellation settings, __false__ is returned.<br> @ENG_END_DOX
2777
+ *
2778
+ *
2779
+ *@addinfo
2780
+ *@ENG_START_DOX
2781
+ * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU.
2782
+ * @ENG_END_DOX
2783
+ *
2784
+ *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE
2785
+ *
2786
+ */
2787
+ virtual adlx_bool ADLX_STD_CALL IsTessellationModeChanged () = 0;
2788
+
2789
+ /**
2790
+ *@page DOX_IADLX3DSettingsChangedEvent_IsRadeonSuperResolutionChanged IsRadeonSuperResolutionChanged
2791
+ *@ENG_START_DOX @brief Checks for changes to the Radeon™ Super Resolution settings. @ENG_END_DOX
2792
+ *
2793
+ *@syntax
2794
+ *@codeStart
2795
+ * adlx_bool IsRadeonSuperResolutionChanged ()
2796
+ *@codeEnd
2797
+ *
2798
+ *@params
2799
+ *N/A
2800
+ *
2801
+ *@retvalues
2802
+ *@ENG_START_DOX If there are any changes to the Radeon Super Resolution settings, __true__ is returned.<br>
2803
+ * If there are no changes to the Radeon Super Resolution settings, __false__ is returned.<br> @ENG_END_DOX
2804
+ *
2805
+ *
2806
+ *@addinfo
2807
+ *@ENG_START_DOX
2808
+ * __Note:__ Radeon Super Resolution settings are global for all the supported GPUs. For this event notification, @ref DOX_IADLX3DSettingsChangedEvent_GetGPU returns __nullpr__.
2809
+ * @ENG_END_DOX
2810
+ *
2811
+ *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE
2812
+ *
2813
+ */
2814
+ virtual adlx_bool ADLX_STD_CALL IsRadeonSuperResolutionChanged () = 0;
2815
+
2816
+ /**
2817
+ *@page DOX_IADLX3DSettingsChangedEvent_IsResetShaderCache IsResetShaderCache
2818
+ *@ENG_START_DOX @brief Checks if shader cache is reset. @ENG_END_DOX
2819
+ *
2820
+ *@syntax
2821
+ *@codeStart
2822
+ * adlx_bool IsResetShaderCache ()
2823
+ *@codeEnd
2824
+ *
2825
+ *@params
2826
+ *N/A
2827
+ *
2828
+ *@retvalues
2829
+ *@ENG_START_DOX If shader cache settings is reset, __true__ is returned.<br>
2830
+ * If shader cache settings is not reset, __false__ is returned.<br> @ENG_END_DOX
2831
+ *
2832
+ *
2833
+ *@addinfo
2834
+ *@ENG_START_DOX
2835
+ * __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU.
2836
+ * @ENG_END_DOX
2837
+ *
2838
+ *@copydoc IADLX3DSettingsChangedEvent_REQ_TABLE
2839
+ *
2840
+ */
2841
+ virtual adlx_bool ADLX_STD_CALL IsResetShaderCache () = 0;
2842
+
2843
+ }; //IADLX3DSettingsChangedEvent
2844
+ //----------------------------------------------------------------------------------------------
2845
+ typedef IADLXInterfacePtr_T<IADLX3DSettingsChangedEvent> IADLX3DSettingsChangedEventPtr;
2846
+ } //namespace adlx
2847
+ #else //__cplusplus
2848
+ ADLX_DECLARE_IID (IADLX3DSettingsChangedEvent, L"IADLX3DSettingsChangedEvent")
2849
+ typedef struct IADLX3DSettingsChangedEvent IADLX3DSettingsChangedEvent;
2850
+
2851
+ typedef struct IADLX3DSettingsChangedEventVtbl
2852
+ {
2853
+ //IADLXInterface
2854
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DSettingsChangedEvent* pThis);
2855
+ adlx_long (ADLX_STD_CALL *Release)(IADLX3DSettingsChangedEvent* pThis);
2856
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DSettingsChangedEvent* pThis, const wchar_t* interfaceId, void** ppInterface);
2857
+
2858
+ //IADLXChangedEvent
2859
+ ADLX_SYNC_ORIGIN(ADLX_STD_CALL* GetOrigin)(IADLX3DSettingsChangedEvent* pThis);
2860
+
2861
+ // IADLX3DSettingsChangedEvent interface
2862
+ ADLX_RESULT (ADLX_STD_CALL *GetGPU)(IADLX3DSettingsChangedEvent* pThis, IADLXGPU** ppGPU);
2863
+ adlx_bool (ADLX_STD_CALL *IsAntiLagChanged)(IADLX3DSettingsChangedEvent* pThis);
2864
+ adlx_bool (ADLX_STD_CALL *IsChillChanged)(IADLX3DSettingsChangedEvent* pThis);
2865
+ adlx_bool (ADLX_STD_CALL *IsBoostChanged)(IADLX3DSettingsChangedEvent* pThis);
2866
+ adlx_bool (ADLX_STD_CALL *IsImageSharpeningChanged)(IADLX3DSettingsChangedEvent* pThis);
2867
+ adlx_bool (ADLX_STD_CALL *IsEnhancedSyncChanged)(IADLX3DSettingsChangedEvent* pThis);
2868
+ adlx_bool (ADLX_STD_CALL *IsWaitForVerticalRefreshChanged)(IADLX3DSettingsChangedEvent* pThis);
2869
+ adlx_bool (ADLX_STD_CALL *IsFrameRateTargetControlChanged)(IADLX3DSettingsChangedEvent* pThis);
2870
+ adlx_bool (ADLX_STD_CALL *IsAntiAliasingChanged)(IADLX3DSettingsChangedEvent* pThis);
2871
+ adlx_bool (ADLX_STD_CALL *IsMorphologicalAntiAliasingChanged)(IADLX3DSettingsChangedEvent* pThis);
2872
+ adlx_bool (ADLX_STD_CALL *IsAnisotropicFilteringChanged)(IADLX3DSettingsChangedEvent* pThis);
2873
+ adlx_bool (ADLX_STD_CALL *IsTessellationModeChanged)(IADLX3DSettingsChangedEvent* pThis);
2874
+ adlx_bool (ADLX_STD_CALL *IsRadeonSuperResolutionChanged)(IADLX3DSettingsChangedEvent* pThis);
2875
+ adlx_bool (ADLX_STD_CALL *IsResetShaderCache)(IADLX3DSettingsChangedEvent* pThis);
2876
+
2877
+ } IADLX3DSettingsChangedEventVtbl;
2878
+
2879
+ struct IADLX3DSettingsChangedEvent { const IADLX3DSettingsChangedEventVtbl *pVtbl; };
2880
+ #endif //__cplusplus
2881
+ #pragma endregion IADLX3DSettingsChangedEvent
2882
+
2883
+ //GPU 3D setting changed listener interface. To be implemented in application and passed in IADLX3DSettingsChangedHandling::Add3DSettingEventListener()
2884
+ #pragma region IADLX3DSettingsChangedListener
2885
+ #if defined (__cplusplus)
2886
+ namespace adlx
2887
+ {
2888
+ class ADLX_NO_VTABLE IADLX3DSettingsChangedListener
2889
+ {
2890
+ public:
2891
+ /**
2892
+ *@page DOX_IADLX3DSettingsChangedListener_On3DSettingsChanged On3DSettingsChanged
2893
+ *@ENG_START_DOX @brief __On3DSettingsChanged__ is called by ADLX when 3D Graphics settings change. @ENG_END_DOX
2894
+ *
2895
+ *@syntax
2896
+ *@codeStart
2897
+ * adlx_bool On3DSettingsChanged (@ref DOX_IADLX3DSettingsChangedEvent* p3DSettingsChangedEvent)
2898
+ *@codeEnd
2899
+ *
2900
+ *@params
2901
+ *@paramrow{1.,[in] ,p3DSettingsChangedEvent,@ref DOX_IADLX3DSettingsChangedEvent* ,@ENG_START_DOX The pointer to a 3D Graphics settings change event. @ENG_END_DOX}
2902
+ *
2903
+ *
2904
+ *@retvalues
2905
+ *@ENG_START_DOX If the application requires ADLX to continue notifying the next listener, __true__ must be returned.<br>
2906
+ * If the application requires ADLX to stop notifying the next listener, __false__ must be returned.<br> @ENG_END_DOX
2907
+ *
2908
+ *@detaileddesc
2909
+ *@ENG_START_DOX Once the application registers to the notifications with @ref DOX_IADLX3DSettingsChangedHandling_Add3DSettingsEventListener, ADLX will call this method until the application unregisters from the notifications with @ref DOX_IADLX3DSettingsChangedHandling_Remove3DSettingsEventListener.
2910
+ * The method should return quickly to not block the execution path in ADLX. If the method requires a long processing of the event notification, the application must hold onto a reference to the 3D Graphics settings change event with @ref DOX_IADLXInterface_Acquire and make it available on an asynchronous thread and return immediately. When the asynchronous thread is done processing it must discard the 3D Graphics settings change event with @ref DOX_IADLXInterface_Release. @ENG_END_DOX
2911
+ *
2912
+ *
2913
+ *@copydoc IADLX3DSettingsChangedListener_REQ_TABLE
2914
+ *
2915
+ */
2916
+ virtual adlx_bool ADLX_STD_CALL On3DSettingsChanged (IADLX3DSettingsChangedEvent* p3DSettingsChangedEvent) = 0;
2917
+ }; //IADLX3DSettingsChangedListener
2918
+ } //namespace adlx
2919
+ #else //__cplusplus
2920
+ typedef struct IADLX3DSettingsChangedListener IADLX3DSettingsChangedListener;
2921
+
2922
+ typedef struct IADLX3DSettingsChangedListenerVtbl
2923
+ {
2924
+ // IADLX3DSettingsChangedListener interface
2925
+ adlx_bool (ADLX_STD_CALL *On3DSettingsChanged)(IADLX3DSettingsChangedListener* pThis, IADLX3DSettingsChangedEvent* p3DSettingsChangedEvent);
2926
+
2927
+ } IADLX3DSettingsChangedListenerVtbl;
2928
+
2929
+ struct IADLX3DSettingsChangedListener { const IADLX3DSettingsChangedListenerVtbl *pVtbl; };
2930
+ #endif //__cplusplus
2931
+ #pragma endregion IADLX3DSettingsChangedListener
2932
+
2933
+ //Interface that allows registration to 3D settings-related events
2934
+ #pragma region IADLX3DSettingsChangedHandling
2935
+ #if defined (__cplusplus)
2936
+ namespace adlx
2937
+ {
2938
+ class ADLX_NO_VTABLE IADLX3DSettingsChangedHandling : public IADLXInterface
2939
+ {
2940
+ public:
2941
+ ADLX_DECLARE_IID (L"IADLX3DSettingsChangedHandling")
2942
+
2943
+ /**
2944
+ *@page DOX_IADLX3DSettingsChangedHandling_Add3DSettingsEventListener Add3DSettingsEventListener
2945
+ *@ENG_START_DOX @brief Registers an event listener for notifications when 3D Graphics settings change. @ENG_END_DOX
2946
+ *
2947
+ *@syntax
2948
+ *@codeStart
2949
+ * @ref ADLX_RESULT Add3DSettingsEventListener (@ref DOX_IADLX3DSettingsChangedListener* p3DSettingsChangedListener)
2950
+ *@codeEnd
2951
+ *
2952
+ *@params
2953
+ *@paramrow{1.,[in] ,p3DSettingsChangedListener,@ref DOX_IADLX3DSettingsChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to register for receiving 3D Graphics settings change notifications. @ENG_END_DOX}
2954
+ *
2955
+ *
2956
+ *@retvalues
2957
+ *@ENG_START_DOX If the event listener is successfully registered, __ADLX_OK__ is returned.<br>
2958
+ * If the event listener is not successfully registered, an error code is returned.<br>
2959
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
2960
+ *
2961
+ *@detaileddesc
2962
+ *@ENG_START_DOX After the event listener is successfully registered, ADLX will call @ref DOX_IADLX3DSettingsChangedListener_On3DSettingsChanged method of the listener when 3D Graphics settings change.<br>
2963
+ * The event listener instance must exist until the application unregisters the event listener with @ref DOX_IADLX3DSettingsChangedHandling_Remove3DSettingsEventListener.<br> @ENG_END_DOX
2964
+ *
2965
+ *
2966
+ *@copydoc IADLX3DSettingsChangedHandling_REQ_TABLE
2967
+ *
2968
+ */
2969
+ virtual ADLX_RESULT ADLX_STD_CALL Add3DSettingsEventListener (IADLX3DSettingsChangedListener* p3DSettingsChangedListener) = 0;
2970
+
2971
+ /**
2972
+ *@page DOX_IADLX3DSettingsChangedHandling_Remove3DSettingsEventListener Remove3DSettingsEventListener
2973
+ *@ENG_START_DOX @brief Unregisters an event listener from 3D Graphics settings event list. @ENG_END_DOX
2974
+ *
2975
+ *@syntax
2976
+ *@codeStart
2977
+ * @ref ADLX_RESULT Remove3DSettingsEventListener (@ref DOX_IADLX3DSettingsChangedListener* p3DSettingsChangedListener)
2978
+ *@codeEnd
2979
+ *
2980
+ *@params
2981
+ *@paramrow{1.,[in] ,p3DSettingsChangedListener,@ref DOX_IADLX3DSettingsChangedListener* ,@ENG_START_DOX The pointer to the event listener interface to unregister from receiving 3D Graphics settings change notifications. @ENG_END_DOX}
2982
+ *
2983
+ *
2984
+ *@retvalues
2985
+ *@ENG_START_DOX If the event listener is successfully unregistered, __ADLX_OK__ is returned.<br>
2986
+ * If the event listener is not successfully unregistered, an error code is returned.<br>
2987
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
2988
+ *
2989
+ *@detaileddesc
2990
+ *@ENG_START_DOX After the event listener is successfully unregistered, ADLX will no longer call @ref DOX_IADLX3DSettingsChangedListener_On3DSettingsChanged method of the listener when 3D Graphics settings change.
2991
+ * The application can discard the event listener instance. @ENG_END_DOX
2992
+ *
2993
+ *
2994
+ *@copydoc IADLX3DSettingsChangedHandling_REQ_TABLE
2995
+ *
2996
+ */
2997
+ virtual ADLX_RESULT ADLX_STD_CALL Remove3DSettingsEventListener (IADLX3DSettingsChangedListener* p3DSettingsChangedListener) = 0;
2998
+
2999
+ }; //IADLX3DSettingsChangedHandling
3000
+ //----------------------------------------------------------------------------------------------
3001
+ typedef IADLXInterfacePtr_T<IADLX3DSettingsChangedHandling> IADLX3DSettingsChangedHandlingPtr;
3002
+ } //namespace adlx
3003
+ #else //__cplusplus
3004
+ ADLX_DECLARE_IID (IADLX3DSettingsChangedHandling, L"IADLX3DSettingsChangedHandling")
3005
+ typedef struct IADLX3DSettingsChangedHandling IADLX3DSettingsChangedHandling;
3006
+
3007
+ typedef struct IADLX3DSettingsChangedHandlingVtbl
3008
+ {
3009
+ //IADLXInterface
3010
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DSettingsChangedHandling* pThis);
3011
+ adlx_long (ADLX_STD_CALL *Release)(IADLX3DSettingsChangedHandling* pThis);
3012
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DSettingsChangedHandling* pThis, const wchar_t* interfaceId, void** ppInterface);
3013
+
3014
+ // IADLX3DSettingsChangedHandling interface
3015
+ ADLX_RESULT (ADLX_STD_CALL *Add3DSettingsEventListener)(IADLX3DSettingsChangedHandling* pThis, IADLX3DSettingsChangedListener* p3DSettingsChangedListener);
3016
+ ADLX_RESULT (ADLX_STD_CALL *Remove3DSettingsEventListener)(IADLX3DSettingsChangedHandling* pThis, IADLX3DSettingsChangedListener* p3DSettingsChangedListener);
3017
+
3018
+ } IADLX3DSettingsChangedHandlingVtbl;
3019
+
3020
+ struct IADLX3DSettingsChangedHandling { const IADLX3DSettingsChangedHandlingVtbl *pVtbl; };
3021
+ #endif //__cplusplus
3022
+ #pragma endregion IADLX3DSettingsChangedHandling
3023
+
3024
+ //3DSetting Services interface
3025
+ #pragma region IADLX3DSettingsServices
3026
+ #if defined (__cplusplus)
3027
+ namespace adlx
3028
+ {
3029
+ class ADLX_NO_VTABLE IADLXGPU;
3030
+
3031
+ class ADLX_NO_VTABLE IADLX3DSettingsServices : public IADLXInterface
3032
+ {
3033
+ public:
3034
+ ADLX_DECLARE_IID (L"IADLX3DSettingsServices")
3035
+
3036
+ /**
3037
+ *@page DOX_IADLX3DSettingsServices_GetAntiLag GetAntiLag
3038
+ *@ENG_START_DOX @brief Gets the reference-counted AMD Radeon™ Anti-Lag interface of a GPU. @ENG_END_DOX
3039
+ *
3040
+ *@syntax
3041
+ *@codeStart
3042
+ * @ref ADLX_RESULT GetAntiLag (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DAntiLag** pp3DAntiLag)
3043
+ *@codeEnd
3044
+ *
3045
+ *@params
3046
+ *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
3047
+ *@paramrow{2.,[out] ,pp3DAntiLag,@ref DOX_IADLX3DAntiLag** ,@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 __*pp3DAntiLag__ to __nullptr__. @ENG_END_DOX}
3048
+ *
3049
+ *@retvalues
3050
+ *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
3051
+ * If the interface is not successfully returned, an error code is returned.<br>
3052
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
3053
+ *
3054
+ *@detaileddesc
3055
+ *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
3056
+ *
3057
+ *@addinfo
3058
+ *@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
3059
+ *
3060
+ *@copydoc IADLX3DSettingsServices_REQ_TABLE
3061
+ *
3062
+ */
3063
+ virtual ADLX_RESULT ADLX_STD_CALL GetAntiLag (IADLXGPU* pGPU, IADLX3DAntiLag** pp3DAntiLag) = 0;
3064
+
3065
+ /**
3066
+ *@page DOX_IADLX3DSettingsServices_GetChill GetChill
3067
+ *@ENG_START_DOX @brief Gets the reference-counted AMD Radeon™ Chill interface of a GPU. @ENG_END_DOX
3068
+ *
3069
+ *@syntax
3070
+ *@codeStart
3071
+ * @ref ADLX_RESULT GetChill (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DChill** pp3DChill)
3072
+ *@codeEnd
3073
+ *
3074
+ *@params
3075
+ *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
3076
+ *@paramrow{2.,[out] ,pp3DChill,@ref DOX_IADLX3DChill** ,@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 __*pp3DChill__ to __nullptr__. @ENG_END_DOX}
3077
+ *
3078
+ *@retvalues
3079
+ *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
3080
+ * If the interface is not successfully returned, an error code is returned.<br>
3081
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
3082
+ *
3083
+ *@detaileddesc
3084
+ *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
3085
+ *
3086
+ *@addinfo
3087
+ *@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
3088
+ *
3089
+ *@copydoc IADLX3DSettingsServices_REQ_TABLE
3090
+ *
3091
+ */
3092
+ virtual ADLX_RESULT ADLX_STD_CALL GetChill (IADLXGPU* pGPU, IADLX3DChill** pp3DChill) = 0;
3093
+
3094
+ /**
3095
+ *@page DOX_IADLX3DSettingsServices_GetBoost GetBoost
3096
+ *@ENG_START_DOX @brief Gets the reference-counted AMD Radeon™ Boost interface of a GPU. @ENG_END_DOX
3097
+ *
3098
+ *@syntax
3099
+ *@codeStart
3100
+ * @ref ADLX_RESULT GetBoost (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DBoost** pp3DBoost)
3101
+ *@codeEnd
3102
+ *
3103
+ *@params
3104
+ *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
3105
+ *@paramrow{2.,[out] ,pp3DBoost,@ref DOX_IADLX3DBoost** ,@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 __*pp3DBoost__ to __nullptr__. @ENG_END_DOX}
3106
+ *
3107
+ *@retvalues
3108
+ *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
3109
+ * If the interface is not successfully returned, an error code is returned.<br>
3110
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
3111
+ *
3112
+ *@detaileddesc
3113
+ *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
3114
+ *
3115
+ *@addinfo
3116
+ *@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
3117
+ *
3118
+ *@copydoc IADLX3DSettingsServices_REQ_TABLE
3119
+ *
3120
+ */
3121
+ virtual ADLX_RESULT ADLX_STD_CALL GetBoost (IADLXGPU* pGPU, IADLX3DBoost** pp3DBoost) = 0;
3122
+
3123
+ /**
3124
+ *@page DOX_IADLX3DSettingsServices_GetImageSharpening GetImageSharpening
3125
+ *@ENG_START_DOX @brief Gets the reference-counted AMD Radeon Image Sharpening interface of a GPU. @ENG_END_DOX
3126
+ *
3127
+ *@syntax
3128
+ *@codeStart
3129
+ * @ref ADLX_RESULT GetImageSharpening (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DImageSharpening** pp3DImageSharpening)
3130
+ *@codeEnd
3131
+ *
3132
+ *@params
3133
+ *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
3134
+ *@paramrow{2.,[out] ,pp3DImageSharpening,@ref DOX_IADLX3DImageSharpening** ,@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 __*pp3DImageSharpening__ to __nullptr__. @ENG_END_DOX}
3135
+ *
3136
+ *@retvalues
3137
+ *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
3138
+ * If the interface is not successfully returned, an error code is returned.<br>
3139
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
3140
+ *
3141
+ *@detaileddesc
3142
+ *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
3143
+ *
3144
+ *@addinfo
3145
+ *@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
3146
+ *
3147
+ *@copydoc IADLX3DSettingsServices_REQ_TABLE
3148
+ *
3149
+ */
3150
+ virtual ADLX_RESULT ADLX_STD_CALL GetImageSharpening (IADLXGPU* pGPU, IADLX3DImageSharpening** pp3DImageSharpening) = 0;
3151
+
3152
+ /**
3153
+ *@page DOX_IADLX3DSettingsServices_GetEnhancedSync GetEnhancedSync
3154
+ *@ENG_START_DOX @brief Gets the reference-counted AMD Radeon™ Enhanced Sync interface of a GPU. @ENG_END_DOX
3155
+ *
3156
+ *@syntax
3157
+ *@codeStart
3158
+ * @ref ADLX_RESULT GetEnhancedSync (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DEnhancedSync** pp3DEnhancedSync)
3159
+ *@codeEnd
3160
+ *
3161
+ *@params
3162
+ *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
3163
+ *@paramrow{2.,[out] ,pp3DEnhancedSync,@ref DOX_IADLX3DEnhancedSync** ,@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 __*pp3DEnhancedSync__ to __nullptr__. @ENG_END_DOX}
3164
+ *
3165
+ *@retvalues
3166
+ *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
3167
+ * If the interface is not successfully returned, an error code is returned.<br>
3168
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
3169
+ *
3170
+ *@detaileddesc
3171
+ *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
3172
+ *
3173
+ *@addinfo
3174
+ *@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
3175
+ *
3176
+ *@copydoc IADLX3DSettingsServices_REQ_TABLE
3177
+ *
3178
+ */
3179
+ virtual ADLX_RESULT ADLX_STD_CALL GetEnhancedSync (IADLXGPU* pGPU, IADLX3DEnhancedSync** pp3DEnhancedSync) = 0;
3180
+
3181
+ /**
3182
+ *@page DOX_IADLX3DSettingsServices_GetWaitForVerticalRefresh GetWaitForVerticalRefresh
3183
+ *@ENG_START_DOX @brief Gets the reference-counted Wait for Vertical Refresh interface of a GPU. @ENG_END_DOX
3184
+ *
3185
+ *@syntax
3186
+ *@codeStart
3187
+ * @ref ADLX_RESULT GetWaitForVerticalRefresh (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DWaitForVerticalRefresh** pp3DWaitForVerticalRefresh)
3188
+ *@codeEnd
3189
+ *
3190
+ *@params
3191
+ *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
3192
+ *@paramrow{2.,[out] ,pp3DWaitForVerticalRefresh,@ref DOX_IADLX3DWaitForVerticalRefresh** ,@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 __*pp3DWaitForVerticalRefresh__ to __nullptr__. @ENG_END_DOX}
3193
+ *
3194
+ *@retvalues
3195
+ *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
3196
+ * If the interface is not successfully returned, an error code is returned.<br>
3197
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
3198
+ *
3199
+ *@detaileddesc
3200
+ *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
3201
+ *
3202
+ *@addinfo
3203
+ *@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
3204
+ *
3205
+ *@copydoc IADLX3DSettingsServices_REQ_TABLE
3206
+ *
3207
+ */
3208
+ virtual ADLX_RESULT ADLX_STD_CALL GetWaitForVerticalRefresh (IADLXGPU* pGPU, IADLX3DWaitForVerticalRefresh** pp3DWaitForVerticalRefresh) = 0;
3209
+
3210
+ /**
3211
+ *@page DOX_IADLX3DSettingsServices_GetFrameRateTargetControl GetFrameRateTargetControl
3212
+ *@ENG_START_DOX @brief Gets the reference-counted AMD Frame Rate Target Control interface of a GPU. @ENG_END_DOX
3213
+ *
3214
+ *@syntax
3215
+ *@codeStart
3216
+ * @ref ADLX_RESULT GetFrameRateTargetControl (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DFrameRateTargetControl** pp3DFrameRateTargetControl)
3217
+ *@codeEnd
3218
+ *
3219
+ *@params
3220
+ *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
3221
+ *@paramrow{2.,[out] ,pp3DFrameRateTargetControl,@ref DOX_IADLX3DFrameRateTargetControl** ,@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 __*pp3DFrameRateTargetControl__ to __nullptr__. @ENG_END_DOX}
3222
+ *
3223
+ *@retvalues
3224
+ *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
3225
+ * If the interface is not successfully returned, an error code is returned.<br>
3226
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
3227
+ *
3228
+ *@detaileddesc
3229
+ *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
3230
+ *
3231
+ *@addinfo
3232
+ *@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
3233
+ *
3234
+ *@copydoc IADLX3DSettingsServices_REQ_TABLE
3235
+ *
3236
+ */
3237
+ virtual ADLX_RESULT ADLX_STD_CALL GetFrameRateTargetControl (IADLXGPU* pGPU, IADLX3DFrameRateTargetControl** pp3DFrameRateTargetControl) = 0;
3238
+
3239
+ /**
3240
+ *@page DOX_IADLX3DSettingsServices_GetAntiAliasing GetAntiAliasing
3241
+ *@ENG_START_DOX @brief Gets the reference-counted Anti-Aliasing interface of a GPU. @ENG_END_DOX
3242
+ *
3243
+ *@syntax
3244
+ *@codeStart
3245
+ * @ref ADLX_RESULT GetAntiAliasing (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DAntiAliasing** pp3DAntiAliasing)
3246
+ *@codeEnd
3247
+ *
3248
+ *@params
3249
+ *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
3250
+ *@paramrow{2.,[out] ,pp3DAntiAliasing,@ref DOX_IADLX3DAntiAliasing** ,@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 __*pp3DAntiAliasing__ to __nullptr__. @ENG_END_DOX}
3251
+ *
3252
+ *@retvalues
3253
+ *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
3254
+ * If the interface is not successfully returned, an error code is returned.<br>
3255
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
3256
+ *
3257
+ *@detaileddesc
3258
+ *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
3259
+ *
3260
+ *@addinfo
3261
+ *@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
3262
+ *
3263
+ *@copydoc IADLX3DSettingsServices_REQ_TABLE
3264
+ *
3265
+ */
3266
+ virtual ADLX_RESULT ADLX_STD_CALL GetAntiAliasing (IADLXGPU* pGPU, IADLX3DAntiAliasing** pp3DAntiAliasing) = 0;
3267
+
3268
+ /**
3269
+ *@page DOX_IADLX3DSettingsServices_GetMorphologicalAntiAliasing GetMorphologicalAntiAliasing
3270
+ *@ENG_START_DOX @brief Gets the reference-counted Morphological Anti-Aliasing interface of a GPU. @ENG_END_DOX
3271
+ *
3272
+ *@syntax
3273
+ *@codeStart
3274
+ * @ref ADLX_RESULT GetMorphologicalAntiAliasing (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DMorphologicalAntiAliasing** pp3DMorphologicalAntiAliasing)
3275
+ *@codeEnd
3276
+ *
3277
+ *@params
3278
+ *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
3279
+ *@paramrow{2.,[out] ,pp3DMorphologicalAntiAliasing,@ref DOX_IADLX3DMorphologicalAntiAliasing** ,@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 __*pp3DMorphologicalAntiAliasing__ to __nullptr__. @ENG_END_DOX}
3280
+ *
3281
+ *@retvalues
3282
+ *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
3283
+ * If the interface is not successfully returned, an error code is returned.<br>
3284
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
3285
+ *
3286
+ *@detaileddesc
3287
+ *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
3288
+ *
3289
+ *@addinfo
3290
+ *@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
3291
+ *
3292
+ *@copydoc IADLX3DSettingsServices_REQ_TABLE
3293
+ *
3294
+ */
3295
+ virtual ADLX_RESULT ADLX_STD_CALL GetMorphologicalAntiAliasing (IADLXGPU* pGPU, IADLX3DMorphologicalAntiAliasing** pp3DMorphologicalAntiAliasing) = 0;
3296
+
3297
+ /**
3298
+ *@page DOX_IADLX3DSettingsServices_GetAnisotropicFiltering GetAnisotropicFiltering
3299
+ *@ENG_START_DOX @brief Gets the reference-counted Anisotropic Filtering interface of a GPU. @ENG_END_DOX
3300
+ *
3301
+ *@syntax
3302
+ *@codeStart
3303
+ * @ref ADLX_RESULT GetAnisotropicFiltering (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DAnisotropicFiltering** pp3DAnisotropicFiltering)
3304
+ *@codeEnd
3305
+ *
3306
+ *@params
3307
+ *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
3308
+ *@paramrow{2.,[out] ,pp3DAnisotropicFiltering,@ref DOX_IADLX3DAnisotropicFiltering** ,@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 __*pp3DAnisotropicFiltering__ to __nullptr__. @ENG_END_DOX}
3309
+ *
3310
+ *@retvalues
3311
+ *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
3312
+ * If the interface is not successfully returned, an error code is returned.<br>
3313
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
3314
+ *
3315
+ *@detaileddesc
3316
+ *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
3317
+ *
3318
+ *@addinfo
3319
+ *@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
3320
+ *
3321
+ *@copydoc IADLX3DSettingsServices_REQ_TABLE
3322
+ *
3323
+ */
3324
+ virtual ADLX_RESULT ADLX_STD_CALL GetAnisotropicFiltering (IADLXGPU* pGPU, IADLX3DAnisotropicFiltering** pp3DAnisotropicFiltering) = 0;
3325
+
3326
+ /**
3327
+ *@page DOX_IADLX3DSettingsServices_GetTessellation GetTessellation
3328
+ *@ENG_START_DOX @brief Gets the reference-counted Tessellation interface of a GPU. @ENG_END_DOX
3329
+ *
3330
+ *@syntax
3331
+ *@codeStart
3332
+ * @ref ADLX_RESULT GetTessellation (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DTessellation** pp3DTessellation)
3333
+ *@codeEnd
3334
+ *
3335
+ *@params
3336
+ *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
3337
+ *@paramrow{2.,[out] ,pp3DTessellation,@ref DOX_IADLX3DTessellation** ,@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 __*pp3DTessellation__ to __nullptr__. @ENG_END_DOX}
3338
+ *
3339
+ *@retvalues
3340
+ *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
3341
+ * If the interface is not successfully returned, an error code is returned.<br>
3342
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
3343
+ *
3344
+ *@detaileddesc
3345
+ *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
3346
+ *
3347
+ *@addinfo
3348
+ *@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
3349
+ *
3350
+ *@copydoc IADLX3DSettingsServices_REQ_TABLE
3351
+ *
3352
+ */
3353
+ virtual ADLX_RESULT ADLX_STD_CALL GetTessellation (IADLXGPU* pGPU, IADLX3DTessellation** pp3DTessellation) = 0;
3354
+
3355
+ /**
3356
+ *@page DOX_IADLX3DSettingsServices_GetRadeonSuperResolution GetRadeonSuperResolution
3357
+ *@ENG_START_DOX @brief Gets the reference-counted Radeon™ Super Resolution interface. @ENG_END_DOX
3358
+ *
3359
+ *@syntax
3360
+ *@codeStart
3361
+ * @ref ADLX_RESULT GetRadeonSuperResolution (@ref DOX_IADLX3DRadeonSuperResolution** pp3DRadeonSuperResolution)
3362
+ *@codeEnd
3363
+ *
3364
+ *@params
3365
+ *@paramrow{1.,[out] ,pp3DRadeonSuperResolution,@ref DOX_IADLX3DRadeonSuperResolution** ,@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 __*pp3DRadeonSuperResolution__ to __nullptr__. @ENG_END_DOX}
3366
+ *
3367
+ *@retvalues
3368
+ *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
3369
+ * If the interface is not successfully returned, an error code is returned.<br>
3370
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
3371
+ *
3372
+ *@detaileddesc
3373
+ *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
3374
+ *
3375
+ *@addinfo
3376
+ *@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
3377
+ *
3378
+ *@copydoc IADLX3DSettingsServices_REQ_TABLE
3379
+ *
3380
+ */
3381
+ virtual ADLX_RESULT ADLX_STD_CALL GetRadeonSuperResolution (IADLX3DRadeonSuperResolution** pp3DRadeonSuperResolution) = 0;
3382
+
3383
+ /**
3384
+ *@page DOX_IADLX3DSettingsServices_GetResetShaderCache GetResetShaderCache
3385
+ *@ENG_START_DOX @brief Gets the reference-counted Reset Shader Cache interface of a GPU. @ENG_END_DOX
3386
+ *
3387
+ *@syntax
3388
+ *@codeStart
3389
+ * @ref ADLX_RESULT GetResetShaderCache (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DResetShaderCache** pp3DResetShaderCache)
3390
+ *@codeEnd
3391
+ *
3392
+ *@params
3393
+ *@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
3394
+ *@paramrow{2.,[out] ,pp3DResetShaderCache,@ref DOX_IADLX3DResetShaderCache** ,@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 __*pp3DResetShaderCache__ to __nullptr__. @ENG_END_DOX}
3395
+ *
3396
+ *@retvalues
3397
+ *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
3398
+ * If the interface is not successfully returned, an error code is returned.<br>
3399
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
3400
+ *
3401
+ *@detaileddesc
3402
+ *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
3403
+ *
3404
+ *@addinfo
3405
+ *@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
3406
+ *
3407
+ *@copydoc IADLX3DSettingsServices_REQ_TABLE
3408
+ *
3409
+ */
3410
+ virtual ADLX_RESULT ADLX_STD_CALL GetResetShaderCache (IADLXGPU* pGPU, IADLX3DResetShaderCache** pp3DResetShaderCache) = 0;
3411
+
3412
+ /**
3413
+ *@page DOX_IADLX3DSettingsServices_Get3DSettingsChangedHandling Get3DSettingsChangedHandling
3414
+ *@ENG_START_DOX @brief Gets the reference-counted interface that allows registering and unregistering for notifications when 3D Graphics settings change. @ENG_END_DOX
3415
+ *
3416
+ *@syntax
3417
+ *@codeStart
3418
+ * @ref ADLX_RESULT Get3DSettingsChangedHandling (@ref DOX_IADLX3DSettingsChangedHandling** pp3DSettingsChangedHandling)
3419
+ *@codeEnd
3420
+ *
3421
+ *@params
3422
+ *@paramrow{1.,[out] ,pp3DSettingsChangedHandling,@ref DOX_IADLX3DSettingsChangedHandling** ,@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 __*pp3DSettingsChangedHandling__ to __nullptr__. @ENG_END_DOX}
3423
+ *
3424
+ *@retvalues
3425
+ *@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
3426
+ * If the interface is not successfully returned, an error code is returned.<br>
3427
+ * Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
3428
+ *
3429
+ *@detaileddesc
3430
+ *@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
3431
+ *
3432
+ *@addinfo
3433
+ *@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
3434
+ *
3435
+ *@copydoc IADLX3DSettingsServices_REQ_TABLE
3436
+ *
3437
+ */
3438
+ virtual ADLX_RESULT ADLX_STD_CALL Get3DSettingsChangedHandling (IADLX3DSettingsChangedHandling** pp3DSettingsChangedHandling) = 0;
3439
+
3440
+ }; //IADLX3DSettingsServices
3441
+ //----------------------------------------------------------------------------------------------
3442
+ typedef IADLXInterfacePtr_T<IADLX3DSettingsServices> IADLX3DSettingsServicesPtr;
3443
+ } //namespace adlx
3444
+ #else //__cplusplus
3445
+ ADLX_DECLARE_IID (IADLX3DSettingsServices, L"IADLX3DSettingsServices")
3446
+ typedef struct IADLX3DSettingsServices IADLX3DSettingsServices;
3447
+
3448
+ typedef struct IADLX3DSettingsServicesVtbl
3449
+ {
3450
+ //IADLXInterface
3451
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DSettingsServices* pThis);
3452
+ adlx_long (ADLX_STD_CALL *Release)(IADLX3DSettingsServices* pThis);
3453
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DSettingsServices* pThis, const wchar_t* interfaceId, void** ppInterface);
3454
+
3455
+ //IADLX3DSettingsServices
3456
+ ADLX_RESULT (ADLX_STD_CALL *GetAntiLag)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DAntiLag** pp3DAntiLag);
3457
+ ADLX_RESULT (ADLX_STD_CALL *GetChill)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DChill** pp3DChill);
3458
+ ADLX_RESULT (ADLX_STD_CALL *GetBoost)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DBoost** pp3DBoost);
3459
+ ADLX_RESULT (ADLX_STD_CALL *GetImageSharpening)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DImageSharpening** pp3DImageSharpening);
3460
+ ADLX_RESULT (ADLX_STD_CALL *GetEnhancedSync)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DEnhancedSync** pp3DEnhancedSync);
3461
+ ADLX_RESULT (ADLX_STD_CALL *GetWaitForVerticalRefresh)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DWaitForVerticalRefresh** pp3DWaitForVerticalRefresh);
3462
+ ADLX_RESULT (ADLX_STD_CALL *GetFrameRateTargetControl)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DFrameRateTargetControl** pp3DFrameRateTargetControl);
3463
+ ADLX_RESULT (ADLX_STD_CALL *GetAntiAliasing)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DAntiAliasing** pp3DAntiAliasing);
3464
+ ADLX_RESULT (ADLX_STD_CALL *GetMorphologicalAntiAliasing)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DMorphologicalAntiAliasing** pp3DMorphologicalAntiAliasing);
3465
+ ADLX_RESULT (ADLX_STD_CALL *GetAnisotropicFiltering)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DAnisotropicFiltering** pp3DAnisotropicFiltering);
3466
+ ADLX_RESULT (ADLX_STD_CALL *GetTessellation)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DTessellation** pp3DTessellation);
3467
+ ADLX_RESULT (ADLX_STD_CALL *GetRadeonSuperResolution) (IADLX3DSettingsServices* pThis, IADLX3DRadeonSuperResolution** pp3DRadeonSuperResolution);
3468
+ ADLX_RESULT (ADLX_STD_CALL *GetResetShaderCache)(IADLX3DSettingsServices* pThis, IADLXGPU* pGPU, IADLX3DResetShaderCache** pp3DResetShaderCache);
3469
+ ADLX_RESULT (ADLX_STD_CALL *Get3DSettingsChangedHandling)(IADLX3DSettingsServices* pThis, IADLX3DSettingsChangedHandling** pp3DSettingsChangedHandling);
3470
+ }IADLX3DSettingsServicesVtbl;
3471
+
3472
+ struct IADLX3DSettingsServices { const IADLX3DSettingsServicesVtbl *pVtbl; };
3473
+ #endif //__cplusplus
3474
+ #pragma endregion IADLX3DSettingsServices
3475
+
3476
+ #endif //ADLX_I3DSETTINGS_H