On Tue, Jun 23, 2009 at 8:29 AM, Roland Scheidegger<[email protected]> wrote: > On 22.06.2009 19:11, Krzysztof Halasa wrote: >> Roland Scheidegger <[email protected]> writes: >> >>> With a very quick look at the r600 code, I suggest trying out the >>> attached patch to test my theory about half pixel offsets in hardware. >>> This could mess though with EXA acceleration, so if you see a bit odd >>> corruption don't be surprised :-). >> >> I can now confirm this patch, applied to current Fedora 11 >> xorg-x11-drv-ati-6.12.2-14 driver, fixes this Xv issue on RV6xx. >> >> I can't see any EXA corruption. >> >> Thanks a lot. >> >> I guess it should be aplied to the repository? > I think it's probably the right thing to do, but I'm a bit worried there > might be side effects in other parts (composite), though it's possible > it would be actually more correct there too. I've never really looked > into the r6xx side of things in the driver, so I'd like some opinion > from someone more familiar with that code. Alex? >
Yes, it is the correct fix. It also fixes bug 21963. I've gone ahead and committed it. Thanks for spotting this! Alex > Roland > >> >>> --- a/src/r6xx_accel.c >>> +++ b/src/r6xx_accel.c >>> @@ -974,7 +974,7 @@ set_default_state(ScrnInfoPtr pScrn, drmBufPtr ib) >>> EREG(ib, PA_SU_POLY_OFFSET_FRONT_OFFSET, 0); >>> >>> EREG(ib, PA_SU_LINE_CNTL, (8 << >>> PA_SU_LINE_CNTL__WIDTH_shift)); /* Line width 1 pixel */ >>> - EREG(ib, PA_SU_VTX_CNTL, ((2 << >>> PA_SU_VTX_CNTL__ROUND_MODE_shift) | >>> + EREG(ib, PA_SU_VTX_CNTL, ((2 << >>> PA_SU_VTX_CNTL__ROUND_MODE_shift) | PIX_CENTER_bit | >>> (5 << QUANT_MODE_shift))); >>> /* Round to Even, fixed point 1/256 */ >>> EREG(ib, PA_SU_POLY_OFFSET_CLAMP, 0); >>> >> > > _______________________________________________ xorg mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/xorg
