Below function looks promising. Which means that we can override EDID to control the graphics card parameters including dithering. (Sorry for bad formatting of the code, I didn't find an option to format it normally).
__int64 __fastcall ATIConnector::findEdidForConnector(ATIConnector *this, char a2, Edid *a3, unsigned __int8 a4)
{
unsigned int v4; // eax
unsigned int OverrideEdid; // [rsp+18h] [rbp-28h]
if ( a3 )
{
if ( (ATIConnector::hasConnections(this, 0x754u) & 1) != 0 )
{
if ( (a2 & 4) != 0 )
{
OverrideEdid = ATIConnector::readOverrideEdid(this, ATIConnector::OVERRIDE_NO_CONNECT, a3);
if ( (Edid::check(a3) & 1) == 0 )
OverrideEdid = 0xE00002F0;
}
else
{
OverrideEdid = ATIConnector::readPanelEdid(this, a2, a3, a4);
if ( OverrideEdid )
{
if ( (a2 & 0x10) != 0 )
OverrideEdid = ATIConnector::readOverrideEdid(this, ATIConnector::OVERRIDE_NO_EDID, a3);
}
else
{
if ( (Edid::isDigital(a3) & 1) != 0 )
v4 = ATIConnector::readOverrideEdid(this, ATIConnector::OVERRIDE_DIGITAL_EDID, a3);
else
v4 = ATIConnector::readOverrideEdid(this, ATIConnector::OVERRIDE_ANALOG_EDID[0], a3);
OverrideEdid = v4;
}
}
if ( OverrideEdid )
Edid::clear(a3);
return OverrideEdid;
}
else
{
return 0xE00002C2;
}
}
else
{
return 0xE00002BC;
}
}