mirror of
https://github.com/X11Libre/xf86-video-ati.git
synced 2026-03-24 01:24:43 +00:00
Check dimensions passed to drmmode_xf86crtc_resize
When enabling a secondary GPU output, Xorg can try resizing the screen beyond the limit advertised by the driver, leading to drmModeAddFB failing and primary GPU outputs turning off. Check for this and bail instead. (Ported from amdgpu commit 940c8b39f79789d4d5ddb8ab8d25a8ae05932756) Acked-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Michel Dänzer
parent
6a0c01bbd4
commit
447ef0458f
@@ -2260,6 +2260,14 @@ drmmode_xf86crtc_resize (ScrnInfoPtr scrn, int width, int height)
|
||||
if (scrn->virtualX == width && scrn->virtualY == height)
|
||||
return TRUE;
|
||||
|
||||
if (width > xf86_config->maxWidth || height > xf86_config->maxHeight) {
|
||||
xf86DrvMsg(scrn->scrnIndex, X_WARNING,
|
||||
"Xorg tried resizing screen to %dx%d, but maximum "
|
||||
"supported is %dx%d\n", width, height,
|
||||
xf86_config->maxWidth, xf86_config->maxHeight);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (info->allowColorTiling && !info->shadow_primary) {
|
||||
if (info->ChipFamily < CHIP_FAMILY_R600 || info->allowColorTiling2D)
|
||||
usage |= RADEON_CREATE_PIXMAP_TILING_MACRO;
|
||||
|
||||
Reference in New Issue
Block a user