Zebediah Figura
70d842b106
winex11: Resize the screen when changing CRTC modes.
...
Based on a patch by Gabriel Corona.
According to the RandR spec for RRSetCrtcConfig:
"The entire area of the CRTC must fit within the screen size, else a Match
error results. As an example, rotating the screen so that a single CRTC fills
the entire screen before and after may necessitate disabling the CRTC,
resizing the screen, then re-enabling the CRTC at the new configuration to
avoid an invalid intermediate configuration."
This patch involves resizing the screen also when shrinking a CRTC, not just
when expanding it past the current screen size. This is partially because we
have no way to reliably determine the current display width (DisplayWidth() is
never updated past opening the connection, and RandR exposes no way to
retrieve the screen dimensions), and partially because it's probably what the
user wants anyway (e.g. it's what the `xrandr` configuration app does when the
screen size is not expliticly specified).
This patch fixes TestBot failures on the Debian machines for ddraw, d3d8, and
d3d9 device tests.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=33290
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 09:15:32 +02:00
Henri Verbeet
8a348a4b99
winex11: Only warn when an RandR output has no modes.
...
This can legitimately happen when the output is disconnected.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 14:02:40 +09:00
Michael Stefaniuc
f256e1476c
winex11.drv: Remove an unused assignment (PVS-Studio).
2015-01-23 15:32:59 +01:00
Erich E. Hoover
8e9e4a657f
winex11.drv: Update the check for broken nVidia RandR to test for the number of resolutions instead of the number of modes.
2015-01-22 21:35:22 +01:00
Sam Edwards
3a5eef4eed
winex11: Cache XRandR 1.2 display mode.
2013-05-13 11:05:13 +02:00
Sam Edwards
3fc2bccac2
winex11: Cache XRandR 1.0 display mode.
2013-05-13 11:05:10 +02:00
Michael Stefaniuc
abf4250c72
winex11.drv: The winediag debug channel is only used for HAVE_XRRGETSCREENRESOURCES.
2012-11-30 19:12:16 +01:00
Henri Verbeet
8776e1c0e1
winex11: Detect broken NVIDIA RandR setups.
2012-11-26 11:51:18 +01:00
Henri Verbeet
3ac14606ae
winex11: Use the first active CRTC as primary if no primary is explicitly set.
2012-09-28 11:26:36 +02:00
Rico Schüller
c67e48b9fa
winex11.drv: Remove unneeded variable definition.
2012-09-10 11:47:11 +02:00
Henri Verbeet
e426fa9cb9
winex11: Try harder to get usable RandR screen resources.
2012-08-20 11:00:29 +02:00
Henri Verbeet
28a9b39372
winex11: Try XRandR 1.0 if 1.2 fails.
2012-08-20 10:59:52 +02:00
Alexandre Julliard
cf1be58706
winex11: Remove the remaining X11 locking calls.
2012-08-16 16:48:00 +02:00
Henri Verbeet
2b4a7912ec
winex11: Add support for XRandR 1.3.
2012-07-16 14:26:11 +02:00
Henri Verbeet
cf6f8d2eb5
winex11: Add support for XRandR 1.2.
2012-07-16 14:25:42 +02:00
Henri Verbeet
92e04256a9
winex11: Simplify the XRandR mode matching code a bit.
2012-07-13 10:30:21 -05:00
Henri Verbeet
b4a31d0a9e
winex11: Get rid of some needless globals.
2012-07-11 11:17:21 -05:00
Henri Verbeet
5ed890904b
winex11: Simplify X11DRV_XRandR_Init() error handling a bit.
2012-07-11 11:17:18 -05:00
Francois Gouget
98c605d6c7
winex11.drv: We must include Xlib.h before Xrandr.h.
2012-07-11 10:00:51 -05:00
Henri Verbeet
3e5c76bd09
winex11: Introduce a separate function for initializing the list of XRandR display modes.
2012-07-10 10:40:17 -05:00
Henri Verbeet
76725f9885
winex11: Remove some unused includes from xrandr.c.
2012-07-10 10:40:08 -05:00
Henri Verbeet
6c4465f4ac
winex11: Get rid of xrandr.h.
2012-07-09 15:05:02 -04:00
Henri Verbeet
3ea8de2637
winex11: Use our own structure for mode information.
2012-07-03 14:57:07 +02:00
Alexandre Julliard
a8575a8b4d
winex11: Add infrastructure for managing the extra data of generic extension events.
2011-04-13 14:13:29 +02:00
Roderick Colenbrander
cce1c44afa
winex11: Get rid of depth conversion fixme.
2009-07-10 13:07:29 +02:00
Francois Gouget
d7033b4be5
xrandr: X11DRV_XRandR_Cleanup() is unused so remove it.
2009-02-05 13:14:54 +01:00
Andrew Talbot
ff380900c2
winex11.drv: Sign-compare warnings fix.
2008-12-08 12:01:03 +01:00
Alexandre Julliard
c19af910eb
winex11.drv: Don't create a win_data structure for the desktop window, except in the process that owns it.
...
Handle desktop size changes by sending a message to the desktop owner.
2008-01-17 19:53:59 +01:00
Stefan Dösinger
5461d505d7
winex11: Activate the depth-bpp difference.
2007-12-17 12:25:50 +01:00
Stefan Dösinger
ccab10bd46
winex11: Distinguish between bpp and depth.
2007-12-17 12:24:51 +01:00
Dmitry Timoshkov
a7dba33cf3
winex11.drv: Use registry settings as a default display mode.
2007-12-05 12:21:32 +01:00
Alexandre Julliard
a851854a36
configure: Merge the libX11 and libXext existence check with the soname check.
2007-07-09 22:43:45 +02:00
Alexandre Julliard
629639ee60
configure: Merge the libXrender existence check with the soname check.
2007-07-04 12:47:57 +02:00
Alexandre Julliard
af928ecbfa
configure: Merge the libXrandr existence check with the soname check.
2007-07-04 12:45:03 +02:00
Alexandre Julliard
5a95cfbd9c
configure: Export the shared library extension instead of hardcoding .so.
2007-07-02 14:35:05 +02:00
Francois Gouget
3e6aa43229
winex11.drv: Catch and report screen resolution change errors.
2007-02-23 11:24:16 +01:00
Francois Gouget
c255bf4676
xrandr: Small X11DRV_XRandR_(Get|Set)CurrentMode() code optimisations.
2007-01-12 12:33:40 +01:00
Vitaliy Margolen
6069d0d596
winex11drv: Win64 printf format warning fixes.
2006-10-09 15:23:33 +02:00
Alexandre Julliard
241abf4e1b
winex11.drv: Make some functions and variables static, and get rid of x11ddraw.h.
2006-08-02 13:21:58 +02:00
Alexandre Julliard
bdb4fab7a7
x11drv: Renamed the x11drv directory to winex11.drv.
2006-06-16 09:57:50 +02:00