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,191 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright (c) 2021 - 2025 Advanced Micro Devices, Inc. All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
//-------------------------------------------------------------------------------------------------
|
|
5
|
+
|
|
6
|
+
#ifndef ADLX_IDISPLAYS1_H
|
|
7
|
+
#define ADLX_IDISPLAYS1_H
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "IDisplays.h"
|
|
11
|
+
|
|
12
|
+
//-------------------------------------------------------------------------------------------------
|
|
13
|
+
//IDisplays1.h - Interfaces for ADLX Display Information functionality
|
|
14
|
+
|
|
15
|
+
#pragma region IADLXDisplayServices1
|
|
16
|
+
|
|
17
|
+
#if defined (__cplusplus)
|
|
18
|
+
namespace adlx
|
|
19
|
+
{
|
|
20
|
+
class ADLX_NO_VTABLE IADLXDisplayConnectivityExperience;
|
|
21
|
+
class ADLX_NO_VTABLE IADLXDisplayBlanking;
|
|
22
|
+
class ADLX_NO_VTABLE IADLXDisplayServices1 : public IADLXDisplayServices
|
|
23
|
+
{
|
|
24
|
+
public:
|
|
25
|
+
ADLX_DECLARE_IID(L"IADLXDisplayServices1")
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
*@page DOX_IADLXDisplayServices1_GetDisplayBlanking GetDisplayBlanking
|
|
29
|
+
*@ENG_START_DOX @brief Gets the reference counted display blanking interface of a display. @ENG_END_DOX
|
|
30
|
+
*
|
|
31
|
+
*@syntax
|
|
32
|
+
*@codeStart
|
|
33
|
+
* @ref ADLX_RESULT GetDisplayBlanking (IADLXDisplay* pDisplay, @ref DOX_IADLXDisplayBlanking** ppDisplayBlanking)
|
|
34
|
+
*@codeEnd
|
|
35
|
+
*
|
|
36
|
+
*@params
|
|
37
|
+
*@paramrow{1.,[in],pDisplay,@ref DOX_IADLXDisplay*,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX}
|
|
38
|
+
*@paramrow{2.,[out],ppDisplayBlanking,@ref DOX_IADLXDisplayBlanking **,@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 __*ppDisplayBlanking__ to __nullptr__. @ENG_END_DOX}
|
|
39
|
+
*
|
|
40
|
+
*@retvalues
|
|
41
|
+
*@ENG_START_DOX
|
|
42
|
+
* If the interface is successfully returned, __ADLX_OK__ is returned. <br>
|
|
43
|
+
* If the interface is not successfully returned, an error code is returned. <br>
|
|
44
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
45
|
+
*
|
|
46
|
+
*@detaileddesc
|
|
47
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it's no longer needed. @ENG_END_DOX
|
|
48
|
+
*
|
|
49
|
+
*@addinfo
|
|
50
|
+
*@ENG_START_DOX
|
|
51
|
+
*When using ADLX interfaces as smart pointers in C++, it isn't necessary to call @ref DOX_IADLXInterface_Release as it's called by smart pointers in the internal implementation. @ENG_END_DOX
|
|
52
|
+
*
|
|
53
|
+
*@copydoc IADLXDisplayServices1_REQ_TABLE
|
|
54
|
+
*
|
|
55
|
+
*/
|
|
56
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetDisplayBlanking(IADLXDisplay* pDisplay, IADLXDisplayBlanking** ppDisplayBlanking) = 0;
|
|
57
|
+
|
|
58
|
+
}; //IADLXDisplayServices1
|
|
59
|
+
//----------------------------------------------------------------------------------------------
|
|
60
|
+
typedef IADLXInterfacePtr_T<IADLXDisplayServices1> IADLXDisplayServices1Ptr;
|
|
61
|
+
} // namespace adlx
|
|
62
|
+
#else //__cplusplus
|
|
63
|
+
ADLX_DECLARE_IID(IADLXDisplayServices1, L"IADLXDisplayServices1")
|
|
64
|
+
typedef struct IADLXDisplayServices1 IADLXDisplayServices1;
|
|
65
|
+
|
|
66
|
+
typedef struct IADLXDisplayFreeSync IADLXDisplayFreeSync;
|
|
67
|
+
typedef struct IADLXDisplayVSR IADLXDisplayVSR;
|
|
68
|
+
typedef struct IADLXDisplayGPUScaling IADLXDisplayGPUScaling;
|
|
69
|
+
typedef struct IADLXDisplayScalingMode IADLXDisplayScalingMode;
|
|
70
|
+
typedef struct IADLXDisplayIntegerScaling IADLXDisplayIntegerScaling;
|
|
71
|
+
typedef struct IADLXDisplayColorDepth IADLXDisplayColorDepth;
|
|
72
|
+
typedef struct IADLXDisplayPixelFormat IADLXDisplayPixelFormat;
|
|
73
|
+
typedef struct IADLXDisplayCustomColor IADLXDisplayCustomColor;
|
|
74
|
+
typedef struct IADLXDisplayHDCP IADLXDisplayHDCP;
|
|
75
|
+
typedef struct IADLXDisplayCustomResolution IADLXDisplayCustomResolution;
|
|
76
|
+
typedef struct IADLXDisplayChangedHandling IADLXDisplayChangedHandling;
|
|
77
|
+
typedef struct IADLXDisplayVariBright IADLXDisplayVariBright;
|
|
78
|
+
typedef struct IADLXDisplayConnectivityExperience IADLXDisplayConnectivityExperience;
|
|
79
|
+
typedef struct IADLXDisplayBlanking IADLXDisplayBlanking;
|
|
80
|
+
|
|
81
|
+
typedef struct IADLXDisplayServices1Vtbl
|
|
82
|
+
{
|
|
83
|
+
//IADLXInterface
|
|
84
|
+
adlx_long(ADLX_STD_CALL* Acquire)(IADLXDisplayServices1* pThis);
|
|
85
|
+
adlx_long(ADLX_STD_CALL* Release)(IADLXDisplayServices1* pThis);
|
|
86
|
+
ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXDisplayServices1* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
87
|
+
|
|
88
|
+
//IADLXDisplayServices
|
|
89
|
+
ADLX_RESULT(ADLX_STD_CALL* GetNumberOfDisplays)(IADLXDisplayServices1* pThis, adlx_uint* numDisplays);
|
|
90
|
+
ADLX_RESULT(ADLX_STD_CALL* GetDisplays)(IADLXDisplayServices1* pThis, IADLXDisplayList** ppDisplays);
|
|
91
|
+
ADLX_RESULT(ADLX_STD_CALL* Get3DLUT)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplay3DLUT** ppDisp3DLUT);
|
|
92
|
+
ADLX_RESULT(ADLX_STD_CALL* GetGamut)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayGamut** ppDispGamut);
|
|
93
|
+
ADLX_RESULT(ADLX_STD_CALL* GetGamma)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayGamma** ppDispGamma);
|
|
94
|
+
ADLX_RESULT(ADLX_STD_CALL* GetDisplayChangedHandling)(IADLXDisplayServices1* pThis, IADLXDisplayChangedHandling** ppDisplayChangedHandling);
|
|
95
|
+
ADLX_RESULT(ADLX_STD_CALL* GetFreeSync)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayFreeSync** ppFreeSync);
|
|
96
|
+
ADLX_RESULT(ADLX_STD_CALL* GetVirtualSuperResolution)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayVSR** ppVSR);
|
|
97
|
+
ADLX_RESULT(ADLX_STD_CALL* GetGPUScaling)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayGPUScaling** ppGPUScaling);
|
|
98
|
+
ADLX_RESULT(ADLX_STD_CALL* GetScalingMode)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayScalingMode** ppScalingMode);
|
|
99
|
+
ADLX_RESULT(ADLX_STD_CALL* GetIntegerScaling)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayIntegerScaling** ppIntegerScaling);
|
|
100
|
+
ADLX_RESULT(ADLX_STD_CALL* GetColorDepth)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayColorDepth** ppColorDepth);
|
|
101
|
+
ADLX_RESULT(ADLX_STD_CALL* GetPixelFormat)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayPixelFormat** ppPixelFormat);
|
|
102
|
+
ADLX_RESULT(ADLX_STD_CALL* GetCustomColor)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayCustomColor** ppCustomColor);
|
|
103
|
+
ADLX_RESULT(ADLX_STD_CALL* GetHDCP)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayHDCP** ppHDCP);
|
|
104
|
+
ADLX_RESULT(ADLX_STD_CALL* GetCustomResolution)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayCustomResolution** ppCustomResolution);
|
|
105
|
+
ADLX_RESULT(ADLX_STD_CALL* GetVariBright)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayVariBright** ppVariBright);
|
|
106
|
+
|
|
107
|
+
//IADLXDisplayServices1
|
|
108
|
+
ADLX_RESULT(ADLX_STD_CALL* GetDisplayBlanking)(IADLXDisplayServices1* pThis, IADLXDisplay* pDisplay, IADLXDisplayBlanking** ppDisplayBlanking);
|
|
109
|
+
} IADLXDisplayServices1Vtbl;
|
|
110
|
+
|
|
111
|
+
struct IADLXDisplayServices1 { const IADLXDisplayServices1Vtbl* pVtbl; };
|
|
112
|
+
#endif
|
|
113
|
+
|
|
114
|
+
#pragma endregion IADLXDisplayServices1
|
|
115
|
+
|
|
116
|
+
#pragma region IADLXDisplaySettingsChangedEvent1
|
|
117
|
+
#if defined (__cplusplus)
|
|
118
|
+
namespace adlx
|
|
119
|
+
{
|
|
120
|
+
class ADLX_NO_VTABLE IADLXDisplaySettingsChangedEvent1 : public IADLXDisplaySettingsChangedEvent
|
|
121
|
+
{
|
|
122
|
+
public:
|
|
123
|
+
ADLX_DECLARE_IID(L"IADLXDisplaySettingsChangedEvent1")
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
*@page DOX_IADLXDisplaySettingsChangedEvent1_IsDisplayBlankingChanged IsDisplayBlankingChanged
|
|
127
|
+
*@ENG_START_DOX @brief Checks if the display blanking of the display is changed. @ENG_END_DOX
|
|
128
|
+
*
|
|
129
|
+
*@syntax
|
|
130
|
+
*@codeStart
|
|
131
|
+
* adlx_bool IsDisplayBlankingChanged ()
|
|
132
|
+
*@codeEnd
|
|
133
|
+
*
|
|
134
|
+
*@params
|
|
135
|
+
*N/A
|
|
136
|
+
*
|
|
137
|
+
*@retvalues
|
|
138
|
+
*@ENG_START_DOX
|
|
139
|
+
* If the display blanking settings are changed, __true__ is returned. <br>
|
|
140
|
+
* If the display blanking settings are not changed, __false__ is returned. @ENG_END_DOX
|
|
141
|
+
*
|
|
142
|
+
*@copydoc IADLXDisplaySettingsChangedEvent1_REQ_TABLE
|
|
143
|
+
*
|
|
144
|
+
*/
|
|
145
|
+
virtual adlx_bool ADLX_STD_CALL IsDisplayBlankingChanged() = 0;
|
|
146
|
+
}; //IADLXDisplaySettingsChangedEvent1
|
|
147
|
+
//----------------------------------------------------------------------------------------------
|
|
148
|
+
typedef IADLXInterfacePtr_T<IADLXDisplaySettingsChangedEvent1> IADLXDisplaySettingsChangedEvent1Ptr;
|
|
149
|
+
} //namespace adlx
|
|
150
|
+
#else //__cplusplus
|
|
151
|
+
ADLX_DECLARE_IID(IADLXDisplaySettingsChangedEvent1, L"IADLXDisplaySettingsChangedEvent1")
|
|
152
|
+
typedef struct IADLXDisplaySettingsChangedEvent1 IADLXDisplaySettingsChangedEvent1;
|
|
153
|
+
|
|
154
|
+
typedef struct IADLXDisplaySettingsChangedEvent1Vtbl
|
|
155
|
+
{
|
|
156
|
+
//IADLXInterface
|
|
157
|
+
adlx_long(ADLX_STD_CALL* Acquire)(IADLXDisplaySettingsChangedEvent1* pThis);
|
|
158
|
+
adlx_long(ADLX_STD_CALL* Release)(IADLXDisplaySettingsChangedEvent1* pThis);
|
|
159
|
+
ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXDisplaySettingsChangedEvent1* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
160
|
+
|
|
161
|
+
//IADLXChangedEvent
|
|
162
|
+
ADLX_SYNC_ORIGIN(ADLX_STD_CALL* GetOrigin)(IADLXDisplaySettingsChangedEvent1* pThis);
|
|
163
|
+
|
|
164
|
+
// IADLXDisplaySettingsChangedEvent interface
|
|
165
|
+
ADLX_RESULT(ADLX_STD_CALL* GetDisplay)(IADLXDisplaySettingsChangedEvent1* pThis, IADLXDisplay** ppDisplay);
|
|
166
|
+
adlx_bool(ADLX_STD_CALL* IsFreeSyncChanged)(IADLXDisplaySettingsChangedEvent1* pThis);
|
|
167
|
+
adlx_bool(ADLX_STD_CALL* IsVSRChanged)(IADLXDisplaySettingsChangedEvent1* pThis);
|
|
168
|
+
adlx_bool(ADLX_STD_CALL* IsGPUScalingChanged)(IADLXDisplaySettingsChangedEvent1* pThis);
|
|
169
|
+
adlx_bool(ADLX_STD_CALL* IsScalingModeChanged)(IADLXDisplaySettingsChangedEvent1* pThis);
|
|
170
|
+
adlx_bool(ADLX_STD_CALL* IsIntegerScalingChanged)(IADLXDisplaySettingsChangedEvent1* pThis);
|
|
171
|
+
adlx_bool(ADLX_STD_CALL* IsColorDepthChanged)(IADLXDisplaySettingsChangedEvent1* pThis);
|
|
172
|
+
adlx_bool(ADLX_STD_CALL* IsPixelFormatChanged)(IADLXDisplaySettingsChangedEvent1* pThis);
|
|
173
|
+
adlx_bool(ADLX_STD_CALL* IsHDCPChanged)(IADLXDisplaySettingsChangedEvent1* pThis);
|
|
174
|
+
adlx_bool(ADLX_STD_CALL* IsCustomColorHueChanged)(IADLXDisplaySettingsChangedEvent1* pThis);
|
|
175
|
+
adlx_bool(ADLX_STD_CALL* IsCustomColorSaturationChanged)(IADLXDisplaySettingsChangedEvent1* pThis);
|
|
176
|
+
adlx_bool(ADLX_STD_CALL* IsCustomColorBrightnessChanged)(IADLXDisplaySettingsChangedEvent1* pThis);
|
|
177
|
+
adlx_bool(ADLX_STD_CALL* IsCustomColorTemperatureChanged)(IADLXDisplaySettingsChangedEvent1* pThis);
|
|
178
|
+
adlx_bool(ADLX_STD_CALL* IsCustomColorContrastChanged)(IADLXDisplaySettingsChangedEvent1* pThis);
|
|
179
|
+
adlx_bool(ADLX_STD_CALL* IsCustomResolutionChanged)(IADLXDisplaySettingsChangedEvent1* pThis);
|
|
180
|
+
adlx_bool(ADLX_STD_CALL* IsVariBrightChanged)(IADLXDisplaySettingsChangedEvent1* pThis);
|
|
181
|
+
|
|
182
|
+
// IADLXDisplaySettingsChangedEvent1 interface
|
|
183
|
+
adlx_bool(ADLX_STD_CALL* IsDisplayBlankingChanged)(IADLXDisplaySettingsChangedEvent1* pThis);
|
|
184
|
+
|
|
185
|
+
} IADLXDisplaySettingsChangedEvent1Vtbl;
|
|
186
|
+
|
|
187
|
+
struct IADLXDisplaySettingsChangedEvent1 { const IADLXDisplaySettingsChangedEvent1Vtbl* pVtbl; };
|
|
188
|
+
#endif //__cplusplus
|
|
189
|
+
#pragma endregion IADLXDisplaySettingsChangedEvent1
|
|
190
|
+
|
|
191
|
+
#endif //ADLX_IDISPLAYS1_H
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright (c) 2021 - 2025 Advanced Micro Devices, Inc. All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
//-------------------------------------------------------------------------------------------------
|
|
5
|
+
|
|
6
|
+
#ifndef ADLX_IDISPLAYS2_H
|
|
7
|
+
#define ADLX_IDISPLAYS2_H
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "IDisplays1.h"
|
|
11
|
+
|
|
12
|
+
//-------------------------------------------------------------------------------------------------
|
|
13
|
+
//IDisplays2.h - Interfaces for ADLX Display Information functionality
|
|
14
|
+
|
|
15
|
+
#pragma region IADLXDisplayServices2
|
|
16
|
+
|
|
17
|
+
#if defined (__cplusplus)
|
|
18
|
+
namespace adlx
|
|
19
|
+
{
|
|
20
|
+
class ADLX_NO_VTABLE IADLXDisplayConnectivityExperience;
|
|
21
|
+
class ADLX_NO_VTABLE IADLXDisplayServices2 : public IADLXDisplayServices1
|
|
22
|
+
{
|
|
23
|
+
public:
|
|
24
|
+
ADLX_DECLARE_IID(L"IADLXDisplayServices2")
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
*@page DOX_IADLXDisplayServices2_GetDisplayConnectivityExperience GetDisplayConnectivityExperience
|
|
28
|
+
*@ENG_START_DOX @brief Gets the reference counted DCE interface for a display. @ENG_END_DOX
|
|
29
|
+
*
|
|
30
|
+
*@syntax
|
|
31
|
+
*@codeStart
|
|
32
|
+
* @ref ADLX_RESULT GetDisplayConnectivityExperience (@ref DOX_IADLXDisplay* pDisplay, @ref DOX_IADLXDisplayConnectivityExperience ** ppDisplayConnectivityExperience)
|
|
33
|
+
*@codeEnd
|
|
34
|
+
*
|
|
35
|
+
*@params
|
|
36
|
+
*@paramrow{1.,[in],pDisplay,@ref DOX_IADLXDisplay*,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX}
|
|
37
|
+
*@paramrow{2.,[out],ppDisplayConnectivityExperience,@ref DOX_IADLXDisplayConnectivityExperience **,@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 __*ppDisplayConnectivityExperience__ to __nullptr__. @ENG_END_DOX}
|
|
38
|
+
*
|
|
39
|
+
*@retvalues
|
|
40
|
+
*@ENG_START_DOX
|
|
41
|
+
* If the interface is successfully returned, __ADLX_OK__ is returned. <br>
|
|
42
|
+
* If the interface is not successfully returned, an error code is returned. <br>
|
|
43
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
44
|
+
*
|
|
45
|
+
*@detaileddesc
|
|
46
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
|
|
47
|
+
*
|
|
48
|
+
*@addinfo
|
|
49
|
+
*@ENG_START_DOX
|
|
50
|
+
*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
|
|
51
|
+
*
|
|
52
|
+
*@copydoc IADLXDisplayServices2_REQ_TABLE
|
|
53
|
+
*
|
|
54
|
+
*/
|
|
55
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetDisplayConnectivityExperience(IADLXDisplay* pDisplay, IADLXDisplayConnectivityExperience** ppDisplayConnectivityExperience) = 0;
|
|
56
|
+
}; //IADLXDisplayServices2
|
|
57
|
+
//----------------------------------------------------------------------------------------------
|
|
58
|
+
typedef IADLXInterfacePtr_T<IADLXDisplayServices2> IADLXDisplayServices2Ptr;
|
|
59
|
+
} // namespace adlx
|
|
60
|
+
#else //__cplusplus
|
|
61
|
+
ADLX_DECLARE_IID(IADLXDisplayServices2, L"IADLXDisplayServices2")
|
|
62
|
+
typedef struct IADLXDisplayServices2 IADLXDisplayServices2;
|
|
63
|
+
|
|
64
|
+
typedef struct IADLXDisplayConnectivityExperience IADLXDisplayConnectivityExperience;
|
|
65
|
+
|
|
66
|
+
typedef struct IADLXDisplayServices2Vtbl
|
|
67
|
+
{
|
|
68
|
+
//IADLXInterface
|
|
69
|
+
adlx_long(ADLX_STD_CALL* Acquire)(IADLXDisplayServices2* pThis);
|
|
70
|
+
adlx_long(ADLX_STD_CALL* Release)(IADLXDisplayServices2* pThis);
|
|
71
|
+
ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXDisplayServices2* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
72
|
+
|
|
73
|
+
//IADLXDisplayServices
|
|
74
|
+
ADLX_RESULT(ADLX_STD_CALL* GetNumberOfDisplays)(IADLXDisplayServices2* pThis, adlx_uint* numDisplays);
|
|
75
|
+
ADLX_RESULT(ADLX_STD_CALL* GetDisplays)(IADLXDisplayServices2* pThis, IADLXDisplayList** ppDisplays);
|
|
76
|
+
ADLX_RESULT(ADLX_STD_CALL* Get3DLUT)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplay3DLUT** ppDisp3DLUT);
|
|
77
|
+
ADLX_RESULT(ADLX_STD_CALL* GetGamut)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayGamut** ppDispGamut);
|
|
78
|
+
ADLX_RESULT(ADLX_STD_CALL* GetGamma)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayGamma** ppDispGamma);
|
|
79
|
+
ADLX_RESULT(ADLX_STD_CALL* GetDisplayChangedHandling)(IADLXDisplayServices2* pThis, IADLXDisplayChangedHandling** ppDisplayChangedHandling);
|
|
80
|
+
ADLX_RESULT(ADLX_STD_CALL* GetFreeSync)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayFreeSync** ppFreeSync);
|
|
81
|
+
ADLX_RESULT(ADLX_STD_CALL* GetVirtualSuperResolution)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayVSR** ppVSR);
|
|
82
|
+
ADLX_RESULT(ADLX_STD_CALL* GetGPUScaling)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayGPUScaling** ppGPUScaling);
|
|
83
|
+
ADLX_RESULT(ADLX_STD_CALL* GetScalingMode)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayScalingMode** ppScalingMode);
|
|
84
|
+
ADLX_RESULT(ADLX_STD_CALL* GetIntegerScaling)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayIntegerScaling** ppIntegerScaling);
|
|
85
|
+
ADLX_RESULT(ADLX_STD_CALL* GetColorDepth)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayColorDepth** ppColorDepth);
|
|
86
|
+
ADLX_RESULT(ADLX_STD_CALL* GetPixelFormat)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayPixelFormat** ppPixelFormat);
|
|
87
|
+
ADLX_RESULT(ADLX_STD_CALL* GetCustomColor)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayCustomColor** ppCustomColor);
|
|
88
|
+
ADLX_RESULT(ADLX_STD_CALL* GetHDCP)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayHDCP** ppHDCP);
|
|
89
|
+
ADLX_RESULT(ADLX_STD_CALL* GetCustomResolution)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayCustomResolution** ppCustomResolution);
|
|
90
|
+
ADLX_RESULT(ADLX_STD_CALL* GetVariBright)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayVariBright** ppVariBright);
|
|
91
|
+
|
|
92
|
+
//IADLXDisplayServices1
|
|
93
|
+
ADLX_RESULT(ADLX_STD_CALL* GetDisplayBlanking)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayBlanking** ppDisplayBlanking);
|
|
94
|
+
|
|
95
|
+
//IADLXDisplayServices2
|
|
96
|
+
ADLX_RESULT(ADLX_STD_CALL* GetDisplayConnectivityExperience)(IADLXDisplayServices2* pThis, IADLXDisplay* pDisplay, IADLXDisplayConnectivityExperience** ppDisplayConnectivityExperience);
|
|
97
|
+
} IADLXDisplayServices2Vtbl;
|
|
98
|
+
|
|
99
|
+
struct IADLXDisplayServices2 { const IADLXDisplayServices2Vtbl* pVtbl; };
|
|
100
|
+
#endif
|
|
101
|
+
|
|
102
|
+
#pragma endregion IADLXDisplayServices2
|
|
103
|
+
|
|
104
|
+
#pragma region IADLXDisplaySettingsChangedEvent2
|
|
105
|
+
#if defined (__cplusplus)
|
|
106
|
+
namespace adlx
|
|
107
|
+
{
|
|
108
|
+
class ADLX_NO_VTABLE IADLXDisplaySettingsChangedEvent2 : public IADLXDisplaySettingsChangedEvent1
|
|
109
|
+
{
|
|
110
|
+
public:
|
|
111
|
+
ADLX_DECLARE_IID(L"IADLXDisplaySettingsChangedEvent2")
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
*@page DOX_IADLXDisplaySettingsChangedEvent2_IsConnectivityExperienceChanged IsConnectivityExperienceChanged
|
|
115
|
+
*@ENG_START_DOX @brief Checks if the DCE settings of the display are changed. @ENG_END_DOX
|
|
116
|
+
*
|
|
117
|
+
*@syntax
|
|
118
|
+
*@codeStart
|
|
119
|
+
* adlx_bool IsDisplayConnectivityExperienceChanged ()
|
|
120
|
+
*@codeEnd
|
|
121
|
+
*
|
|
122
|
+
*@params
|
|
123
|
+
*N/A
|
|
124
|
+
*
|
|
125
|
+
*@retvalues
|
|
126
|
+
*@ENG_START_DOX
|
|
127
|
+
* If the DCE settings are changed, __true__ is returned. <br>
|
|
128
|
+
* If the DCE settings are not changed, __false__ is returned. @ENG_END_DOX
|
|
129
|
+
*
|
|
130
|
+
*
|
|
131
|
+
*@addinfo
|
|
132
|
+
*@ENG_START_DOX
|
|
133
|
+
* __Note:__ To obtain the display, use @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay.
|
|
134
|
+
*@ENG_END_DOX
|
|
135
|
+
*
|
|
136
|
+
*@copydoc IADLXDisplaySettingsChangedEvent2_REQ_TABLE
|
|
137
|
+
*/
|
|
138
|
+
virtual adlx_bool ADLX_STD_CALL IsDisplayConnectivityExperienceChanged() = 0;
|
|
139
|
+
}; //IADLXDisplaySettingsChangedEvent2
|
|
140
|
+
//----------------------------------------------------------------------------------------------
|
|
141
|
+
typedef IADLXInterfacePtr_T<IADLXDisplaySettingsChangedEvent2> IADLXDisplaySettingsChangedEvent2Ptr;
|
|
142
|
+
} //namespace adlx
|
|
143
|
+
#else //__cplusplus
|
|
144
|
+
ADLX_DECLARE_IID(IADLXDisplaySettingsChangedEvent2, L"IADLXDisplaySettingsChangedEvent2")
|
|
145
|
+
typedef struct IADLXDisplaySettingsChangedEvent2 IADLXDisplaySettingsChangedEvent2;
|
|
146
|
+
|
|
147
|
+
typedef struct IADLXDisplaySettingsChangedEvent2Vtbl
|
|
148
|
+
{
|
|
149
|
+
//IADLXInterface
|
|
150
|
+
adlx_long(ADLX_STD_CALL* Acquire)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
151
|
+
adlx_long(ADLX_STD_CALL* Release)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
152
|
+
ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXDisplaySettingsChangedEvent2* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
153
|
+
|
|
154
|
+
//IADLXChangedEvent
|
|
155
|
+
ADLX_SYNC_ORIGIN(ADLX_STD_CALL* GetOrigin)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
156
|
+
|
|
157
|
+
// IADLXDisplaySettingsChangedEvent interface
|
|
158
|
+
ADLX_RESULT(ADLX_STD_CALL* GetDisplay)(IADLXDisplaySettingsChangedEvent2* pThis, IADLXDisplay** ppDisplay);
|
|
159
|
+
adlx_bool(ADLX_STD_CALL* IsFreeSyncChanged)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
160
|
+
adlx_bool(ADLX_STD_CALL* IsVSRChanged)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
161
|
+
adlx_bool(ADLX_STD_CALL* IsGPUScalingChanged)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
162
|
+
adlx_bool(ADLX_STD_CALL* IsScalingModeChanged)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
163
|
+
adlx_bool(ADLX_STD_CALL* IsIntegerScalingChanged)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
164
|
+
adlx_bool(ADLX_STD_CALL* IsColorDepthChanged)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
165
|
+
adlx_bool(ADLX_STD_CALL* IsPixelFormatChanged)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
166
|
+
adlx_bool(ADLX_STD_CALL* IsHDCPChanged)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
167
|
+
adlx_bool(ADLX_STD_CALL* IsCustomColorHueChanged)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
168
|
+
adlx_bool(ADLX_STD_CALL* IsCustomColorSaturationChanged)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
169
|
+
adlx_bool(ADLX_STD_CALL* IsCustomColorBrightnessChanged)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
170
|
+
adlx_bool(ADLX_STD_CALL* IsCustomColorTemperatureChanged)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
171
|
+
adlx_bool(ADLX_STD_CALL* IsCustomColorContrastChanged)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
172
|
+
adlx_bool(ADLX_STD_CALL* IsCustomResolutionChanged)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
173
|
+
adlx_bool(ADLX_STD_CALL* IsVariBrightChanged)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
174
|
+
|
|
175
|
+
// IADLXDisplaySettingsChangedEvent1 interface
|
|
176
|
+
adlx_bool(ADLX_STD_CALL* IsDisplayBlankingChanged)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
177
|
+
|
|
178
|
+
// IADLXDisplaySettingsChangedEvent2 interface
|
|
179
|
+
adlx_bool(ADLX_STD_CALL* IsDisplayConnectivityExperienceChanged)(IADLXDisplaySettingsChangedEvent2* pThis);
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
} IADLXDisplaySettingsChangedEvent2Vtbl;
|
|
183
|
+
|
|
184
|
+
struct IADLXDisplaySettingsChangedEvent2 { const IADLXDisplaySettingsChangedEvent2Vtbl* pVtbl; };
|
|
185
|
+
#endif //__cplusplus
|
|
186
|
+
#pragma endregion IADLXDisplaySettingsChangedEvent2
|
|
187
|
+
|
|
188
|
+
#endif //ADLX_IDISPLAYS2_H
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright (c) 2021 - 2025 Advanced Micro Devices, Inc. All rights reserved.
|
|
3
|
+
//
|
|
4
|
+
//-------------------------------------------------------------------------------------------------
|
|
5
|
+
|
|
6
|
+
#ifndef ADLX_IDISPLAYS3_H
|
|
7
|
+
#define ADLX_IDISPLAYS3_H
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "IDisplays2.h"
|
|
11
|
+
|
|
12
|
+
//-------------------------------------------------------------------------------------------------
|
|
13
|
+
//IDisplays3.h - Interfaces for ADLX Display dynamic refresh rate control functionality
|
|
14
|
+
|
|
15
|
+
#pragma region IADLXDisplayServices3
|
|
16
|
+
|
|
17
|
+
#if defined (__cplusplus)
|
|
18
|
+
namespace adlx
|
|
19
|
+
{
|
|
20
|
+
class ADLX_NO_VTABLE IADLXDisplayDynamicRefreshRateControl;
|
|
21
|
+
class ADLX_NO_VTABLE IADLXDisplayFreeSyncColorAccuracy;
|
|
22
|
+
class ADLX_NO_VTABLE IADLXDisplayServices3 : public IADLXDisplayServices2
|
|
23
|
+
{
|
|
24
|
+
public:
|
|
25
|
+
ADLX_DECLARE_IID(L"IADLXDisplayServices3")
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
*@page DOX_IADLXDisplayServices3_GetDynamicRefreshRateControl GetDynamicRefreshRateControl
|
|
29
|
+
*@ENG_START_DOX @brief Gets the reference counted Dynamic Refresh Rate Control interface for a display. @ENG_END_DOX
|
|
30
|
+
*
|
|
31
|
+
*@syntax
|
|
32
|
+
*@codeStart
|
|
33
|
+
* @ref ADLX_RESULT GetDynamicRefreshRateControl (@ref DOX_IADLXDisplay* pDisplay, @ref DOX_IADLXDisplayDynamicRefreshRateControl** ppDRRC)
|
|
34
|
+
*@codeEnd
|
|
35
|
+
*
|
|
36
|
+
*@params
|
|
37
|
+
*@paramrow{1.,[in],pDisplay,@ref DOX_IADLXDisplay*,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX}
|
|
38
|
+
*@paramrow{2.,[out],ppDRRC,@ref DOX_IADLXDisplayDynamicRefreshRateControl**,@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 __*ppDRRC__ to __nullptr__. @ENG_END_DOX}
|
|
39
|
+
*
|
|
40
|
+
*@retvalues
|
|
41
|
+
*@ENG_START_DOX
|
|
42
|
+
* If the interface is successfully returned, __ADLX_OK__ is returned. <br>
|
|
43
|
+
* If the interface is not successfully returned, an error code is returned. <br>
|
|
44
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
45
|
+
*
|
|
46
|
+
*@detaileddesc
|
|
47
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
|
|
48
|
+
*
|
|
49
|
+
*@addinfo
|
|
50
|
+
*@ENG_START_DOX
|
|
51
|
+
*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
|
|
52
|
+
*
|
|
53
|
+
*@copydoc IADLXDisplayServices3_REQ_TABLE
|
|
54
|
+
*
|
|
55
|
+
*/
|
|
56
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetDynamicRefreshRateControl (IADLXDisplay* pDisplay, IADLXDisplayDynamicRefreshRateControl** ppDRRC) = 0;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
*@page DOX_IADLXDisplayServices3_GetFreeSyncColorAccuracy GetFreeSyncColorAccuracy
|
|
60
|
+
*@ENG_START_DOX @brief Gets the reference counted FreeSync color accuracy interface for a display. @ENG_END_DOX
|
|
61
|
+
*
|
|
62
|
+
*@syntax
|
|
63
|
+
*@codeStart
|
|
64
|
+
* @ref ADLX_RESULT GetFreeSyncColorAccuracy (@ref DOX_IADLXDisplay* pDisplay, @ref DOX_IADLXDisplayFreeSyncColorAccuracy** ppFSCA)
|
|
65
|
+
*@codeEnd
|
|
66
|
+
*
|
|
67
|
+
*@params
|
|
68
|
+
*@paramrow{1.,[in],pDisplay,@ref DOX_IADLXDisplay*,@ENG_START_DOX The pointer to the display interface. @ENG_END_DOX}
|
|
69
|
+
*@paramrow{2.,[out],ppFSCA,@ref DOX_IADLXDisplayFreeSyncColorAccuracy**,@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 __*ppFSCA to __nullptr__. @ENG_END_DOX}
|
|
70
|
+
*
|
|
71
|
+
*@retvalues
|
|
72
|
+
*@ENG_START_DOX
|
|
73
|
+
* If the interface is successfully returned, __ADLX_OK__ is returned. <br>
|
|
74
|
+
* If the interface is not successfully returned, an error code is returned. <br>
|
|
75
|
+
* Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
|
|
76
|
+
*
|
|
77
|
+
*@detaileddesc
|
|
78
|
+
*@ENG_START_DOX @details The returned interface must be discarded with @ref DOX_IADLXInterface_Release when it is no longer needed. @ENG_END_DOX
|
|
79
|
+
*
|
|
80
|
+
*@addinfo
|
|
81
|
+
*@ENG_START_DOX
|
|
82
|
+
*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
|
|
83
|
+
*
|
|
84
|
+
*@copydoc IADLXDisplayServices3_REQ_TABLE
|
|
85
|
+
*
|
|
86
|
+
*/
|
|
87
|
+
virtual ADLX_RESULT ADLX_STD_CALL GetFreeSyncColorAccuracy(IADLXDisplay* pDisplay, IADLXDisplayFreeSyncColorAccuracy** ppFSCA) = 0;
|
|
88
|
+
}; //IADLXDisplayServices3
|
|
89
|
+
//----------------------------------------------------------------------------------------------
|
|
90
|
+
typedef IADLXInterfacePtr_T<IADLXDisplayServices3> IADLXDisplayServices3Ptr;
|
|
91
|
+
} // namespace adlx
|
|
92
|
+
#else //__cplusplus
|
|
93
|
+
ADLX_DECLARE_IID(IADLXDisplayServices3, L"IADLXDisplayServices3")
|
|
94
|
+
typedef struct IADLXDisplayServices3 IADLXDisplayServices3;
|
|
95
|
+
|
|
96
|
+
typedef struct IADLXDisplayDynamicRefreshRateControl IADLXDisplayDynamicRefreshRateControl;
|
|
97
|
+
typedef struct IADLXDisplayFreeSyncColorAccuracy IADLXDisplayFreeSyncColorAccuracy;
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
typedef struct IADLXDisplayServices3Vtbl
|
|
101
|
+
{
|
|
102
|
+
//IADLXInterface
|
|
103
|
+
adlx_long(ADLX_STD_CALL* Acquire)(IADLXDisplayServices3* pThis);
|
|
104
|
+
adlx_long(ADLX_STD_CALL* Release)(IADLXDisplayServices3* pThis);
|
|
105
|
+
ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXDisplayServices3* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
106
|
+
|
|
107
|
+
//IADLXDisplayServices
|
|
108
|
+
ADLX_RESULT(ADLX_STD_CALL* GetNumberOfDisplays)(IADLXDisplayServices3* pThis, adlx_uint* numDisplays);
|
|
109
|
+
ADLX_RESULT(ADLX_STD_CALL* GetDisplays)(IADLXDisplayServices3* pThis, IADLXDisplayList** ppDisplays);
|
|
110
|
+
ADLX_RESULT(ADLX_STD_CALL* Get3DLUT)(IADLXDisplayServices3* pThis, IADLXDisplay* pDisplay, IADLXDisplay3DLUT** ppDisp3DLUT);
|
|
111
|
+
ADLX_RESULT(ADLX_STD_CALL* GetGamut)(IADLXDisplayServices3* pThis, IADLXDisplay* pDisplay, IADLXDisplayGamut** ppDispGamut);
|
|
112
|
+
ADLX_RESULT(ADLX_STD_CALL* GetGamma)(IADLXDisplayServices3* pThis, IADLXDisplay* pDisplay, IADLXDisplayGamma** ppDispGamma);
|
|
113
|
+
ADLX_RESULT(ADLX_STD_CALL* GetDisplayChangedHandling)(IADLXDisplayServices3* pThis, IADLXDisplayChangedHandling** ppDisplayChangedHandling);
|
|
114
|
+
ADLX_RESULT(ADLX_STD_CALL* GetFreeSync)(IADLXDisplayServices3* pThis, IADLXDisplay* pDisplay, IADLXDisplayFreeSync** ppFreeSync);
|
|
115
|
+
ADLX_RESULT(ADLX_STD_CALL* GetVirtualSuperResolution)(IADLXDisplayServices3* pThis, IADLXDisplay* pDisplay, IADLXDisplayVSR** ppVSR);
|
|
116
|
+
ADLX_RESULT(ADLX_STD_CALL* GetGPUScaling)(IADLXDisplayServices3* pThis, IADLXDisplay* pDisplay, IADLXDisplayGPUScaling** ppGPUScaling);
|
|
117
|
+
ADLX_RESULT(ADLX_STD_CALL* GetScalingMode)(IADLXDisplayServices3* pThis, IADLXDisplay* pDisplay, IADLXDisplayScalingMode** ppScalingMode);
|
|
118
|
+
ADLX_RESULT(ADLX_STD_CALL* GetIntegerScaling)(IADLXDisplayServices3* pThis, IADLXDisplay* pDisplay, IADLXDisplayIntegerScaling** ppIntegerScaling);
|
|
119
|
+
ADLX_RESULT(ADLX_STD_CALL* GetColorDepth)(IADLXDisplayServices3* pThis, IADLXDisplay* pDisplay, IADLXDisplayColorDepth** ppColorDepth);
|
|
120
|
+
ADLX_RESULT(ADLX_STD_CALL* GetPixelFormat)(IADLXDisplayServices3* pThis, IADLXDisplay* pDisplay, IADLXDisplayPixelFormat** ppPixelFormat);
|
|
121
|
+
ADLX_RESULT(ADLX_STD_CALL* GetCustomColor)(IADLXDisplayServices3* pThis, IADLXDisplay* pDisplay, IADLXDisplayCustomColor** ppCustomColor);
|
|
122
|
+
ADLX_RESULT(ADLX_STD_CALL* GetHDCP)(IADLXDisplayServices3* pThis, IADLXDisplay* pDisplay, IADLXDisplayHDCP** ppHDCP);
|
|
123
|
+
ADLX_RESULT(ADLX_STD_CALL* GetCustomResolution)(IADLXDisplayServices3* pThis, IADLXDisplay* pDisplay, IADLXDisplayCustomResolution** ppCustomResolution);
|
|
124
|
+
ADLX_RESULT(ADLX_STD_CALL* GetVariBright)(IADLXDisplayServices3* pThis, IADLXDisplay* pDisplay, IADLXDisplayVariBright** ppVariBright);
|
|
125
|
+
|
|
126
|
+
//IADLXDisplayServices1
|
|
127
|
+
ADLX_RESULT(ADLX_STD_CALL* GetDisplayBlanking)(IADLXDisplayServices3* pThis, IADLXDisplay* pDisplay, IADLXDisplayBlanking** ppDisplayBlanking);
|
|
128
|
+
|
|
129
|
+
//IADLXDisplayServices2
|
|
130
|
+
ADLX_RESULT(ADLX_STD_CALL* GetDisplayConnectivityExperience)(IADLXDisplayServices3* pThis, IADLXDisplay* pDisplay, IADLXDisplayConnectivityExperience** ppDisplayConnectivityExperience);
|
|
131
|
+
|
|
132
|
+
//IADLXDisplayServices3
|
|
133
|
+
ADLX_RESULT(ADLX_STD_CALL* GetDynamicRefreshRateControl)(IADLXDisplayServices3* pThis, IADLXDisplay* pDisplay, IADLXDisplayDynamicRefreshRateControl** ppDRRC);
|
|
134
|
+
ADLX_RESULT(ADLX_STD_CALL* GetFreeSyncColorAccuracy)(IADLXDisplayServices3* pThis, IADLXDisplay* pDisplay, IADLXDisplayFreeSyncColorAccuracy** ppFSCA);
|
|
135
|
+
} IADLXDisplayServices3Vtbl;
|
|
136
|
+
|
|
137
|
+
struct IADLXDisplayServices3 { const IADLXDisplayServices3Vtbl* pVtbl; };
|
|
138
|
+
#endif
|
|
139
|
+
|
|
140
|
+
#pragma endregion IADLXDisplayServices3
|
|
141
|
+
|
|
142
|
+
#pragma region IADLXDisplaySettingsChangedEvent3
|
|
143
|
+
#if defined (__cplusplus)
|
|
144
|
+
namespace adlx
|
|
145
|
+
{
|
|
146
|
+
class ADLX_NO_VTABLE IADLXDisplaySettingsChangedEvent3 : public IADLXDisplaySettingsChangedEvent2
|
|
147
|
+
{
|
|
148
|
+
public:
|
|
149
|
+
ADLX_DECLARE_IID(L"IADLXDisplaySettingsChangedEvent3")
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
*@page DOX_IADLXDisplaySettingsChangedEvent3_IsDisplayDynamicRefreshRateControlChanged IsDisplayDynamicRefreshRateControlChanged
|
|
153
|
+
*@ENG_START_DOX @brief Checks if the dynamic refresh rate control settings of the display are changed. @ENG_END_DOX
|
|
154
|
+
*
|
|
155
|
+
*@syntax
|
|
156
|
+
*@codeStart
|
|
157
|
+
* adlx_bool IsDisplayDynamicRefreshRateControlChanged ()
|
|
158
|
+
*@codeEnd
|
|
159
|
+
*
|
|
160
|
+
*@params
|
|
161
|
+
*N/A
|
|
162
|
+
*
|
|
163
|
+
*@retvalues
|
|
164
|
+
*@ENG_START_DOX
|
|
165
|
+
* If the Dynamic Refresh Rate Control settings are changed, __true__ is returned. <br>
|
|
166
|
+
* If the Dynamic Refresh Rate Control settings are not changed, __false__ is returned. @ENG_END_DOX
|
|
167
|
+
*
|
|
168
|
+
*
|
|
169
|
+
*@addinfo
|
|
170
|
+
*@ENG_START_DOX
|
|
171
|
+
* __Note:__ To obtain the display, use @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay.
|
|
172
|
+
*@ENG_END_DOX
|
|
173
|
+
*
|
|
174
|
+
*@copydoc IADLXDisplaySettingsChangedEvent3_REQ_TABLE
|
|
175
|
+
*/
|
|
176
|
+
virtual adlx_bool ADLX_STD_CALL IsDisplayDynamicRefreshRateControlChanged () = 0;
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
*@page DOX_IADLXDisplaySettingsChangedEvent3_IsFreeSyncColorAccuracyChanged IsFreeSyncColorAccuracyChanged
|
|
180
|
+
*@ENG_START_DOX @brief Checks for changes to the configuration of the HDR media profile on a display. @ENG_END_DOX
|
|
181
|
+
*
|
|
182
|
+
*@syntax
|
|
183
|
+
*@codeStart
|
|
184
|
+
* adlx_bool IsFreeSyncColorAccuracyChanged ()
|
|
185
|
+
*@codeEnd
|
|
186
|
+
*
|
|
187
|
+
*@params
|
|
188
|
+
*N/A
|
|
189
|
+
*
|
|
190
|
+
*@retvalues
|
|
191
|
+
*@ENG_START_DOX
|
|
192
|
+
* If the FreeSync color accuracy settings are changed, __true__ is returned. <br>
|
|
193
|
+
* If the FreeSync color accuracy settings are not changed, __false__ is returned. @ENG_END_DOX
|
|
194
|
+
*
|
|
195
|
+
*
|
|
196
|
+
*@addinfo
|
|
197
|
+
*@ENG_START_DOX
|
|
198
|
+
* __Note:__ To obtain the display, use @ref DOX_IADLXDisplaySettingsChangedEvent_GetDisplay.
|
|
199
|
+
*@ENG_END_DOX
|
|
200
|
+
*
|
|
201
|
+
*@copydoc IADLXDisplaySettingsChangedEvent3_REQ_TABLE
|
|
202
|
+
*/
|
|
203
|
+
virtual adlx_bool ADLX_STD_CALL IsFreeSyncColorAccuracyChanged() = 0;
|
|
204
|
+
}; //IADLXDisplaySettingsChangedEvent3
|
|
205
|
+
//----------------------------------------------------------------------------------------------
|
|
206
|
+
typedef IADLXInterfacePtr_T<IADLXDisplaySettingsChangedEvent3> IADLXDisplaySettingsChangedEvent3Ptr;
|
|
207
|
+
} //namespace adlx
|
|
208
|
+
#else //__cplusplus
|
|
209
|
+
ADLX_DECLARE_IID(IADLXDisplaySettingsChangedEvent3, L"IADLXDisplaySettingsChangedEvent3")
|
|
210
|
+
typedef struct IADLXDisplaySettingsChangedEvent3 IADLXDisplaySettingsChangedEvent3;
|
|
211
|
+
|
|
212
|
+
typedef struct IADLXDisplaySettingsChangedEvent3Vtbl
|
|
213
|
+
{
|
|
214
|
+
//IADLXInterface
|
|
215
|
+
adlx_long(ADLX_STD_CALL* Acquire)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
216
|
+
adlx_long(ADLX_STD_CALL* Release)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
217
|
+
ADLX_RESULT(ADLX_STD_CALL* QueryInterface)(IADLXDisplaySettingsChangedEvent3* pThis, const wchar_t* interfaceId, void** ppInterface);
|
|
218
|
+
|
|
219
|
+
//IADLXChangedEvent
|
|
220
|
+
ADLX_SYNC_ORIGIN(ADLX_STD_CALL* GetOrigin)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
221
|
+
|
|
222
|
+
// IADLXDisplaySettingsChangedEvent interface
|
|
223
|
+
ADLX_RESULT(ADLX_STD_CALL* GetDisplay)(IADLXDisplaySettingsChangedEvent3* pThis, IADLXDisplay** ppDisplay);
|
|
224
|
+
adlx_bool(ADLX_STD_CALL* IsFreeSyncChanged)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
225
|
+
adlx_bool(ADLX_STD_CALL* IsVSRChanged)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
226
|
+
adlx_bool(ADLX_STD_CALL* IsGPUScalingChanged)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
227
|
+
adlx_bool(ADLX_STD_CALL* IsScalingModeChanged)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
228
|
+
adlx_bool(ADLX_STD_CALL* IsIntegerScalingChanged)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
229
|
+
adlx_bool(ADLX_STD_CALL* IsColorDepthChanged)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
230
|
+
adlx_bool(ADLX_STD_CALL* IsPixelFormatChanged)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
231
|
+
adlx_bool(ADLX_STD_CALL* IsHDCPChanged)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
232
|
+
adlx_bool(ADLX_STD_CALL* IsCustomColorHueChanged)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
233
|
+
adlx_bool(ADLX_STD_CALL* IsCustomColorSaturationChanged)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
234
|
+
adlx_bool(ADLX_STD_CALL* IsCustomColorBrightnessChanged)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
235
|
+
adlx_bool(ADLX_STD_CALL* IsCustomColorTemperatureChanged)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
236
|
+
adlx_bool(ADLX_STD_CALL* IsCustomColorContrastChanged)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
237
|
+
adlx_bool(ADLX_STD_CALL* IsCustomResolutionChanged)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
238
|
+
adlx_bool(ADLX_STD_CALL* IsVariBrightChanged)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
239
|
+
|
|
240
|
+
// IADLXDisplaySettingsChangedEvent1 interface
|
|
241
|
+
adlx_bool(ADLX_STD_CALL* IsDisplayBlankingChanged)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
242
|
+
|
|
243
|
+
// IADLXDisplaySettingsChangedEvent2 interface
|
|
244
|
+
adlx_bool(ADLX_STD_CALL* IsDisplayConnectivityExperienceChanged)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
245
|
+
|
|
246
|
+
// IADLXDisplaySettingsChangedEvent3 interface
|
|
247
|
+
adlx_bool(ADLX_STD_CALL* IsDisplayDynamicRefreshRateControlChanged)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
248
|
+
adlx_bool(ADLX_STD_CALL* IsFreeSyncColorAccuracyChanged)(IADLXDisplaySettingsChangedEvent3* pThis);
|
|
249
|
+
|
|
250
|
+
} IADLXDisplaySettingsChangedEvent3Vtbl;
|
|
251
|
+
|
|
252
|
+
struct IADLXDisplaySettingsChangedEvent3 { const IADLXDisplaySettingsChangedEvent3Vtbl* pVtbl; };
|
|
253
|
+
#endif //__cplusplus
|
|
254
|
+
#pragma endregion IADLXDisplaySettingsChangedEvent3
|
|
255
|
+
|
|
256
|
+
#endif //ADLX_IDISPLAYS3_H
|