[PATCH 1/5] include: Add additional DISPLAYCONFIG defines.

Brendan Shanks bshanks at codeweavers.com
Mon May 4 20:08:27 CDT 2020


Signed-off-by: Brendan Shanks <bshanks at codeweavers.com>
---
 include/wingdi.h | 112 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 112 insertions(+)

diff --git a/include/wingdi.h b/include/wingdi.h
index 0a456f8230..de028f5212 100644
--- a/include/wingdi.h
+++ b/include/wingdi.h
@@ -3293,6 +3293,9 @@ typedef enum {
     DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE           = 6,
     DISPLAYCONFIG_DEVICE_INFO_GET_SUPPORT_VIRTUAL_RESOLUTION = 7,
     DISPLAYCONFIG_DEVICE_INFO_SET_SUPPORT_VIRTUAL_RESOLUTION = 8,
+    DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO        = 9,
+    DISPLAYCONFIG_DEVICE_INFO_SET_ADVANCED_COLOR_STATE       = 10,
+    DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL            = 11,
     DISPLAYCONFIG_DEVICE_INFO_FORCE_UINT32                   = 0xffffffff
 } DISPLAYCONFIG_DEVICE_INFO_TYPE;
 
@@ -3429,6 +3432,16 @@ typedef enum
     DISPLAYCONFIG_OUTPUT_TECHNOLOGY_FORCE_UINT32 = (int) 0xffffffff
 } DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY;
 
+typedef enum
+{
+    DISPLAYCONFIG_COLOR_ENCODING_RGB = 0,
+    DISPLAYCONFIG_COLOR_ENCODING_YCBCR444 = 1,
+    DISPLAYCONFIG_COLOR_ENCODING_YCBCR422 = 2,
+    DISPLAYCONFIG_COLOR_ENCODING_YCBCR420 = 3,
+    DISPLAYCONFIG_COLOR_ENCODING_INTENSITY = 4,
+    DISPLAYCONFIG_COLOR_ENCODING_FORCE_UINT32 = 0xffffffff
+} DISPLAYCONFIG_COLOR_ENCODING;
+
 typedef struct DISPLAYCONFIG_2DREGION
 {
     UINT32 cx;
@@ -3525,6 +3538,105 @@ typedef struct DISPLAYCONFIG_MODE_INFO
     } DUMMYUNIONNAME;
 } DISPLAYCONFIG_MODE_INFO;
 
+typedef struct DISPLAYCONFIG_SOURCE_DEVICE_NAME {
+    DISPLAYCONFIG_DEVICE_INFO_HEADER header;
+    WCHAR                            viewGdiDeviceName[CCHDEVICENAME];
+} DISPLAYCONFIG_SOURCE_DEVICE_NAME;
+
+typedef struct DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS {
+    union {
+        struct {
+            UINT32 friendlyNameFromEdid :1;
+            UINT32 friendlyNameForced :1;
+            UINT32 edidIdsValid :1;
+            UINT32 reserved :29;
+        } DUMMYSTRUCTNAME;
+        UINT32 value;
+    } DUMMYUNIONNAME;
+} DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS;
+
+typedef struct DISPLAYCONFIG_TARGET_DEVICE_NAME {
+    DISPLAYCONFIG_DEVICE_INFO_HEADER       header;
+    DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS flags;
+    DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY  outputTechnology;
+    UINT16                                 edidManufactureId;
+    UINT16                                 edidProductCodeId;
+    UINT32                                 connectorInstance;
+    WCHAR                                  monitorFriendlyDeviceName[64];
+    WCHAR                                  monitorDevicePath[128];
+} DISPLAYCONFIG_TARGET_DEVICE_NAME;
+
+typedef struct DISPLAYCONFIG_TARGET_PREFERRED_MODE {
+    DISPLAYCONFIG_DEVICE_INFO_HEADER header;
+    UINT32                           width;
+    UINT32                           height;
+    DISPLAYCONFIG_TARGET_MODE        targetMode;
+} DISPLAYCONFIG_TARGET_PREFERRED_MODE;
+
+typedef struct DISPLAYCONFIG_ADAPTER_NAME {
+    DISPLAYCONFIG_DEVICE_INFO_HEADER header;
+    WCHAR                            adapterDevicePath[128];
+} DISPLAYCONFIG_ADAPTER_NAME;
+
+typedef struct DISPLAYCONFIG_SET_TARGET_PERSISTENCE {
+    DISPLAYCONFIG_DEVICE_INFO_HEADER header;
+    union {
+        struct {
+            UINT32 bootPersistenceOn :1;
+            UINT32 reserved :31;
+        } DUMMYSTRUCTNAME;
+        UINT32 value;
+    } DUMMYUNIONNAME;
+} DISPLAYCONFIG_SET_TARGET_PERSISTENCE;
+
+typedef struct DISPLAYCONFIG_TARGET_BASE_TYPE {
+    DISPLAYCONFIG_DEVICE_INFO_HEADER      header;
+    DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY baseOutputTechnology;
+} DISPLAYCONFIG_TARGET_BASE_TYPE;
+
+typedef struct DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION {
+    DISPLAYCONFIG_DEVICE_INFO_HEADER header;
+    union {
+        struct {
+            UINT32 disableMonitorVirtualResolution :1;
+            UINT32 reserved :31;
+        } DUMMYSTRUCTNAME;
+        UINT32 value;
+    } DUMMYUNIONNAME;
+} DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION;
+
+typedef struct DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO {
+    DISPLAYCONFIG_DEVICE_INFO_HEADER header;
+    union {
+        struct {
+            UINT32 advancedColorSupported :1;
+            UINT32 advancedColorEnabled :1;
+            UINT32 wideColorEnforced :1;
+            UINT32 advancedColorForceDisabled :1;
+            UINT32 reserved :28;
+        } DUMMYSTRUCTNAME;
+        UINT32 value;
+    } DUMMYUNIONNAME;
+    DISPLAYCONFIG_COLOR_ENCODING colorEncoding;
+    UINT32                       bitsPerColorChannel;
+} DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO;
+
+typedef struct DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE {
+    DISPLAYCONFIG_DEVICE_INFO_HEADER header;
+    union {
+        struct {
+            UINT32 enableAdvancedColor :1;
+            UINT32 reserved :31;
+        } DUMMYSTRUCTNAME;
+        UINT32 value;
+    } DUMMYUNIONNAME;
+} DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE;
+
+typedef struct DISPLAYCONFIG_SDR_WHITE_LEVEL {
+    DISPLAYCONFIG_DEVICE_INFO_HEADER header;
+    ULONG                            SDRWhiteLevel;
+} DISPLAYCONFIG_SDR_WHITE_LEVEL;
+
 /* For GetDisplayConfigBufferSizes */
 #define QDC_ALL_PATHS                           0x00000001
 #define QDC_ONLY_ACTIVE_PATHS                   0x00000002
-- 
2.26.2




More information about the wine-devel mailing list