summaryrefslogtreecommitdiff
path: root/TODO
blob: 45132f55c073f98207ac63d0eb2faa66fedf9fac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
EDID has (essentially) three statically defined mode lists: Established,
Established III, and DMT.  The DMT list is _almost_ a superset of the other
two, except.

EST slot 0 is DMT slot 8
EST slot 1 is DMT slot 7
EST slot 2 is DMT slot 5
EST slot 3 is DMT slot 4
EST slot 5 is DMT slot 3
EST slot 8 is DMT slot 35
EST slot 9 is DMT slot 17
EST slot 10 is DMT slot 16
EST slot 11 is DMT slot 15
EST slot 12 is DMT slot 14
EST slot 14 is DMT slot 10
EST slot 15 is DMT slot 9
EST slot 16 is DMT slot 20

EST slots 4, 6, 7, 13 are:
640x480 @ 67HZ
720x400 @ 88Hz
720x400 @ 70Hz
832x624 @ 75Hz

Everything in EST3 is in DMT, except for slot 35 (1792x1344 @ 85Hz).  Strong
work, VESA.

DisplayID, however, encodes the DMT list indexes directly.  So if you built
a unified list for DMT+EDIDextras and indexed into that, you'd have to do so
for DisplayID too (probably not 1:1).

This is really pure optimization.  Each mode is only 60 (or 64) bytes as it
is.  So you're going from 64 * (17 + 44 + 80) = 9024 for three lists, to
64 * 85 + (17 + 44 + 80) = 5581 for one master list and three indices.
Kinda tough to care about one page of .rodata.