Add initial vesa modes even if EDID information is present. EDID does not
include all supported video modes. Fixes #4166. Note that this change will probably show several weird resolution is some configurations. They are all valid resolutions but are not commom so we need a way to filter those out. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42600 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -76,11 +76,10 @@ create_mode_list(void)
|
|||||||
const color_space kVesaSpaces[] = {B_RGB32_LITTLE, B_RGB24_LITTLE,
|
const color_space kVesaSpaces[] = {B_RGB32_LITTLE, B_RGB24_LITTLE,
|
||||||
B_RGB16_LITTLE, B_RGB15_LITTLE, B_CMAP8};
|
B_RGB16_LITTLE, B_RGB15_LITTLE, B_CMAP8};
|
||||||
|
|
||||||
// Create the initial list from the support mode list - but only if we don't
|
|
||||||
// have EDID info available, as that should be good enough.
|
|
||||||
display_mode* initialModes = NULL;
|
display_mode* initialModes = NULL;
|
||||||
uint32 initialModesCount = 0;
|
uint32 initialModesCount = 0;
|
||||||
if (!gInfo->shared_info->has_edid) {
|
|
||||||
|
// Add initial VESA modes.
|
||||||
initialModes = (display_mode*)malloc(
|
initialModes = (display_mode*)malloc(
|
||||||
sizeof(display_mode) * gInfo->shared_info->vesa_mode_count);
|
sizeof(display_mode) * gInfo->shared_info->vesa_mode_count);
|
||||||
if (initialModes != NULL) {
|
if (initialModes != NULL) {
|
||||||
@@ -94,7 +93,6 @@ create_mode_list(void)
|
|||||||
&initialModes[i]);
|
&initialModes[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
gInfo->mode_list_area = create_display_modes("vesa modes",
|
gInfo->mode_list_area = create_display_modes("vesa modes",
|
||||||
gInfo->shared_info->has_edid ? &gInfo->shared_info->edid_info : NULL,
|
gInfo->shared_info->has_edid ? &gInfo->shared_info->edid_info : NULL,
|
||||||
|
|||||||
Reference in New Issue
Block a user