node-gpuinfo 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +674 -0
- package/README.md +336 -0
- package/binding.gyp +69 -0
- package/build/Release/gpu.exp +0 -0
- package/build/Release/gpu.lib +0 -0
- package/build/Release/gpu.node +0 -0
- package/build/Release/gpu.pdb +0 -0
- package/build/binding.sln +19 -0
- package/build/gpu.vcxproj +175 -0
- package/build/gpu.vcxproj.filters +169 -0
- package/example.js +69 -0
- package/index.js +33 -0
- package/package.json +68 -0
- package/src/binding.cpp +201 -0
- package/src/gpu_info.c +130 -0
- package/src/gpu_info.h +86 -0
- package/src/includes/adlx/ADLX.h +367 -0
- package/src/includes/adlx/ADLXDefines.h +1345 -0
- package/src/includes/adlx/ADLXHelper/ADLXHelper.c +175 -0
- package/src/includes/adlx/ADLXHelper/ADLXHelper.h +245 -0
- package/src/includes/adlx/ADLXHelper/WinAPIS.c +64 -0
- package/src/includes/adlx/ADLXStructures.h +206 -0
- package/src/includes/adlx/ADLXVersion.h +18 -0
- package/src/includes/adlx/I3DSettings.h +3476 -0
- package/src/includes/adlx/I3DSettings1.h +292 -0
- package/src/includes/adlx/I3DSettings2.h +317 -0
- package/src/includes/adlx/IApplications.h +397 -0
- package/src/includes/adlx/IChangedEvent.h +71 -0
- package/src/includes/adlx/ICollections.h +325 -0
- package/src/includes/adlx/IDesktops.h +918 -0
- package/src/includes/adlx/IDisplay3DLUT.h +663 -0
- package/src/includes/adlx/IDisplayGamma.h +683 -0
- package/src/includes/adlx/IDisplayGamut.h +760 -0
- package/src/includes/adlx/IDisplaySettings.h +3476 -0
- package/src/includes/adlx/IDisplays.h +2676 -0
- package/src/includes/adlx/IDisplays1.h +191 -0
- package/src/includes/adlx/IDisplays2.h +188 -0
- package/src/includes/adlx/IDisplays3.h +256 -0
- package/src/includes/adlx/IGPUAutoTuning.h +460 -0
- package/src/includes/adlx/IGPUManualFanTuning.h +1007 -0
- package/src/includes/adlx/IGPUManualGFXTuning.h +607 -0
- package/src/includes/adlx/IGPUManualPowerTuning.h +340 -0
- package/src/includes/adlx/IGPUManualVRAMTuning.h +576 -0
- package/src/includes/adlx/IGPUPresetTuning.h +469 -0
- package/src/includes/adlx/IGPUTuning.h +1239 -0
- package/src/includes/adlx/IGPUTuning1.h +197 -0
- package/src/includes/adlx/II2C.h +198 -0
- package/src/includes/adlx/ILog.h +72 -0
- package/src/includes/adlx/IMultiMedia.h +578 -0
- package/src/includes/adlx/IPerformanceMonitoring.h +2520 -0
- package/src/includes/adlx/IPerformanceMonitoring1.h +134 -0
- package/src/includes/adlx/IPerformanceMonitoring2.h +341 -0
- package/src/includes/adlx/IPerformanceMonitoring3.h +199 -0
- package/src/includes/adlx/IPowerTuning.h +473 -0
- package/src/includes/adlx/IPowerTuning1.h +515 -0
- package/src/includes/adlx/ISmartAccessMemory.h +114 -0
- package/src/includes/adlx/ISystem.h +1557 -0
- package/src/includes/adlx/ISystem1.h +237 -0
- package/src/includes/adlx/ISystem2.h +643 -0
- package/src/linux/amd_linux.c +269 -0
- package/src/linux/intel_linux.c +20 -0
- package/src/linux/nvidia_linux.c +257 -0
- package/src/macos/amd_mac.c +131 -0
- package/src/macos/intel_mac.c +131 -0
- package/src/macos/nvidia_mac.c +21 -0
- package/src/vendor/amd.c +37 -0
- package/src/vendor/intel.c +37 -0
- package/src/vendor/nvidia.c +37 -0
- package/src/windows/amd_windows.c +468 -0
- package/src/windows/intel_windows.c +157 -0
- package/src/windows/nvidia_windows.c +252 -0
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright (c) 2023 - 2025 Advanced Micro Devices, Inc. All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
//-------------------------------------------------------------------------------------------------
|
|
5
|
+
|
|
6
|
+
#ifndef ADLX_I3DSETTINGS1_H
|
|
7
|
+
#define ADLX_I3DSETTINGS1_H
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "ADLXStructures.h"
|
|
11
|
+
#include "I3DSettings.h"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
//-------------------------------------------------------------------------------------------------
|
|
15
|
+
//I3DSetting.h - Interfaces for ADLX GPU 3DSetting functionality
|
|
16
|
+
|
|
17
|
+
//3DAMDFluidMotionFrames interface
|
|
18
|
+
#pragma region IADLX3DAMDFluidMotionFrames
|
|
19
|
+
#if defined (__cplusplus)
|
|
20
|
+
namespace adlx
|
|
21
|
+
{
|
|
22
|
+
class ADLX_NO_VTABLE IADLX3DAMDFluidMotionFrames : public IADLXInterface
|
|
23
|
+
{
|
|
24
|
+
public:
|
|
25
|
+
ADLX_DECLARE_IID(L"IADLX3DAMDFluidMotionFrames")
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
*@page DOX_IADLX3DAMDFluidMotionFrames_IsSupported IsSupported
|
|
29
|
+
*@ENG_START_DOX @brief Checks if AMD Fluid Motion Frames is supported. @ENG_END_DOX
|
|
30
|
+
*
|
|
31
|
+
*@syntax
|
|
32
|
+
*@codeStart
|
|
33
|
+
* @ref ADLX_RESULT IsSupported (adlx_bool* supported)
|
|
34
|
+
*@codeEnd
|
|
35
|
+
*
|
|
36
|
+
*@params
|
|
37
|
+
* @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Fluid Motion Frames is returned. The variable is __true__ if AMD Fluid Motion Frames is supported. The variable is __false__ if AMD Fluid Motion Frames is not supported. @ENG_END_DOX}
|
|
38
|
+
*
|
|
39
|
+
*@retvalues
|
|
40
|
+
*@ENG_START_DOX If the state of AMD Fluid Motion Frames is successfully returned, __ADLX_OK__ is returned.<br>
|
|
41
|
+
* If the state of AMD Fluid Motion Frames is not successfully returned, an error code is returned.<br>
|
|
42
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
43
|
+
*
|
|
44
|
+
* @addinfo
|
|
45
|
+
* @ENG_START_DOX
|
|
46
|
+
* AMD Fluid Motion Frames is a frame generating feature to achieve higher in-game frame rates. <br>
|
|
47
|
+
*
|
|
48
|
+
* @ENG_END_DOX
|
|
49
|
+
*
|
|
50
|
+
*@copydoc IADLX3DAMDFluidMotionFrames_REQ_TABLE
|
|
51
|
+
*
|
|
52
|
+
*/
|
|
53
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupported(adlx_bool* supported) = 0;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
*@page DOX_IADLX3DAMDFluidMotionFrames_IsEnabled IsEnabled
|
|
57
|
+
*@ENG_START_DOX @brief Checks if AMD Fluid Motion Frames is enabled. @ENG_END_DOX
|
|
58
|
+
*
|
|
59
|
+
*@syntax
|
|
60
|
+
*@codeStart
|
|
61
|
+
* @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
|
|
62
|
+
*@codeEnd
|
|
63
|
+
*
|
|
64
|
+
*@params
|
|
65
|
+
* @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of AMD Fluid Motion Frames is returned. The variable is __true__ if AMD Fluid Motion Frames is enabled. The variable is __false__ if AMD Fluid Motion Frames is not enabled. @ENG_END_DOX}
|
|
66
|
+
*
|
|
67
|
+
*@retvalues
|
|
68
|
+
*@ENG_START_DOX If the state of AMD Fluid Motion Frames is successfully returned, __ADLX_OK__ is returned.<br>
|
|
69
|
+
* If the state of AMD Fluid Motion Frames is not successfully returned, an error code is returned.<br>
|
|
70
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
71
|
+
*
|
|
72
|
+
* @addinfo
|
|
73
|
+
* @ENG_START_DOX
|
|
74
|
+
* AMD Fluid Motion Frames is a frame generating feature to achieve higher in-game frame rates. <br>
|
|
75
|
+
* @ENG_END_DOX
|
|
76
|
+
*
|
|
77
|
+
*@copydoc IADLX3DAMDFluidMotionFrames_REQ_TABLE
|
|
78
|
+
*
|
|
79
|
+
*/
|
|
80
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsEnabled(adlx_bool* enabled) = 0;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
*@page DOX_IADLX3DAMDFluidMotionFrames_SetEnabled SetEnabled
|
|
84
|
+
*@ENG_START_DOX @brief Sets the activation status of AMD Fluid Motion Frames. @ENG_END_DOX
|
|
85
|
+
*
|
|
86
|
+
*@syntax
|
|
87
|
+
*@codeStart
|
|
88
|
+
* @ref ADLX_RESULT SetEnabled (adlx_bool enable)
|
|
89
|
+
*@codeEnd
|
|
90
|
+
*
|
|
91
|
+
*@params
|
|
92
|
+
* @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new AMD Fluid Motion Frames state. Set __true__ to enable AMD Fluid Motion Frames. Set __false__ to disable AMD Fluid Motion Frames. @ENG_END_DOX}
|
|
93
|
+
*
|
|
94
|
+
*@retvalues
|
|
95
|
+
*@ENG_START_DOX If the state of AMD Fluid Motion Frames is successfully set, __ADLX_OK__ is returned.<br>
|
|
96
|
+
* If the state of AMD Fluid Motion Frames is not successfully set, an error code is returned.<br>
|
|
97
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
98
|
+
*
|
|
99
|
+
* @addinfo
|
|
100
|
+
* @ENG_START_DOX
|
|
101
|
+
* AMD Fluid Motion Frames is a frame generating feature to achieve higher in-game frame rates. <br>
|
|
102
|
+
* @ENG_END_DOX
|
|
103
|
+
*
|
|
104
|
+
*@copydoc IADLX3DAMDFluidMotionFrames_REQ_TABLE
|
|
105
|
+
*
|
|
106
|
+
*/
|
|
107
|
+
virtual ADLX_RESULT ADLX_STD_CALL SetEnabled(adlx_bool enable) = 0;
|
|
108
|
+
}; //IADLX3DAMDFluidMotionFrames
|
|
109
|
+
//----------------------------------------------------------------------------------------------
|
|
110
|
+
typedef IADLXInterfacePtr_T<IADLX3DAMDFluidMotionFrames> IADLX3DAMDFluidMotionFramesPtr;
|
|
111
|
+
} //namespace adlx
|
|
112
|
+
#else //__cplusplus
|
|
113
|
+
ADLX_DECLARE_IID(IADLX3DAMDFluidMotionFrames, L"IADLX3DAMDFluidMotionFrames")
|
|
114
|
+
|
|
115
|
+
typedef struct IADLX3DAMDFluidMotionFrames IADLX3DAMDFluidMotionFrames;
|
|
116
|
+
|
|
117
|
+
typedef struct IADLX3DAMDFluidMotionFramesVtbl
|
|
118
|
+
{
|
|
119
|
+
//IADLXInterface
|
|
120
|
+
adlx_long(ADLX_STD_CALL* Acquire)(IADLX3DAMDFluidMotionFrames* pThis);
|
|
121
|
+
adlx_long(ADLX_STD_CALL* Release)(IADLX3DAMDFluidMotionFrames* pThis);
|
|
122
|
+
ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLX3DAMDFluidMotionFrames* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
123
|
+
|
|
124
|
+
//IADLX3DAMDFluidMotionFrames
|
|
125
|
+
ADLX_RESULT(ADLX_STD_CALL* IsSupported) (IADLX3DAMDFluidMotionFrames* pThis, adlx_bool* supported);
|
|
126
|
+
ADLX_RESULT(ADLX_STD_CALL* IsEnabled) (IADLX3DAMDFluidMotionFrames* pThis, adlx_bool* enabled);
|
|
127
|
+
ADLX_RESULT(ADLX_STD_CALL* SetEnabled) (IADLX3DAMDFluidMotionFrames* pThis, adlx_bool enable);
|
|
128
|
+
}IADLX3DAMDFluidMotionFramesVtbl;
|
|
129
|
+
|
|
130
|
+
struct IADLX3DAMDFluidMotionFrames { const IADLX3DAMDFluidMotionFramesVtbl* pVtbl; };
|
|
131
|
+
|
|
132
|
+
#endif //__cplusplus
|
|
133
|
+
#pragma endregion IADLX3DAMDFluidMotionFrames
|
|
134
|
+
|
|
135
|
+
//3DSetting Services interface
|
|
136
|
+
#pragma region IADLX3DSettingsServices1
|
|
137
|
+
#if defined (__cplusplus)
|
|
138
|
+
namespace adlx
|
|
139
|
+
{
|
|
140
|
+
class ADLX_NO_VTABLE IADLX3DAMDFluidMotionFrames;
|
|
141
|
+
class ADLX_NO_VTABLE IADLX3DSettingsServices1 : public IADLX3DSettingsServices
|
|
142
|
+
{
|
|
143
|
+
public:
|
|
144
|
+
ADLX_DECLARE_IID(L"IADLX3DSettingsServices1")
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
*@page DOX_IADLX3DSettingsServices1_GetAMDFluidMotionFrames GetAMDFluidMotionFrames
|
|
148
|
+
*@ENG_START_DOX @brief Gets the reference-counted AMD Fluid Motion Frames interface. @ENG_END_DOX
|
|
149
|
+
*
|
|
150
|
+
*@syntax
|
|
151
|
+
*@codeStart
|
|
152
|
+
* @ref ADLX_RESULT GetAMDFluidMotionFrames (@ref DOX_IADLX3DAMDFluidMotionFrames** pp3DAMDFluidMotionFrames)
|
|
153
|
+
*@codeEnd
|
|
154
|
+
*
|
|
155
|
+
*@params
|
|
156
|
+
*@paramrow{1.,[out] ,pp3DAMDFluidMotionFrames,@ref DOX_IADLX3DAMDFluidMotionFrames** ,@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 __*pp3DAMDFluidMotionFrames__ to __nullptr__. @ENG_END_DOX}
|
|
157
|
+
*
|
|
158
|
+
*@retvalues
|
|
159
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
|
|
160
|
+
* If the interface is not successfully returned, an error code is returned.<br>
|
|
161
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
162
|
+
*
|
|
163
|
+
*@detaileddesc
|
|
164
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
|
|
165
|
+
*
|
|
166
|
+
*@addinfo
|
|
167
|
+
*@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
|
|
168
|
+
*
|
|
169
|
+
*@copydoc IADLX3DSettingsServices1_REQ_TABLE
|
|
170
|
+
*
|
|
171
|
+
*/
|
|
172
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetAMDFluidMotionFrames(IADLX3DAMDFluidMotionFrames** pp3DAMDFluidMotionFrames) = 0;
|
|
173
|
+
|
|
174
|
+
}; //IADLX3DSettingsServices1
|
|
175
|
+
//----------------------------------------------------------------------------------------------
|
|
176
|
+
typedef IADLXInterfacePtr_T<IADLX3DSettingsServices1> IADLX3DSettingsServices1Ptr;
|
|
177
|
+
} //namespace adlx
|
|
178
|
+
#else //__cplusplus
|
|
179
|
+
ADLX_DECLARE_IID (IADLX3DSettingsServices1, L"IADLX3DSettingsServices1")
|
|
180
|
+
typedef struct IADLX3DSettingsServices1 IADLX3DSettingsServices1;
|
|
181
|
+
|
|
182
|
+
typedef struct IADLX3DSettingsServices1Vtbl
|
|
183
|
+
{
|
|
184
|
+
//IADLXInterface
|
|
185
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DSettingsServices1* pThis);
|
|
186
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLX3DSettingsServices1* pThis);
|
|
187
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DSettingsServices1* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
188
|
+
|
|
189
|
+
//IADLX3DSettingsServices
|
|
190
|
+
ADLX_RESULT (ADLX_STD_CALL *GetAntiLag)(IADLX3DSettingsServices1* pThis, IADLXGPU* pGPU, IADLX3DAntiLag** pp3DAntiLag);
|
|
191
|
+
ADLX_RESULT (ADLX_STD_CALL *GetChill)(IADLX3DSettingsServices1* pThis, IADLXGPU* pGPU, IADLX3DChill** pp3DChill);
|
|
192
|
+
ADLX_RESULT (ADLX_STD_CALL *GetBoost)(IADLX3DSettingsServices1* pThis, IADLXGPU* pGPU, IADLX3DBoost** pp3DBoost);
|
|
193
|
+
ADLX_RESULT (ADLX_STD_CALL *GetImageSharpening)(IADLX3DSettingsServices1* pThis, IADLXGPU* pGPU, IADLX3DImageSharpening** pp3DImageSharpening);
|
|
194
|
+
ADLX_RESULT (ADLX_STD_CALL *GetEnhancedSync)(IADLX3DSettingsServices1* pThis, IADLXGPU* pGPU, IADLX3DEnhancedSync** pp3DEnhancedSync);
|
|
195
|
+
ADLX_RESULT (ADLX_STD_CALL *GetWaitForVerticalRefresh)(IADLX3DSettingsServices1* pThis, IADLXGPU* pGPU, IADLX3DWaitForVerticalRefresh** pp3DWaitForVerticalRefresh);
|
|
196
|
+
ADLX_RESULT (ADLX_STD_CALL *GetFrameRateTargetControl)(IADLX3DSettingsServices1* pThis, IADLXGPU* pGPU, IADLX3DFrameRateTargetControl** pp3DFrameRateTargetControl);
|
|
197
|
+
ADLX_RESULT (ADLX_STD_CALL *GetAntiAliasing)(IADLX3DSettingsServices1* pThis, IADLXGPU* pGPU, IADLX3DAntiAliasing** pp3DAntiAliasing);
|
|
198
|
+
ADLX_RESULT (ADLX_STD_CALL *GetMorphologicalAntiAliasing)(IADLX3DSettingsServices1* pThis, IADLXGPU* pGPU, IADLX3DMorphologicalAntiAliasing** pp3DMorphologicalAntiAliasing);
|
|
199
|
+
ADLX_RESULT (ADLX_STD_CALL *GetAnisotropicFiltering)(IADLX3DSettingsServices1* pThis, IADLXGPU* pGPU, IADLX3DAnisotropicFiltering** pp3DAnisotropicFiltering);
|
|
200
|
+
ADLX_RESULT (ADLX_STD_CALL *GetTessellation)(IADLX3DSettingsServices1* pThis, IADLXGPU* pGPU, IADLX3DTessellation** pp3DTessellation);
|
|
201
|
+
ADLX_RESULT (ADLX_STD_CALL *GetRadeonSuperResolution) (IADLX3DSettingsServices1* pThis, IADLX3DRadeonSuperResolution** pp3DRadeonSuperResolution);
|
|
202
|
+
ADLX_RESULT (ADLX_STD_CALL *GetResetShaderCache)(IADLX3DSettingsServices1* pThis, IADLXGPU* pGPU, IADLX3DResetShaderCache** pp3DResetShaderCache);
|
|
203
|
+
ADLX_RESULT (ADLX_STD_CALL *Get3DSettingsChangedHandling)(IADLX3DSettingsServices1* pThis, IADLX3DSettingsChangedHandling** pp3DSettingsChangedHandling);
|
|
204
|
+
ADLX_RESULT(ADLX_STD_CALL* GetAMDFluidMotionFrames) (IADLX3DSettingsServices1* pThis, IADLX3DAMDFluidMotionFrames** pp3DGetAMDFluidMotionFrames);
|
|
205
|
+
}IADLX3DSettingsServices1Vtbl;
|
|
206
|
+
|
|
207
|
+
struct IADLX3DSettingsServices1 { const IADLX3DSettingsServices1Vtbl *pVtbl; };
|
|
208
|
+
#endif //__cplusplus
|
|
209
|
+
#pragma endregion IADLX3DSettingsServices1
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
//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()
|
|
213
|
+
#pragma region IADLX3DSettingsChangedEvent1
|
|
214
|
+
#if defined (__cplusplus)
|
|
215
|
+
namespace adlx
|
|
216
|
+
{
|
|
217
|
+
class ADLX_NO_VTABLE IADLXGPU;
|
|
218
|
+
class ADLX_NO_VTABLE IADLX3DSettingsChangedEvent1 : public IADLX3DSettingsChangedEvent
|
|
219
|
+
{
|
|
220
|
+
public:
|
|
221
|
+
ADLX_DECLARE_IID(L"IADLX3DSettingsChangedEvent1")
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
*@page DOX_IADLX3DSettingsChangedEvent1_IsAMDFluidMotionFramesChanged IsAMDFluidMotionFramesChanged
|
|
225
|
+
*@ENG_START_DOX @brief Checks for changes to the AMD Fluid Motion Frames settings. @ENG_END_DOX
|
|
226
|
+
*
|
|
227
|
+
*@syntax
|
|
228
|
+
*@codeStart
|
|
229
|
+
* adlx_bool IsAMDFluidMotionFramesChanged ()
|
|
230
|
+
*@codeEnd
|
|
231
|
+
*
|
|
232
|
+
*@params
|
|
233
|
+
*N/A
|
|
234
|
+
*
|
|
235
|
+
*@retvalues
|
|
236
|
+
*@ENG_START_DOX If there are any changes to the AMD Fluid Motion Frames settings, __true__ is returned.<br>
|
|
237
|
+
* If there are no changes to the AMD Fluid Motion Frames settings, __false__ is returned.<br> @ENG_END_DOX
|
|
238
|
+
*
|
|
239
|
+
*
|
|
240
|
+
*@addinfo
|
|
241
|
+
*@ENG_START_DOX
|
|
242
|
+
* __Note:__ AMD Fluid Motion Frames settings are global for all the supported GPUs. For this event notification, @ref DOX_IADLX3DSettingsChangedEvent_GetGPU returns __nullpr__.
|
|
243
|
+
* @ENG_END_DOX
|
|
244
|
+
*
|
|
245
|
+
*@copydoc IADLX3DSettingsChangedEvent1_REQ_TABLE
|
|
246
|
+
*
|
|
247
|
+
*/
|
|
248
|
+
virtual adlx_bool ADLX_STD_CALL IsAMDFluidMotionFramesChanged() = 0;
|
|
249
|
+
|
|
250
|
+
}; //IADLX3DSettingsChangedEvent
|
|
251
|
+
//----------------------------------------------------------------------------------------------
|
|
252
|
+
typedef IADLXInterfacePtr_T<IADLX3DSettingsChangedEvent1> IADLX3DSettingsChangedEvent1Ptr;
|
|
253
|
+
} //namespace adlx
|
|
254
|
+
#else //__cplusplus
|
|
255
|
+
ADLX_DECLARE_IID(IADLX3DSettingsChangedEvent1, L"IADLX3DSettingsChangedEvent1")
|
|
256
|
+
typedef struct IADLX3DSettingsChangedEvent1 IADLX3DSettingsChangedEvent1;
|
|
257
|
+
|
|
258
|
+
typedef struct IADLX3DSettingsChangedEvent1Vtbl
|
|
259
|
+
{
|
|
260
|
+
//IADLXInterface
|
|
261
|
+
adlx_long(ADLX_STD_CALL* Acquire)(IADLX3DSettingsChangedEvent1* pThis);
|
|
262
|
+
adlx_long(ADLX_STD_CALL* Release)(IADLX3DSettingsChangedEvent1* pThis);
|
|
263
|
+
ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLX3DSettingsChangedEvent1* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
264
|
+
|
|
265
|
+
//IADLXChangedEvent
|
|
266
|
+
ADLX_SYNC_ORIGIN(ADLX_STD_CALL* GetOrigin)(IADLX3DSettingsChangedEvent1* pThis);
|
|
267
|
+
|
|
268
|
+
// IADLX3DSettingsChangedEvent interface
|
|
269
|
+
ADLX_RESULT(ADLX_STD_CALL* GetGPU)(IADLX3DSettingsChangedEvent1* pThis, IADLXGPU** ppGPU);
|
|
270
|
+
adlx_bool(ADLX_STD_CALL* IsAntiLagChanged)(IADLX3DSettingsChangedEvent1* pThis);
|
|
271
|
+
adlx_bool(ADLX_STD_CALL* IsChillChanged)(IADLX3DSettingsChangedEvent1* pThis);
|
|
272
|
+
adlx_bool(ADLX_STD_CALL* IsBoostChanged)(IADLX3DSettingsChangedEvent1* pThis);
|
|
273
|
+
adlx_bool(ADLX_STD_CALL* IsImageSharpeningChanged)(IADLX3DSettingsChangedEvent1* pThis);
|
|
274
|
+
adlx_bool(ADLX_STD_CALL* IsEnhancedSyncChanged)(IADLX3DSettingsChangedEvent1* pThis);
|
|
275
|
+
adlx_bool(ADLX_STD_CALL* IsWaitForVerticalRefreshChanged)(IADLX3DSettingsChangedEvent1* pThis);
|
|
276
|
+
adlx_bool(ADLX_STD_CALL* IsFrameRateTargetControlChanged)(IADLX3DSettingsChangedEvent1* pThis);
|
|
277
|
+
adlx_bool(ADLX_STD_CALL* IsAntiAliasingChanged)(IADLX3DSettingsChangedEvent1* pThis);
|
|
278
|
+
adlx_bool(ADLX_STD_CALL* IsMorphologicalAntiAliasingChanged)(IADLX3DSettingsChangedEvent1* pThis);
|
|
279
|
+
adlx_bool(ADLX_STD_CALL* IsAnisotropicFilteringChanged)(IADLX3DSettingsChangedEvent1* pThis);
|
|
280
|
+
adlx_bool(ADLX_STD_CALL* IsTessellationModeChanged)(IADLX3DSettingsChangedEvent1* pThis);
|
|
281
|
+
adlx_bool(ADLX_STD_CALL* IsRadeonSuperResolutionChanged)(IADLX3DSettingsChangedEvent1* pThis);
|
|
282
|
+
adlx_bool(ADLX_STD_CALL* IsResetShaderCache)(IADLX3DSettingsChangedEvent1* pThis);
|
|
283
|
+
adlx_bool(ADLX_STD_CALL* IsAMDFluidMotionFramesChanged)(IADLX3DSettingsChangedEvent1* pThis);
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
} IADLX3DSettingsChangedEvent1Vtbl;
|
|
287
|
+
|
|
288
|
+
struct IADLX3DSettingsChangedEvent1 { const IADLX3DSettingsChangedEvent1Vtbl* pVtbl; };
|
|
289
|
+
#endif //__cplusplus
|
|
290
|
+
#pragma endregion IADLX3DSettingsChangedEvent1
|
|
291
|
+
|
|
292
|
+
#endif //ADLX_I3DSETTINGS1_H
|
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright (c) 2023 - 2025 Advanced Micro Devices, Inc. All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
//-------------------------------------------------------------------------------------------------
|
|
5
|
+
|
|
6
|
+
#ifndef ADLX_I3DSETTINGS2_H
|
|
7
|
+
#define ADLX_I3DSETTINGS2_H
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "ADLXStructures.h"
|
|
11
|
+
#include "I3DSettings1.h"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
//-------------------------------------------------------------------------------------------------
|
|
15
|
+
//I3DSetting.2h - Interfaces for ADLX GPU 3DSetting functionality
|
|
16
|
+
|
|
17
|
+
//3DSharpenDesktop interface
|
|
18
|
+
#pragma region IADLX3DImageSharpenDesktop
|
|
19
|
+
#if defined (__cplusplus)
|
|
20
|
+
namespace adlx
|
|
21
|
+
{
|
|
22
|
+
class ADLX_NO_VTABLE IADLX3DImageSharpenDesktop : public IADLXInterface
|
|
23
|
+
{
|
|
24
|
+
public:
|
|
25
|
+
ADLX_DECLARE_IID(L"IADLX3DImageSharpenDesktop")
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
*@page DOX_IADLX3DImageSharpenDesktop_IsSupported IsSupported
|
|
29
|
+
*@ENG_START_DOX @brief Checks if Sharpen Desktop is supported on a GPU. @ENG_END_DOX
|
|
30
|
+
*
|
|
31
|
+
*@syntax
|
|
32
|
+
*@codeStart
|
|
33
|
+
* @ref ADLX_RESULT IsSupported (adlx_bool* supported)
|
|
34
|
+
*@codeEnd
|
|
35
|
+
*
|
|
36
|
+
*@params
|
|
37
|
+
* @paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Sharpen Desktop is returned. The variable is __true__ if Sharpen Desktop is supported. The variable is __false__ if Sharpen Desktop is not supported. @ENG_END_DOX}
|
|
38
|
+
*
|
|
39
|
+
*@retvalues
|
|
40
|
+
*@ENG_START_DOX If the state of Sharpen Desktop is successfully returned, __ADLX_OK__ is returned.<br>
|
|
41
|
+
* If the state of Sharpen Desktop is not successfully returned, an error code is returned.<br>
|
|
42
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
43
|
+
*
|
|
44
|
+
* @addinfo
|
|
45
|
+
* @ENG_START_DOX
|
|
46
|
+
* Sharpen Desktop restores clarity softened by other effects to all the desktop visuals, for both windowed applications and for applications that run in fullscreen exclusive mode. <br>
|
|
47
|
+
* @ENG_END_DOX
|
|
48
|
+
*
|
|
49
|
+
*
|
|
50
|
+
*@copydoc IADLX3DImageSharpenDesktop_REQ_TABLE
|
|
51
|
+
*
|
|
52
|
+
*/
|
|
53
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsSupported(adlx_bool* supported) = 0;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
*@page DOX_IADLX3DImageSharpenDesktop_IsEnabled IsEnabled
|
|
57
|
+
*@ENG_START_DOX @brief Checks if Sharpen Desktop is enabled on a GPU. @ENG_END_DOX
|
|
58
|
+
*
|
|
59
|
+
*@syntax
|
|
60
|
+
*@codeStart
|
|
61
|
+
* @ref ADLX_RESULT IsEnabled (adlx_bool* enabled)
|
|
62
|
+
*@codeEnd
|
|
63
|
+
*
|
|
64
|
+
*@params
|
|
65
|
+
* @paramrow{1.,[out],enabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of Sharpen Desktop is returned. The variable is __true__ if Sharpen Desktop is enabled. The variable is __false__ if Sharpen Desktop is not enabled. @ENG_END_DOX}
|
|
66
|
+
*
|
|
67
|
+
*@retvalues
|
|
68
|
+
*@ENG_START_DOX If the state of Sharpen Desktop is successfully returned, __ADLX_OK__ is returned.<br>
|
|
69
|
+
* If the state of Sharpen Desktop is not successfully returned, an error code is returned.<br>
|
|
70
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
71
|
+
*
|
|
72
|
+
* @addinfo
|
|
73
|
+
* @ENG_START_DOX
|
|
74
|
+
* Sharpen Desktop restores clarity softened by other effects to all the desktop visuals, for both windowed applications and for applications that run in fullscreen exclusive mode. <br>
|
|
75
|
+
* @ENG_END_DOX
|
|
76
|
+
*
|
|
77
|
+
* @depifc
|
|
78
|
+
*
|
|
79
|
+
* Sharpen Desktop requires @ref DOX_IADLX3DImageSharpening "AMD Radeon™ Image Sharpening".<br>
|
|
80
|
+
|
|
81
|
+
* When AMD Radeon Image sharpening is enabled and Sharpen Desktop is enabled, the sharpening is applied for both windowed applications and for applications that run in fullscreen exclusive mode.<br>
|
|
82
|
+
|
|
83
|
+
* When AMD Radeon Image sharpening is enabled and Sharpen Desktop is disabled, the sharpening is only applied to applications that run in fullscreen exclusive mode.<br>
|
|
84
|
+
|
|
85
|
+
* When AMD Radeon™ Image sharpening is disabled and Sharpen Desktop is enabled, Sharpen Desktop remains in enabled state, but the value is ignored.<br>
|
|
86
|
+
|
|
87
|
+
* @ENG_END_DOX
|
|
88
|
+
*
|
|
89
|
+
*@copydoc IADLX3DImageSharpenDesktop_REQ_TABLE
|
|
90
|
+
*
|
|
91
|
+
*/
|
|
92
|
+
virtual ADLX_RESULT ADLX_STD_CALL IsEnabled(adlx_bool* enabled) = 0;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
*@page DOX_IADLX3DImageSharpenDesktop_SetEnabled SetEnabled
|
|
96
|
+
*@ENG_START_DOX @brief Sets Sharpen Desktop to enabled or disabled on a GPU. @ENG_END_DOX
|
|
97
|
+
*
|
|
98
|
+
*@syntax
|
|
99
|
+
*@codeStart
|
|
100
|
+
* @ref ADLX_RESULT SetEnabled (adlx_bool enable)
|
|
101
|
+
*@codeEnd
|
|
102
|
+
*
|
|
103
|
+
*@params
|
|
104
|
+
* @paramrow{1.,[in],enable,adlx_bool,@ENG_START_DOX The new Sharpen Desktop state. Set __true__ to enable Sharpen Desktop. Set __false__ to disable Sharpen Desktop. @ENG_END_DOX}
|
|
105
|
+
*
|
|
106
|
+
*@retvalues
|
|
107
|
+
*@ENG_START_DOX If the state of Sharpen Desktop is successfully set, __ADLX_OK__ is returned.<br>
|
|
108
|
+
* If the state of Sharpen Desktop is not successfully set, an error code is returned.<br>
|
|
109
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
110
|
+
*
|
|
111
|
+
* @addinfo
|
|
112
|
+
* @ENG_START_DOX
|
|
113
|
+
* Sharpen Desktop restores clarity softened by other effects to all the desktop visuals, for both windowed applications and for applications that run in fullscreen exclusive mode. <br>
|
|
114
|
+
* @ENG_END_DOX
|
|
115
|
+
*
|
|
116
|
+
* @depifc
|
|
117
|
+
*
|
|
118
|
+
* Sharpen Desktop requires @ref DOX_IADLX3DImageSharpening "AMD Radeon™ Image Sharpening".<br>
|
|
119
|
+
|
|
120
|
+
* When AMD Radeon Image sharpening is enabled and Sharpen Desktop is enabled, the sharpening is applied for both windowed applications and for applications that run in fullscreen exclusive mode.<br>
|
|
121
|
+
|
|
122
|
+
* When AMD Radeon Image sharpening is enabled and Sharpen Desktop is disabled, the sharpening is only applied to applications that run in fullscreen exclusive mode.<br>
|
|
123
|
+
|
|
124
|
+
* When AMD Radeon™ Image sharpening is disabled and Sharpen Desktop is enabled, Sharpen Desktop remains in enabled state, but the value is ignored.<br>
|
|
125
|
+
*
|
|
126
|
+
* @ENG_END_DOX
|
|
127
|
+
*
|
|
128
|
+
*@copydoc IADLX3DImageSharpenDesktop_REQ_TABLE
|
|
129
|
+
*
|
|
130
|
+
*/
|
|
131
|
+
virtual ADLX_RESULT ADLX_STD_CALL SetEnabled(adlx_bool enable) = 0;
|
|
132
|
+
}; //IADLX3DImageSharpenDesktop
|
|
133
|
+
//----------------------------------------------------------------------------------------------
|
|
134
|
+
typedef IADLXInterfacePtr_T<IADLX3DImageSharpenDesktop> IADLX3DImageSharpenDesktopPtr;
|
|
135
|
+
} //namespace adlx
|
|
136
|
+
#else //__cplusplus
|
|
137
|
+
ADLX_DECLARE_IID(IADLX3DImageSharpenDesktop, L"IADLX3DImageSharpenDesktop")
|
|
138
|
+
|
|
139
|
+
typedef struct IADLX3DImageSharpenDesktop IADLX3DImageSharpenDesktop;
|
|
140
|
+
|
|
141
|
+
typedef struct IADLX3DImageSharpenDesktopVtbl
|
|
142
|
+
{
|
|
143
|
+
//IADLXInterface
|
|
144
|
+
adlx_long(ADLX_STD_CALL* Acquire)(IADLX3DImageSharpenDesktop* pThis);
|
|
145
|
+
adlx_long(ADLX_STD_CALL* Release)(IADLX3DImageSharpenDesktop* pThis);
|
|
146
|
+
ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLX3DImageSharpenDesktop* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
147
|
+
|
|
148
|
+
//IADLX3DImageSharpenDesktop
|
|
149
|
+
ADLX_RESULT(ADLX_STD_CALL* IsSupported) (IADLX3DImageSharpenDesktop* pThis, adlx_bool* supported);
|
|
150
|
+
ADLX_RESULT(ADLX_STD_CALL* IsEnabled) (IADLX3DImageSharpenDesktop* pThis, adlx_bool* enabled);
|
|
151
|
+
ADLX_RESULT(ADLX_STD_CALL* SetEnabled) (IADLX3DImageSharpenDesktop* pThis, adlx_bool enable);
|
|
152
|
+
}IADLX3DImageSharpenDesktopVtbl;
|
|
153
|
+
|
|
154
|
+
struct IADLX3DImageSharpenDesktop { const IADLX3DImageSharpenDesktopVtbl* pVtbl; };
|
|
155
|
+
|
|
156
|
+
#endif //__cplusplus
|
|
157
|
+
#pragma endregion IADLX3DImageSharpenDesktop
|
|
158
|
+
|
|
159
|
+
//3DSetting Services interface
|
|
160
|
+
#pragma region IADLX3DSettingsServices2
|
|
161
|
+
#if defined (__cplusplus)
|
|
162
|
+
namespace adlx
|
|
163
|
+
{
|
|
164
|
+
class ADLX_NO_VTABLE IADLX3DSettingsServices2 : public IADLX3DSettingsServices1
|
|
165
|
+
{
|
|
166
|
+
public:
|
|
167
|
+
ADLX_DECLARE_IID(L"IADLX3DSettingsServices2")
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
*@page DOX_IADLX3DSettingsServices2_GetImageSharpenDesktop GetImageSharpenDesktop
|
|
171
|
+
*@ENG_START_DOX @brief Gets the reference-counted Sharpen Desktop interface of a GPU. @ENG_END_DOX
|
|
172
|
+
*
|
|
173
|
+
*@syntax
|
|
174
|
+
*@codeStart
|
|
175
|
+
* @ref ADLX_RESULT GetImageSharpenDesktop (@ref DOX_IADLXGPU* pGPU, @ref DOX_IADLX3DImageSharpenDesktop** pp3DImageSharpenDesktop)
|
|
176
|
+
|
|
177
|
+
*@codeEnd
|
|
178
|
+
*
|
|
179
|
+
*@params
|
|
180
|
+
*@paramrow{1.,[in] ,pGPU,@ref DOX_IADLXGPU* ,@ENG_START_DOX The pointer to the GPU interface. @ENG_END_DOX}
|
|
181
|
+
*@paramrow{2.,[out] ,pp3DImageSharpenDesktop,@ref DOX_IADLX3DImageSharpenDesktop** ,@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 __*pp3DImageSharpenDesktop__ to __nullptr__. @ENG_END_DOX}
|
|
182
|
+
*
|
|
183
|
+
*@retvalues
|
|
184
|
+
*@ENG_START_DOX If the interface is successfully returned, __ADLX_OK__ is returned.<br>
|
|
185
|
+
* If the interface is not successfully returned, an error code is returned.<br>
|
|
186
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes.<br> @ENG_END_DOX
|
|
187
|
+
*
|
|
188
|
+
*@detaileddesc
|
|
189
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
|
|
190
|
+
*
|
|
191
|
+
*@addinfo
|
|
192
|
+
*@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
|
|
193
|
+
*
|
|
194
|
+
*@copydoc IADLX3DSettingsServices2_REQ_TABLE
|
|
195
|
+
*
|
|
196
|
+
*/
|
|
197
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetImageSharpenDesktop(IADLXGPU* pGPU,IADLX3DImageSharpenDesktop** pp3DImageSharpenDesktop) = 0;
|
|
198
|
+
|
|
199
|
+
}; //IADLX3DSettingsServices1
|
|
200
|
+
//----------------------------------------------------------------------------------------------
|
|
201
|
+
typedef IADLXInterfacePtr_T<IADLX3DSettingsServices2> IADLX3DSettingsServices2Ptr;
|
|
202
|
+
} //namespace adlx
|
|
203
|
+
#else //__cplusplus
|
|
204
|
+
ADLX_DECLARE_IID (IADLX3DSettingsServices2, L"IADLX3DSettingsServices2")
|
|
205
|
+
typedef struct IADLX3DSettingsServices2 IADLX3DSettingsServices2;
|
|
206
|
+
|
|
207
|
+
typedef struct IADLX3DSettingsServices2Vtbl
|
|
208
|
+
{
|
|
209
|
+
//IADLXInterface
|
|
210
|
+
adlx_long (ADLX_STD_CALL *Acquire)(IADLX3DSettingsServices2* pThis);
|
|
211
|
+
adlx_long (ADLX_STD_CALL *Release)(IADLX3DSettingsServices2* pThis);
|
|
212
|
+
ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLX3DSettingsServices2* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
213
|
+
|
|
214
|
+
//IADLX3DSettingsServices
|
|
215
|
+
ADLX_RESULT (ADLX_STD_CALL *GetAntiLag)(IADLX3DSettingsServices2* pThis, IADLXGPU* pGPU, IADLX3DAntiLag** pp3DAntiLag);
|
|
216
|
+
ADLX_RESULT (ADLX_STD_CALL *GetChill)(IADLX3DSettingsServices2* pThis, IADLXGPU* pGPU, IADLX3DChill** pp3DChill);
|
|
217
|
+
ADLX_RESULT (ADLX_STD_CALL *GetBoost)(IADLX3DSettingsServices2* pThis, IADLXGPU* pGPU, IADLX3DBoost** pp3DBoost);
|
|
218
|
+
ADLX_RESULT (ADLX_STD_CALL *GetImageSharpening)(IADLX3DSettingsServices2* pThis, IADLXGPU* pGPU, IADLX3DImageSharpening** pp3DImageSharpening);
|
|
219
|
+
ADLX_RESULT (ADLX_STD_CALL *GetEnhancedSync)(IADLX3DSettingsServices2* pThis, IADLXGPU* pGPU, IADLX3DEnhancedSync** pp3DEnhancedSync);
|
|
220
|
+
ADLX_RESULT (ADLX_STD_CALL *GetWaitForVerticalRefresh)(IADLX3DSettingsServices2* pThis, IADLXGPU* pGPU, IADLX3DWaitForVerticalRefresh** pp3DWaitForVerticalRefresh);
|
|
221
|
+
ADLX_RESULT (ADLX_STD_CALL *GetFrameRateTargetControl)(IADLX3DSettingsServices2* pThis, IADLXGPU* pGPU, IADLX3DFrameRateTargetControl** pp3DFrameRateTargetControl);
|
|
222
|
+
ADLX_RESULT (ADLX_STD_CALL *GetAntiAliasing)(IADLX3DSettingsServices2* pThis, IADLXGPU* pGPU, IADLX3DAntiAliasing** pp3DAntiAliasing);
|
|
223
|
+
ADLX_RESULT (ADLX_STD_CALL *GetMorphologicalAntiAliasing)(IADLX3DSettingsServices2* pThis, IADLXGPU* pGPU, IADLX3DMorphologicalAntiAliasing** pp3DMorphologicalAntiAliasing);
|
|
224
|
+
ADLX_RESULT (ADLX_STD_CALL *GetAnisotropicFiltering)(IADLX3DSettingsServices2* pThis, IADLXGPU* pGPU, IADLX3DAnisotropicFiltering** pp3DAnisotropicFiltering);
|
|
225
|
+
ADLX_RESULT (ADLX_STD_CALL *GetTessellation)(IADLX3DSettingsServices2* pThis, IADLXGPU* pGPU, IADLX3DTessellation** pp3DTessellation);
|
|
226
|
+
ADLX_RESULT (ADLX_STD_CALL *GetRadeonSuperResolution) (IADLX3DSettingsServices2* pThis, IADLX3DRadeonSuperResolution** pp3DRadeonSuperResolution);
|
|
227
|
+
ADLX_RESULT (ADLX_STD_CALL *GetResetShaderCache)(IADLX3DSettingsServices2* pThis, IADLXGPU* pGPU, IADLX3DResetShaderCache** pp3DResetShaderCache);
|
|
228
|
+
ADLX_RESULT (ADLX_STD_CALL *Get3DSettingsChangedHandling)(IADLX3DSettingsServices2* pThis, IADLX3DSettingsChangedHandling** pp3DSettingsChangedHandling);
|
|
229
|
+
ADLX_RESULT(ADLX_STD_CALL* GetAMDFluidMotionFrames) (IADLX3DSettingsServices2* pThis, IADLX3DAMDFluidMotionFrames** pp3DGetAMDFluidMotionFrames);
|
|
230
|
+
ADLX_RESULT(ADLX_STD_CALL* GetImageSharpenDesktop) (IADLX3DSettingsServices2* pThis, IADLXGPU* pGPU, IADLX3DImageSharpenDesktop** pp3DImageSharpenDesktop);
|
|
231
|
+
|
|
232
|
+
}IADLX3DSettingsServices2Vtbl;
|
|
233
|
+
|
|
234
|
+
struct IADLX3DSettingsServices2 { const IADLX3DSettingsServices2Vtbl *pVtbl; };
|
|
235
|
+
#endif //__cplusplus
|
|
236
|
+
#pragma endregion IADLX3DSettingsServices2
|
|
237
|
+
|
|
238
|
+
//Interface with information on 3D setting changes on a GPU. ADLX passes this to application that registered for 3D setting changed event in the IADLX3DSettingsChangedListener::On3DSettingsChanged()
|
|
239
|
+
#pragma region IADLX3DSettingsChangedEvent2
|
|
240
|
+
#if defined (__cplusplus)
|
|
241
|
+
namespace adlx
|
|
242
|
+
{
|
|
243
|
+
class ADLX_NO_VTABLE IADLXGPU;
|
|
244
|
+
class ADLX_NO_VTABLE IADLX3DSettingsChangedEvent2 : public IADLX3DSettingsChangedEvent1
|
|
245
|
+
{
|
|
246
|
+
public:
|
|
247
|
+
ADLX_DECLARE_IID(L"IADLX3DSettingsChangedEvent2")
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
*@page DOX_IADLX3DSettingsChangedEvent2_IsImageSharpenDesktopChanged IsImageSharpenDesktopChanged
|
|
251
|
+
*@ENG_START_DOX @brief Checks for changes to the Sharpen Desktop settings. @ENG_END_DOX
|
|
252
|
+
*
|
|
253
|
+
*@syntax
|
|
254
|
+
*@codeStart
|
|
255
|
+
* adlx_bool IsImageSharpenDesktopChanged ()
|
|
256
|
+
*@codeEnd
|
|
257
|
+
*
|
|
258
|
+
*@params
|
|
259
|
+
*N/A
|
|
260
|
+
*
|
|
261
|
+
*@retvalues
|
|
262
|
+
*@ENG_START_DOX If there are any changes to the Sharpen Desktop settings, __true__ is returned.<br>
|
|
263
|
+
* If there are on changes to the Sharpen Desktop settings, __false__ is returned.<br> @ENG_END_DOX
|
|
264
|
+
*
|
|
265
|
+
*@addinfo
|
|
266
|
+
*@ENG_START_DOX
|
|
267
|
+
* __Note:__ To obtain the GPU, use @ref DOX_IADLX3DSettingsChangedEvent_GetGPU.
|
|
268
|
+
* @ENG_END_DOX
|
|
269
|
+
*
|
|
270
|
+
*@copydoc IADLX3DSettingsChangedEvent2_REQ_TABLE
|
|
271
|
+
*
|
|
272
|
+
*/
|
|
273
|
+
virtual adlx_bool ADLX_STD_CALL IsImageSharpenDesktopChanged() = 0;
|
|
274
|
+
|
|
275
|
+
}; //IADLX3DSettingsChangedEvent
|
|
276
|
+
//----------------------------------------------------------------------------------------------
|
|
277
|
+
typedef IADLXInterfacePtr_T<IADLX3DSettingsChangedEvent2> IADLX3DSettingsChangedEvent2Ptr;
|
|
278
|
+
} //namespace adlx
|
|
279
|
+
#else //__cplusplus
|
|
280
|
+
ADLX_DECLARE_IID(IADLX3DSettingsChangedEvent2, L"IADLX3DSettingsChangedEvent2")
|
|
281
|
+
typedef struct IADLX3DSettingsChangedEvent2 IADLX3DSettingsChangedEvent2;
|
|
282
|
+
|
|
283
|
+
typedef struct IADLX3DSettingsChangedEvent2Vtbl
|
|
284
|
+
{
|
|
285
|
+
//IADLXInterface
|
|
286
|
+
adlx_long(ADLX_STD_CALL* Acquire)(IADLX3DSettingsChangedEvent2* pThis);
|
|
287
|
+
adlx_long(ADLX_STD_CALL* Release)(IADLX3DSettingsChangedEvent2* pThis);
|
|
288
|
+
ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLX3DSettingsChangedEvent2* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
289
|
+
|
|
290
|
+
//IADLXChangedEvent
|
|
291
|
+
ADLX_SYNC_ORIGIN(ADLX_STD_CALL* GetOrigin)(IADLX3DSettingsChangedEvent2* pThis);
|
|
292
|
+
|
|
293
|
+
// IADLX3DSettingsChangedEvent interface
|
|
294
|
+
ADLX_RESULT(ADLX_STD_CALL* GetGPU)(IADLX3DSettingsChangedEvent2* pThis, IADLXGPU** ppGPU);
|
|
295
|
+
adlx_bool(ADLX_STD_CALL* IsAntiLagChanged)(IADLX3DSettingsChangedEvent2* pThis);
|
|
296
|
+
adlx_bool(ADLX_STD_CALL* IsChillChanged)(IADLX3DSettingsChangedEvent2* pThis);
|
|
297
|
+
adlx_bool(ADLX_STD_CALL* IsBoostChanged)(IADLX3DSettingsChangedEvent2* pThis);
|
|
298
|
+
adlx_bool(ADLX_STD_CALL* IsImageSharpeningChanged)(IADLX3DSettingsChangedEvent2* pThis);
|
|
299
|
+
adlx_bool(ADLX_STD_CALL* IsEnhancedSyncChanged)(IADLX3DSettingsChangedEvent2* pThis);
|
|
300
|
+
adlx_bool(ADLX_STD_CALL* IsWaitForVerticalRefreshChanged)(IADLX3DSettingsChangedEvent2* pThis);
|
|
301
|
+
adlx_bool(ADLX_STD_CALL* IsFrameRateTargetControlChanged)(IADLX3DSettingsChangedEvent2* pThis);
|
|
302
|
+
adlx_bool(ADLX_STD_CALL* IsAntiAliasingChanged)(IADLX3DSettingsChangedEvent2* pThis);
|
|
303
|
+
adlx_bool(ADLX_STD_CALL* IsMorphologicalAntiAliasingChanged)(IADLX3DSettingsChangedEvent2* pThis);
|
|
304
|
+
adlx_bool(ADLX_STD_CALL* IsAnisotropicFilteringChanged)(IADLX3DSettingsChangedEvent2* pThis);
|
|
305
|
+
adlx_bool(ADLX_STD_CALL* IsTessellationModeChanged)(IADLX3DSettingsChangedEvent2* pThis);
|
|
306
|
+
adlx_bool(ADLX_STD_CALL* IsRadeonSuperResolutionChanged)(IADLX3DSettingsChangedEvent2* pThis);
|
|
307
|
+
adlx_bool(ADLX_STD_CALL* IsResetShaderCache)(IADLX3DSettingsChangedEvent2* pThis);
|
|
308
|
+
adlx_bool(ADLX_STD_CALL* IsAMDFluidMotionFramesChanged)(IADLX3DSettingsChangedEvent2* pThis);
|
|
309
|
+
adlx_bool(ADLX_STD_CALL* IsImageSharpenDesktopChanged)(IADLX3DSettingsChangedEvent2* pThis);
|
|
310
|
+
|
|
311
|
+
} IADLX3DSettingsChangedEvent2Vtbl;
|
|
312
|
+
|
|
313
|
+
struct IADLX3DSettingsChangedEvent2 { const IADLX3DSettingsChangedEvent2Vtbl* pVtbl; };
|
|
314
|
+
#endif //__cplusplus
|
|
315
|
+
#pragma endregion IADLX3DSettingsChangedEvent2
|
|
316
|
+
|
|
317
|
+
#endif //ADLX_I3DSETTINGS2_H
|