SDL/src
Austin Shafer 16e3bfe807 SetDisplayMode: Call XRRSetScreenSize before setting CRTC config
X11_SetDisplayMode currently calls X11_XRRSetCrtcConfig alone. This results
in the monitor's viewport getting changed, but the underlying screen dimensions
stay the same.

The spec indicates that RRSetCrtcConfig only changes the crtc mode and has no effect
on the screen dimensions, only mentioning that the new crtc must fit entirely within the
screen size. For the size to change, RRSetScreenSize also needs to be called.

This affects Metro Exodus on Linux, when changing the resolution in the in-game settings
Metro gets stuck in a loop waiting for the size of its vulkan surface to change. Because
XRRSetScreenSize is not called the screen size is never changed, the vulkan surface dimensions
do not change, and Metro hangs forever watching for a surface size update that will
never come.

This change disables the CRTC, calls XRRSetScreenSize, and then updates the
CRTC configuration. This fixes changing the resolution from the Metro settings.

Tested with:
Metro Exodus, Portal 2
2021-07-08 08:41:29 -07:00
..
atomic Use specific acquire and release variants of InterlockedExchange on ARM 2021-01-03 12:13:40 -06:00
audio Removed duplicate SDL_AtomicGet() 2021-05-28 12:29:54 -04:00
core This delay is no longer needed on Steam Link hardware 2021-06-04 13:23:54 -07:00
cpuinfo Vite: return system installed memory 2021-07-01 15:14:49 -07:00
dynapi Implement bare minimum for SDL_FlashWindow 2021-06-04 15:07:55 -07:00
events Pump events each time through the loop in SDL_WaitEventTimeout_Device() 2021-06-24 12:14:17 -07:00
file Add support for Vita file API in SDL_rwops 2021-03-08 09:07:12 -08:00
filesystem Windows: Fix SDL_GetBasePath() truncating paths 2021-06-12 23:07:46 -04:00
haptic Rename haptic methods to avoid confusion with joystick: 2021-06-10 16:41:09 -07:00
hidapi Workaround for crash on Apple Mac M1 hardware 2021-06-23 09:19:02 -07:00
joystick Removed unnecessary comment, the mic button is in byte 16 on all firmware versions 2021-07-08 07:38:18 -07:00
libm Updated copyright for 2021 2021-01-02 10:25:38 -08:00
loadso Updated copyright for 2021 2021-01-02 10:25:38 -08:00
locale consistently use TEXT() macro with LoadLibrary() and GetModuleHandle() 2021-01-04 01:23:50 +03:00
main SDL_windows_main: use HeapAlloc/HeapFree for command line arguments 2021-04-22 17:26:13 -07:00
misc Deprecate dolcesdk 2021-03-08 09:07:12 -08:00
power Initial rebase of xerpi's port 2021-03-08 09:07:12 -08:00
render Vita: remove unused variable and allow Razor perf analysis 2021-07-01 15:14:49 -07:00
sensor Deprecate dolcesdk 2021-03-08 09:07:12 -08:00
stdlib fix invalid out of bounds UTF8 handling 2021-03-16 18:51:28 -07:00
test testwm2: draw various debug logging into the window itself 2021-06-08 05:29:29 +03:00
thread Migrate to lightweight mutexes 2021-04-24 14:13:09 -07:00
timer Formatting 2021-03-08 09:07:12 -08:00
video SetDisplayMode: Call XRRSetScreenSize before setting CRTC config 2021-07-08 08:41:29 -07:00
SDL.c linux: (de)initialize d-bus at init and quit. 2021-04-02 14:35:11 -04:00
SDL_assert.c Updated copyright for 2021 2021-01-02 10:25:38 -08:00
SDL_assert_c.h Updated copyright for 2021 2021-01-02 10:25:38 -08:00
SDL_dataqueue.c Updated copyright for 2021 2021-01-02 10:25:38 -08:00
SDL_dataqueue.h Updated copyright for 2021 2021-01-02 10:25:38 -08:00
SDL_error.c Updated copyright for 2021 2021-01-02 10:25:38 -08:00
SDL_error_c.h Updated copyright for 2021 2021-01-02 10:25:38 -08:00
SDL_hints.c Updated copyright for 2021 2021-01-02 10:25:38 -08:00
SDL_hints_c.h Updated copyright for 2021 2021-01-02 10:25:38 -08:00
SDL_internal.h Updated copyright for 2021 2021-01-02 10:25:38 -08:00
SDL_log.c Initial rebase of xerpi's port 2021-03-08 09:07:12 -08:00