mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Removed patch to fix RandR on some broken nVidia systems (accepted upstream).
This commit is contained in:
parent
6a1d2cdd7b
commit
525dcd012f
@ -191,7 +191,7 @@ Included bug fixes and improvements
|
||||
* Wine ignores IDF_CHECKFIRST flag in SetupPromptForDisk ([Wine Bug #20465](https://bugs.winehq.org/show_bug.cgi?id=20465))
|
||||
* Workaround for shlwapi URLs with relative paths
|
||||
* XEMBED support for embedding Wine windows inside Linux applications
|
||||
* nVidia driver for high-end laptop cards does not list all supported resolutions
|
||||
* ~~nVidia driver for high-end laptop cards does not list all supported resolutions~~
|
||||
* ntdll is missing WinSqm[Start|End]Session implementation ([Wine Bug #31971](https://bugs.winehq.org/show_bug.cgi?id=31971))
|
||||
* wglDescribePixelFormat should return max index for NULL descriptor ([Wine Bug #6176](https://bugs.winehq.org/show_bug.cgi?id=6176))
|
||||
* wininet should allow Accept-Encoding header for HTTP/1.0 ([Wine Bug #37046](https://bugs.winehq.org/show_bug.cgi?id=37046))
|
||||
|
1
debian/changelog
vendored
1
debian/changelog
vendored
@ -14,6 +14,7 @@ wine-staging (1.7.35) UNRELEASED; urgency=low
|
||||
* Added patch to implement stubs for D3DXCreateAnimationController interface.
|
||||
* Added patch to implement semi-stub for IDirectPlayVoiceClient::GetCompressionTypes.
|
||||
* Added patch to fix cursor clip regression / broken raw input in multiple games.
|
||||
* Removed patch to fix RandR on some broken nVidia systems (accepted upstream).
|
||||
* Removed patch to set last error on success in WSARecv (accepted upstream).
|
||||
* Removed patch to fix handling of subdirectory in FtpFindFirstFile (accepted upstream).
|
||||
* Removed patch to initialize irp.Tail.Overlay.OriginalFileObject with stub file object (accepted upstream).
|
||||
|
@ -179,7 +179,6 @@ patch_enable_all ()
|
||||
enable_winepulse_PulseAudio_Support="$1"
|
||||
enable_winex11_CandidateWindowPos="$1"
|
||||
enable_winex11_Clipboard_HTML="$1"
|
||||
enable_winex11_Limited_Resolutions="$1"
|
||||
enable_winex11_Window_Groups="$1"
|
||||
enable_winex11_XEMBED="$1"
|
||||
enable_winex11_wglShareLists="$1"
|
||||
@ -565,9 +564,6 @@ patch_enable ()
|
||||
winex11-Clipboard_HTML)
|
||||
enable_winex11_Clipboard_HTML="$2"
|
||||
;;
|
||||
winex11-Limited_Resolutions)
|
||||
enable_winex11_Limited_Resolutions="$2"
|
||||
;;
|
||||
winex11-Window_Groups)
|
||||
enable_winex11_Window_Groups="$2"
|
||||
;;
|
||||
@ -3477,18 +3473,6 @@ if test "$enable_winex11_Clipboard_HTML" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset winex11-Limited_Resolutions
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/winex11.drv/xrandr.c
|
||||
# |
|
||||
if test "$enable_winex11_Limited_Resolutions" -eq 1; then
|
||||
patch_apply winex11-Limited_Resolutions/0001-winex11.drv-Update-the-check-for-broken-nVidia-RandR.patch
|
||||
(
|
||||
echo '+ { "Erich E. Hoover", "winex11.drv: Update the check for broken nVidia RandR to test for the number of resolutions instead of the number of modes.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset winex11-Window_Groups
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
@ -352,7 +352,7 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
|
||||
{
|
||||
gl_info->gl_ops.gl.p_glDisable(GL_STENCIL_TEST);
|
||||
checkGLcall("glDisable GL_STENCIL_TEST");
|
||||
@@ -912,7 +924,11 @@
|
||||
@@ -922,7 +934,11 @@
|
||||
|
||||
static void state_stencilwrite2s(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
|
||||
{
|
||||
@ -364,7 +364,7 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
|
||||
const struct wined3d_gl_info *gl_info = context->gl_info;
|
||||
|
||||
GL_EXTCALL(glActiveStencilFaceEXT(GL_BACK));
|
||||
@@ -926,7 +942,11 @@
|
||||
@@ -936,7 +952,11 @@
|
||||
|
||||
static void state_stencilwrite(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
|
||||
{
|
||||
@ -376,7 +376,7 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
|
||||
const struct wined3d_gl_info *gl_info = context->gl_info;
|
||||
|
||||
gl_info->gl_ops.gl.p_glStencilMask(mask);
|
||||
@@ -1167,10 +1187,17 @@
|
||||
@@ -1177,10 +1197,17 @@
|
||||
/* drop through */
|
||||
|
||||
case WINED3D_FOG_NONE:
|
||||
@ -394,7 +394,7 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
|
||||
new_source = FOGSOURCE_COORD;
|
||||
gl_info->gl_ops.gl.p_glFogi(GL_FOG_MODE, GL_LINEAR);
|
||||
checkGLcall("glFogi(GL_FOG_MODE, GL_LINEAR)");
|
||||
@@ -1766,7 +1793,11 @@
|
||||
@@ -1776,7 +1803,11 @@
|
||||
if (state->render_states[WINED3D_RS_SLOPESCALEDEPTHBIAS]
|
||||
|| state->render_states[WINED3D_RS_DEPTHBIAS])
|
||||
{
|
||||
@ -406,7 +406,7 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
|
||||
float scale;
|
||||
|
||||
union
|
||||
@@ -4415,9 +4446,15 @@
|
||||
@@ -4425,9 +4456,15 @@
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -422,7 +422,7 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
|
||||
WARN("unsupported blending in openGl\n");
|
||||
}
|
||||
}
|
||||
@@ -4772,7 +4809,11 @@
|
||||
@@ -4782,7 +4819,11 @@
|
||||
|
||||
static void viewport_miscpart(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
|
||||
{
|
||||
@ -434,7 +434,7 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
|
||||
const struct wined3d_gl_info *gl_info = context->gl_info;
|
||||
struct wined3d_viewport vp = state->viewport;
|
||||
|
||||
@@ -4952,7 +4993,11 @@
|
||||
@@ -4962,7 +5003,11 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -446,7 +446,7 @@ diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
|
||||
UINT height;
|
||||
UINT width;
|
||||
|
||||
@@ -5016,7 +5061,11 @@
|
||||
@@ -5026,7 +5071,11 @@
|
||||
|
||||
void state_srgbwrite(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
|
||||
{
|
||||
@ -9521,7 +9521,7 @@ diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
|
||||
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
|
||||
--- a/dlls/wined3d/directx.c
|
||||
+++ b/dlls/wined3d/directx.c
|
||||
@@ -5205,9 +5205,15 @@
|
||||
@@ -5208,9 +5208,15 @@
|
||||
DebugBreak();
|
||||
}
|
||||
|
||||
|
@ -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
|
Loading…
Reference in New Issue
Block a user