* Enlarged the default resolution to a width of 1024 (ie. usually 1024x768).

* Refined the way how the default resolution is chosen: it now prefers the
  above with hi/true color over a width of 800 in hi/true color over the
  same order including palette modes.
* If no suitable mode could be found, it now chooses the first mode from the
  list, if any, so that a VESA mode is always used when possible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24648 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2008-03-29 12:58:20 +00:00
parent 29674ea8cb
commit e146dee317

View File

@ -405,11 +405,22 @@ vesa_init(vbe_info_block *info, video_mode **_standardMode)
}
// Choose default resolution (when no EDID information is available)
// TODO: eventually enlarge this to 1024x768?
const uint32 kWidth = 800;
standardMode = find_video_mode(kWidth, -1, false);
if (standardMode == NULL)
standardMode = find_video_mode(kWidth, -1, true);
const uint32 kPreferredWidth = 1024;
const uint32 kFallbackWidth = 800;
standardMode = find_video_mode(kPreferredWidth, -1, false);
if (standardMode == NULL) {
standardMode = find_video_mode(kFallbackWidth, -1, false);
if (standardMode == NULL) {
standardMode = find_video_mode(kPreferredWidth, -1, true);
if (standardMode == NULL)
standardMode = find_video_mode(kFallbackWidth, -1, true);
}
}
if (standardMode == NULL) {
// just take any mode
standardMode = (video_mode *)list_get_first_item(&sModeList);
}
if (standardMode == NULL) {
// no usable VESA mode found...