You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Removed patch to fix RandR on some broken nVidia systems (accepted upstream).
This commit is contained in:
@@ -1,80 +0,0 @@
|
||||
From 590ab2d6042e4af966bae9dc9f8ada3d68d9825d Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Sat, 9 Aug 2014 13:15:09 -0600
|
||||
Subject: winex11.drv: Update the check for broken nVidia RandR to test for the
|
||||
number of resolutions instead of the number of modes.
|
||||
|
||||
---
|
||||
dlls/winex11.drv/xrandr.c | 42 +++++++++++++++++++++++++++---------------
|
||||
1 file changed, 27 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/dlls/winex11.drv/xrandr.c b/dlls/winex11.drv/xrandr.c
|
||||
index fc09020..e9670c3 100644
|
||||
--- a/dlls/winex11.drv/xrandr.c
|
||||
+++ b/dlls/winex11.drv/xrandr.c
|
||||
@@ -386,6 +386,7 @@ static XRRCrtcInfo *xrandr12_get_primary_crtc_info( XRRScreenResources *resource
|
||||
|
||||
static int xrandr12_init_modes(void)
|
||||
{
|
||||
+ unsigned int only_one_resolution = 1, mode_count;
|
||||
XRRScreenResources *resources;
|
||||
XRROutputInfo *output_info;
|
||||
XRRCrtcInfo *crtc_info;
|
||||
@@ -434,21 +435,6 @@ static int xrandr12_init_modes(void)
|
||||
goto done;
|
||||
}
|
||||
|
||||
- /* Recent (304.64, possibly earlier) versions of the nvidia driver only
|
||||
- * report a DFP's native mode through RandR 1.2 / 1.3. Standard DMT modes
|
||||
- * are only listed through RandR 1.0 / 1.1. This is completely useless,
|
||||
- * but NVIDIA considers this a feature, so it's unlikely to change. The
|
||||
- * best we can do is to fall back to RandR 1.0 and encourage users to
|
||||
- * consider more cooperative driver vendors when we detect such a
|
||||
- * configuration. */
|
||||
- if (output_info->nmode == 1 && XQueryExtension( gdi_display, "NV-CONTROL", &i, &j, &ret ))
|
||||
- {
|
||||
- ERR_(winediag)("Broken NVIDIA RandR detected, falling back to RandR 1.0. "
|
||||
- "Please consider using the Nouveau driver instead.\n");
|
||||
- ret = -1;
|
||||
- goto done;
|
||||
- }
|
||||
-
|
||||
if (!(xrandr12_modes = HeapAlloc( GetProcessHeap(), 0, sizeof(*xrandr12_modes) * output_info->nmode )))
|
||||
{
|
||||
ERR("Failed to allocate xrandr mode info array.\n");
|
||||
@@ -480,6 +466,32 @@ static int xrandr12_init_modes(void)
|
||||
}
|
||||
}
|
||||
|
||||
+ mode_count = X11DRV_Settings_GetModeCount();
|
||||
+ for (i = 1; i < mode_count; ++i)
|
||||
+ {
|
||||
+ if (dd_modes[i].width != dd_modes[0].width || dd_modes[i].height != dd_modes[0].height)
|
||||
+ {
|
||||
+ only_one_resolution = 0;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /* Recent (304.64, possibly earlier) versions of the nvidia driver only
|
||||
+ * report a DFP's native mode through RandR 1.2 / 1.3. Standard DMT modes
|
||||
+ * are only listed through RandR 1.0 / 1.1. This is completely useless,
|
||||
+ * but NVIDIA considers this a feature, so it's unlikely to change. The
|
||||
+ * best we can do is to fall back to RandR 1.0 and encourage users to
|
||||
+ * consider more cooperative driver vendors when we detect such a
|
||||
+ * configuration. */
|
||||
+ if (only_one_resolution && XQueryExtension( gdi_display, "NV-CONTROL", &i, &j, &ret ))
|
||||
+ {
|
||||
+ ERR_(winediag)("Broken NVIDIA RandR detected, falling back to RandR 1.0. "
|
||||
+ "Please consider using the Nouveau driver instead.\n");
|
||||
+ ret = -1;
|
||||
+ HeapFree( GetProcessHeap(), 0, xrandr12_modes );
|
||||
+ goto done;
|
||||
+ }
|
||||
+
|
||||
X11DRV_Settings_AddDepthModes();
|
||||
ret = 0;
|
||||
|
||||
--
|
||||
1.9.1
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: nVidia driver for high-end laptop cards does not list all supported resolutions
|
Reference in New Issue
Block a user