mirror of
https://github.com/tianocore/edk2
synced 2026-08-27 00:23:19 -04:00
The current PreferMode selection logic requires both Columns AND Rows to be strictly greater (>) than the current maximum, which fails when a text mode has the same column count but more rows. Example failure case (1920x1200 display): - Mode 5: 240x56 - Selected as PreferMode - Mode 6: 240x63 - Rejected because 240 is not > 240 This mismatch causes ConsplitterSetConsoleOutMode to later request Mode 6, triggering an unnecessary text mode change and clearing the screen during console init. Root Cause: GraphicsConsole used: if ((Col > Max) && (Row > Max)) This fails when only rows increase while columns stay the same. Solution: Change to: if ((Col >= Max) && (Row >= Max)) This aligns with ConSplitter mode selection logic and correctly selects the mode with the highest column and row counts. After fix (1920x1200 display): - Mode 5: 240x56 - Mode 6: 240x63 - Correctly selected as PreferMode This ensures GraphicsConsole and ConSplitter match on the preferred mode preventing unnecessary screen clears during console initialization. Signed-off-by: Ashraf Ali S <ashraf.ali.s@intel.com> |
||
|---|---|---|
| .. | ||
| ComponentName.c | ||
| GraphicsConsole.c | ||
| GraphicsConsole.h | ||
| GraphicsConsoleDxe.inf | ||
| GraphicsConsoleDxe.uni | ||
| GraphicsConsoleDxeExtra.uni | ||
| LaffStd.c | ||