xf86-video-intel: unexpected phenomenon on XV texture adapter with no scaling

Alex Deucher alexdeucher at gmail.com
Sun Jun 28 14:02:07 PDT 2009


On Tue, Jun 23, 2009 at 8:29 AM, Roland
Scheidegger<sroland at tungstengraphics.com> wrote:
> On 22.06.2009 19:11, Krzysztof Halasa wrote:
>> Roland Scheidegger <sroland at tungstengraphics.com> 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);
>>>
>>
>
>



More information about the xorg mailing list