[idd] never add the extraMode to the EDID

Doing so causes windows to treat a new EDID as a new monitor
This commit is contained in:
Geoffrey McRae
2026-07-18 04:01:19 +10:00
parent 234f8623dc
commit 6e70f36134
3 changed files with 16 additions and 1 deletions

View File

@@ -554,6 +554,10 @@ void CEdid::Build(const CSettings::DisplayModes& modes)
baseDtdIndex < EDID_BASE_DETAILED_TIMING_COUNT;
++modeIndex)
{
// never include the extra mode in the EDID
if (sorted[modeIndex].extraMode)
continue;
if (MakeDetailedTiming(
baseBlock.descriptors[baseDtdIndex].detailedTiming,
sorted[modeIndex]))
@@ -589,6 +593,10 @@ void CEdid::Build(const CSettings::DisplayModes& modes)
ctaDtdWrite + EDID_DTD_SIZE <= EDID_BLOCK_SIZE - 1;
++modeIndex)
{
// never include the extra mode in the EDID
if (sorted[modeIndex].extraMode)
continue;
if (WriteDetailedTiming(cta + ctaDtdWrite, sorted[modeIndex]))
ctaDtdWrite += EDID_DTD_SIZE;
}