Changes between Initial Version and Version 1 of Ticket #18317, comment 1


Ignore:
Timestamp:
Jul 2, 2023, 9:29:37 PM (17 months ago)
Author:
ninoaderri

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #18317, comment 1

    initial v1  
    11From examination of the above logs:
    2 - VBT provides the correct resolution :
     2- VBT provides the correct resolution ([https://cgit.haiku-os.org/haiku/tree/src/add-ons/kernel/drivers/graphics/intel_extreme/bios.cpp] function ''parse_vbt_from_bios''):
    33{{{
    44KERN: intel_extreme: found LFP of size 1366 x 768 in BIOS VBT tables
    55}}}
    6 - No EDID information is found
     6- No EDID information is found ([https://git.haiku-os.org/haiku/tree/src/add-ons/accelerants/intel_extreme/accelerant.cpp] function ''intel_init_accelerant''):
    77{{{
    88KERN: intel_extreme: dump_ports: No ports connected
    99KERN: intel_extreme: Warning: zero active displays were found!
    1010}}}
    11 
    12 It thus seems that the correct resolution is kind of "filtered" in the next call :
    13 
     11It thus seems that the correct resolution is kind of "filtered" in the next call (function ''create_mode_list'' [https://git.haiku-os.org/haiku/tree/src/add-ons/accelerants/intel_extreme/mode.cpp] called from  [https://git.haiku-os.org/haiku/tree/src/add-ons/accelerants/intel_extreme/accelerant.cpp] function ''intel_init_accelerant'' ):
    1412{{{
    1513KERN: intel_extreme: CALLED status_t create_mode_list()
     14}}}
     15Or in the thereafter call (function ''intel_set_display_mode'' [https://git.haiku-os.org/haiku/tree/src/add-ons/accelerants/intel_extreme/mode.cpp]):
     16{{{
    1617KERN: intel_extreme: intel_set_display_mode(1024x768, virtual: 1024x768)
    1718}}}
    18 
    19 I tried to figure where the filter could happen in the code, may be there:
    20 [https://git.haiku-os.org/haiku/tree/src/add-ons/accelerants/intel_extreme/mode.cpp]
    21 {{{
    22                 check_display_mode_hook limitModes = NULL;
    23                 if (gInfo->shared_info->device_type.Generation() < 4)
    24                         limitModes = limit_modes_for_gen3_lvds;
    25 }}}
    26 which is then used in
    27 [https://git.haiku-os.org/haiku/tree/src/add-ons/accelerants/common/create_display_modes.cpp]
    28 
    29 {{{
    30 void
    31 ModeList::Filter(check_display_mode_hook hook)
    32 {
    33         if (hook == NULL)
    34                 return;
    35 
    36         for (uint32 i = fCount; i-- > 0;) {
    37                 if (!hook(&fModes[i]))
    38                         _RemoveModeAt(i);
    39         }
    40 }
    41 
    42 But no idea how to check that.
    43 }}}
     19But no idea how to check what happened exactly.