On Dec 07, 07 18:10:12 +0100, Martin Nowack wrote:
The 24 bits were not set for all dithering methods, when 24bit mode was enabled or unset if disabled. This patch also fixed for me the grainy display issues, they are only shown if dithering was enabled. (Lenovo - Radeon Mobility X1400)
Good catch! But:
@@ -182,8 +182,10 @@ LVDSSet(struct rhdOutput *Output) } else RHDRegMask(Output, LVTMA_BIT_DEPTH_CONTROL, 0, 0x00010101); #endif - RHDRegMask(Output, LVTMA_BIT_DEPTH_CONTROL, 0x01010100, 0x01010101); +/* RHDRegMask(Output, LVTMA_BIT_DEPTH_CONTROL, 0x010101000, 0x01010101);*/
+ /* enable dithering: spatial and temporal */ +/* RHDRegMask(Output, LVTMA_BIT_DEPTH_CONTROL, 0x00010100, 0x00010100); */ /* reset the temporal dithering */ RHDRegMask(Output, LVTMA_BIT_DEPTH_CONTROL, 0x04000000, 0x04000000); RHDRegMask(Output, LVTMA_BIT_DEPTH_CONTROL, 0, 0x04000000);
Sure that you want this?
You basically leave the selection of truncation/spatial/temporal
dithering untouched, and one probably wants to program it correctly.
Still, which method to use is debatable. I would always go for spatial
dithering, that is IMHO the least distorting. Yes, even in 24bit mode
dithering might be interesting (for 30bit color modes) - but we don't
support that yet :-P
Luc, your opinion?
Matthias
--
Matthias Hopf