mirror of
https://github.com/libretro/RetroArch
synced 2025-04-07 13:23:32 +00:00
Merge pull request #6973 from bearoso/fix-rr
Win32: Fix monitor-reported refresh rate.
This commit is contained in:
commit
8a683c1626
@ -92,78 +92,6 @@ extern void *dinput_wgl;
|
|||||||
extern void *dinput;
|
extern void *dinput;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
DISPLAYCONFIG_SCANLINE_ORDERING_UNSPECIFIED_CUSTOM = 0,
|
|
||||||
DISPLAYCONFIG_SCANLINE_ORDERING_PROGRESSIVE_CUSTOM = 1,
|
|
||||||
DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_CUSTOM = 2,
|
|
||||||
DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_UPPERFIELDFIRST_CUSTOM = DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_CUSTOM,
|
|
||||||
DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_LOWERFIELDFIRST_CUSTOM = 3,
|
|
||||||
DISPLAYCONFIG_SCANLINE_ORDERING_FORCE_UINT32_CUSTOM = 0xFFFFFFFF
|
|
||||||
} DISPLAYCONFIG_SCANLINE_ORDERING_CUSTOM;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE_CUSTOM = 1,
|
|
||||||
DISPLAYCONFIG_MODE_INFO_TYPE_TARGET_CUSTOM = 2,
|
|
||||||
DISPLAYCONFIG_MODE_INFO_TYPE_DESKTOP_IMAGE_CUSTOM = 3,
|
|
||||||
DISPLAYCONFIG_MODE_INFO_TYPE_FORCE_UINT32_CUSTOM = 0xFFFFFFFF
|
|
||||||
} DISPLAYCONFIG_MODE_INFO_TYPE_CUSTOM;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
DISPLAYCONFIG_PIXELFORMAT_8BPP_CUSTOM = 1,
|
|
||||||
DISPLAYCONFIG_PIXELFORMAT_16BPP_CUSTOM = 2,
|
|
||||||
DISPLAYCONFIG_PIXELFORMAT_24BPP_CUSTOM = 3,
|
|
||||||
DISPLAYCONFIG_PIXELFORMAT_32BPP_CUSTOM = 4,
|
|
||||||
DISPLAYCONFIG_PIXELFORMAT_NONGDI_CUSTOM = 5,
|
|
||||||
DISPLAYCONFIG_PIXELFORMAT_FORCE_UINT32_CUSTOM = 0xffffffff
|
|
||||||
} DISPLAYCONFIG_PIXELFORMAT_CUSTOM;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_OTHER_CUSTOM = -1,
|
|
||||||
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HD15_CUSTOM = 0,
|
|
||||||
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SVIDEO_CUSTOM = 1,
|
|
||||||
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPOSITE_VIDEO_CUSTOM = 2,
|
|
||||||
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPONENT_VIDEO_CUSTOM = 3,
|
|
||||||
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DVI_CUSTOM = 4,
|
|
||||||
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HDMI_CUSTOM = 5,
|
|
||||||
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_LVDS_CUSTOM = 6,
|
|
||||||
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_D_JPN_CUSTOM = 8,
|
|
||||||
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDI_CUSTOM = 9,
|
|
||||||
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EXTERNAL_CUSTOM = 10,
|
|
||||||
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED_CUSTOM = 11,
|
|
||||||
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EXTERNAL_CUSTOM = 12,
|
|
||||||
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EMBEDDED_CUSTOM = 13,
|
|
||||||
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDTVDONGLE_CUSTOM = 14,
|
|
||||||
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_MIRACAST_CUSTOM = 15,
|
|
||||||
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL_CUSTOM = 0x80000000,
|
|
||||||
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_FORCE_UINT32_CUSTOM = 0xFFFFFFFF
|
|
||||||
} DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_CUSTOM;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
DISPLAYCONFIG_ROTATION_IDENTITY_CUSTOM = 1,
|
|
||||||
DISPLAYCONFIG_ROTATION_ROTATE90_CUSTOM = 2,
|
|
||||||
DISPLAYCONFIG_ROTATION_ROTATE180_CUSTOM = 3,
|
|
||||||
DISPLAYCONFIG_ROTATION_ROTATE270_CUSTOM = 4,
|
|
||||||
DISPLAYCONFIG_ROTATION_FORCE_UINT32_CUSTOM = 0xFFFFFFFF
|
|
||||||
} DISPLAYCONFIG_ROTATION_CUSTOM;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
DISPLAYCONFIG_SCALING_IDENTITY_CUSTOM = 1,
|
|
||||||
DISPLAYCONFIG_SCALING_CENTERED_CUSTOM = 2,
|
|
||||||
DISPLAYCONFIG_SCALING_STRETCHED_CUSTOM = 3,
|
|
||||||
DISPLAYCONFIG_SCALING_ASPECTRATIOCENTEREDMAX_CUSTOM = 4,
|
|
||||||
DISPLAYCONFIG_SCALING_CUSTOM_CUSTOM = 5,
|
|
||||||
DISPLAYCONFIG_SCALING_PREFERRED_CUSTOM = 128,
|
|
||||||
DISPLAYCONFIG_SCALING_FORCE_UINT32_CUSTOM = 0xFFFFFFFF
|
|
||||||
} DISPLAYCONFIG_SCALING_CUST;
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
DISPLAYCONFIG_TOPOLOGY_INTERNAL_CUSTOM = 0x00000001,
|
|
||||||
DISPLAYCONFIG_TOPOLOGY_CLONE_CUSTOM = 0x00000002,
|
|
||||||
DISPLAYCONFIG_TOPOLOGY_EXTEND_CUSTOM = 0x00000004,
|
|
||||||
DISPLAYCONFIG_TOPOLOGY_EXTERNAL_CUSTOM = 0x00000008,
|
|
||||||
DISPLAYCONFIG_TOPOLOGY_FORCE_UINT32_CUSTOM = 0xFFFFFFFF
|
|
||||||
} DISPLAYCONFIG_TOPOLOGY_ID_CUSTOM;
|
|
||||||
|
|
||||||
typedef struct DISPLAYCONFIG_RATIONAL_CUSTOM {
|
typedef struct DISPLAYCONFIG_RATIONAL_CUSTOM {
|
||||||
UINT32 Numerator;
|
UINT32 Numerator;
|
||||||
UINT32 Denominator;
|
UINT32 Denominator;
|
||||||
@ -188,7 +116,7 @@ typedef struct DISPLAYCONFIG_VIDEO_SIGNAL_INFO_CUSTOM {
|
|||||||
} AdditionalSignalInfo;
|
} AdditionalSignalInfo;
|
||||||
UINT32 videoStandard;
|
UINT32 videoStandard;
|
||||||
};
|
};
|
||||||
DISPLAYCONFIG_SCANLINE_ORDERING_CUSTOM scanLineOrdering;
|
UINT32 scanLineOrdering;
|
||||||
} DISPLAYCONFIG_VIDEO_SIGNAL_INFO_CUSTOM;
|
} DISPLAYCONFIG_VIDEO_SIGNAL_INFO_CUSTOM;
|
||||||
|
|
||||||
typedef struct DISPLAYCONFIG_TARGET_MODE_CUSTOM {
|
typedef struct DISPLAYCONFIG_TARGET_MODE_CUSTOM {
|
||||||
@ -217,12 +145,12 @@ typedef struct DISPLAYCONFIG_DESKTOP_IMAGE_INFO_CUSTOM {
|
|||||||
typedef struct DISPLAYCONFIG_SOURCE_MODE_CUSTOM {
|
typedef struct DISPLAYCONFIG_SOURCE_MODE_CUSTOM {
|
||||||
UINT32 width;
|
UINT32 width;
|
||||||
UINT32 height;
|
UINT32 height;
|
||||||
DISPLAYCONFIG_PIXELFORMAT_CUSTOM pixelFormat;
|
UINT32 pixelFormat;
|
||||||
POINTL position;
|
POINTL position;
|
||||||
} DISPLAYCONFIG_SOURCE_MODE_CUSTOM;
|
} DISPLAYCONFIG_SOURCE_MODE_CUSTOM;
|
||||||
|
|
||||||
typedef struct DISPLAYCONFIG_MODE_INFO_CUSTOM {
|
typedef struct DISPLAYCONFIG_MODE_INFO_CUSTOM {
|
||||||
DISPLAYCONFIG_MODE_INFO_TYPE_CUSTOM infoType;
|
UINT32 infoType;
|
||||||
UINT32 id;
|
UINT32 id;
|
||||||
LUID adapterId;
|
LUID adapterId;
|
||||||
union {
|
union {
|
||||||
@ -242,11 +170,11 @@ typedef struct DISPLAYCONFIG_PATH_TARGET_INFO_CUSTOM {
|
|||||||
UINT32 targetModeInfoIdx :16;
|
UINT32 targetModeInfoIdx :16;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_CUSTOM outputTechnology;
|
UINT32 outputTechnology;
|
||||||
DISPLAYCONFIG_ROTATION_CUSTOM rotation;
|
UINT32 rotation;
|
||||||
DISPLAYCONFIG_SCALING_CUST scaling;
|
UINT32 scaling;
|
||||||
DISPLAYCONFIG_RATIONAL_CUSTOM refreshRate;
|
DISPLAYCONFIG_RATIONAL_CUSTOM refreshRate;
|
||||||
DISPLAYCONFIG_SCANLINE_ORDERING_CUSTOM scanLineOrdering;
|
UINT32 scanLineOrdering;
|
||||||
BOOL targetAvailable;
|
BOOL targetAvailable;
|
||||||
UINT32 statusFlags;
|
UINT32 statusFlags;
|
||||||
} DISPLAYCONFIG_PATH_TARGET_INFO_CUSTOM;
|
} DISPLAYCONFIG_PATH_TARGET_INFO_CUSTOM;
|
||||||
@ -259,7 +187,7 @@ typedef struct DISPLAYCONFIG_PATH_INFO_CUSTOM {
|
|||||||
UINT32 flags;
|
UINT32 flags;
|
||||||
} DISPLAYCONFIG_PATH_INFO_CUSTOM;
|
} DISPLAYCONFIG_PATH_INFO_CUSTOM;
|
||||||
|
|
||||||
typedef LONG (WINAPI *QUERYDISPLAYCONFIG)(UINT32, UINT32*, DISPLAYCONFIG_PATH_INFO_CUSTOM*, UINT32*, DISPLAYCONFIG_MODE_INFO_CUSTOM*, DISPLAYCONFIG_TOPOLOGY_ID_CUSTOM*);
|
typedef LONG (WINAPI *QUERYDISPLAYCONFIG)(UINT32, UINT32*, DISPLAYCONFIG_PATH_INFO_CUSTOM*, UINT32*, DISPLAYCONFIG_MODE_INFO_CUSTOM*, UINT32*);
|
||||||
typedef LONG (WINAPI *GETDISPLAYCONFIGBUFFERSIZES)(UINT32, UINT32*, UINT32*);
|
typedef LONG (WINAPI *GETDISPLAYCONFIGBUFFERSIZES)(UINT32, UINT32*, UINT32*);
|
||||||
|
|
||||||
static bool g_win32_resized = false;
|
static bool g_win32_resized = false;
|
||||||
@ -1454,7 +1382,7 @@ float win32_get_refresh_rate(void *data)
|
|||||||
float refresh_rate = 0.0f;
|
float refresh_rate = 0.0f;
|
||||||
#if _WIN32_WINNT >= 0x0601 || _WIN32_WINDOWS >= 0x0601 /* Win 7 */
|
#if _WIN32_WINNT >= 0x0601 || _WIN32_WINDOWS >= 0x0601 /* Win 7 */
|
||||||
OSVERSIONINFO version_info;
|
OSVERSIONINFO version_info;
|
||||||
DISPLAYCONFIG_TOPOLOGY_ID_CUSTOM TopologyID;
|
UINT32 TopologyID;
|
||||||
unsigned int NumPathArrayElements = 0;
|
unsigned int NumPathArrayElements = 0;
|
||||||
unsigned int NumModeInfoArrayElements = 0;
|
unsigned int NumModeInfoArrayElements = 0;
|
||||||
DISPLAYCONFIG_PATH_INFO_CUSTOM *PathInfoArray = NULL;
|
DISPLAYCONFIG_PATH_INFO_CUSTOM *PathInfoArray = NULL;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user