Changes between Initial Version and Version 1 of Ticket #7787, comment 5
- Timestamp:
- Jul 14, 2011, 9:13:58 AM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #7787, comment 5
initial v1 4 4 - Examining the Screen preflet more, I think I understand the sequence to be like thus: Screen [http://dev.haiku-os.org/browser/haiku/trunk/src/preferences/screen/ScreenMode.cpp#L162 calls] ->BScreen::GetModes(), which -> gets to the server side (app_server) Screen class, which -> calls AccelerantHWInterface's [http://dev.haiku-os.org/browser/haiku/trunk/src/servers/app/drawing/AccelerantHWInterface.cpp#L733 accelerant hook] ... which might (or might not, in the case of older drivers) call create_display_modes() (in accelerants/common). 5 5 - So in short, the Screen preflet relies on the accelerant to call (or not) create_display_modes(), which is needed to get the best possible listing of modes (from all sources: EDID Vesa modes, EDID Std modes, EDID DetailedMonitor mode, the hardcoded base modes list, the whole shebang). 6 - Edit: 7 - since r42420 create_display_mode() (called by the VESA driver and others) ensures that the General Timing Function compute_display_timing() is called at least on one mode, as a fall-back option. 8 - since r42421 the VESA driver additionally calls GTF-compute_display_timing() itself, as well, on its hardcoded list of modes. 6 9 - So next I have to dig in the bootloader's video.cpp file to see if it does the same (call create_display_modes()) or not.. 7 10