* Removed the extraneous 640x480 modes as pointed out by Gerald.
* Disabled "timing.sync != 3" check that potentially ignores modes that we might want to have. We could also add the mode by resolution in that case, and ignore the timing info completely. There should be an open bug about this, but I couldn't find it. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26762 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2007-2008, Axel Dörfler, [email protected]. All rights reserved.
|
* Copyright 2007-2008, Axel Dörfler, [email protected].
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,8 @@
|
|||||||
#define POSITIVE_SYNC \
|
#define POSITIVE_SYNC \
|
||||||
(B_POSITIVE_HSYNC | B_POSITIVE_VSYNC)
|
(B_POSITIVE_HSYNC | B_POSITIVE_VSYNC)
|
||||||
#define MODE_FLAGS \
|
#define MODE_FLAGS \
|
||||||
(B_8_BIT_DAC | B_HARDWARE_CURSOR | B_PARALLEL_ACCESS | B_DPMS | B_SUPPORTS_OVERLAYS)
|
(B_8_BIT_DAC | B_HARDWARE_CURSOR | B_PARALLEL_ACCESS | B_DPMS \
|
||||||
|
| B_SUPPORTS_OVERLAYS)
|
||||||
|
|
||||||
// TODO: move this list into the app_server
|
// TODO: move this list into the app_server
|
||||||
static const display_mode kBaseModeList[] = {
|
static const display_mode kBaseModeList[] = {
|
||||||
@@ -25,8 +26,6 @@ static const display_mode kBaseModeList[] = {
|
|||||||
{{25175, 640, 656, 752, 800, 400, 412, 414, 449, B_POSITIVE_VSYNC}, B_CMAP8, 640, 400, 0, 0, MODE_FLAGS}, /* 640x400 - www.epanorama.net/documents/pc/vga_timing.html) */
|
{{25175, 640, 656, 752, 800, 400, 412, 414, 449, B_POSITIVE_VSYNC}, B_CMAP8, 640, 400, 0, 0, MODE_FLAGS}, /* 640x400 - www.epanorama.net/documents/pc/vga_timing.html) */
|
||||||
|
|
||||||
{{25175, 640, 656, 752, 800, 480, 490, 492, 525, 0}, B_CMAP8, 640, 480, 0, 0, MODE_FLAGS}, /* Vesa_Monitor_@60Hz_(640X480X8.Z1) */
|
{{25175, 640, 656, 752, 800, 480, 490, 492, 525, 0}, B_CMAP8, 640, 480, 0, 0, MODE_FLAGS}, /* Vesa_Monitor_@60Hz_(640X480X8.Z1) */
|
||||||
{{27500, 640, 672, 768, 864, 480, 488, 494, 530, 0}, B_CMAP8, 640, 480, 0, 0, MODE_FLAGS}, /* 640X480X60Hz */
|
|
||||||
{{30500, 640, 672, 768, 864, 480, 517, 523, 588, 0}, B_CMAP8, 640, 480, 0, 0, MODE_FLAGS}, /* SVGA_640X480X60HzNI */
|
|
||||||
{{31500, 640, 664, 704, 832, 480, 489, 492, 520, 0}, B_CMAP8, 640, 480, 0, 0, MODE_FLAGS}, /* Vesa_Monitor_@70-72Hz_(640X480X8.Z1) */
|
{{31500, 640, 664, 704, 832, 480, 489, 492, 520, 0}, B_CMAP8, 640, 480, 0, 0, MODE_FLAGS}, /* Vesa_Monitor_@70-72Hz_(640X480X8.Z1) */
|
||||||
{{31500, 640, 656, 720, 840, 480, 481, 484, 500, 0}, B_CMAP8, 640, 480, 0, 0, MODE_FLAGS}, /* Vesa_Monitor_@75Hz_(640X480X8.Z1) */
|
{{31500, 640, 656, 720, 840, 480, 481, 484, 500, 0}, B_CMAP8, 640, 480, 0, 0, MODE_FLAGS}, /* Vesa_Monitor_@75Hz_(640X480X8.Z1) */
|
||||||
{{36000, 640, 696, 752, 832, 480, 481, 484, 509, 0}, B_CMAP8, 640, 480, 0, 0, MODE_FLAGS}, /* Vesa_Monitor_@85Hz_(640X480X8.Z1) */
|
{{36000, 640, 696, 752, 832, 480, 481, 484, 509, 0}, B_CMAP8, 640, 480, 0, 0, MODE_FLAGS}, /* Vesa_Monitor_@85Hz_(640X480X8.Z1) */
|
||||||
@@ -214,14 +213,16 @@ ModeList::AddModes(edid1_info* info)
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (uint32 i = 0; i < EDID1_NUM_DETAILED_MONITOR_DESC; ++i) {
|
for (uint32 i = 0; i < EDID1_NUM_DETAILED_MONITOR_DESC; ++i) {
|
||||||
if (info->detailed_monitor[i].monitor_desc_type != EDID1_IS_DETAILED_TIMING)
|
if (info->detailed_monitor[i].monitor_desc_type
|
||||||
|
!= EDID1_IS_DETAILED_TIMING)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// TODO: handle flags correctly!
|
// TODO: handle flags correctly!
|
||||||
const edid1_detailed_timing& timing = info->detailed_monitor[i].data.detailed_timing;
|
const edid1_detailed_timing& timing
|
||||||
|
= info->detailed_monitor[i].data.detailed_timing;
|
||||||
display_mode mode;
|
display_mode mode;
|
||||||
|
|
||||||
if (timing.pixel_clock <= 0 || timing.sync != 3)
|
if (timing.pixel_clock <= 0/* || timing.sync != 3*/)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
mode.timing.pixel_clock = timing.pixel_clock * 10;
|
mode.timing.pixel_clock = timing.pixel_clock * 10;
|
||||||
|
|||||||
Reference in New Issue
Block a user