Corrupted display (radeon_accelfuncs.c)
Jerome Glisse
j.glisse at free.fr
Sun Dec 26 11:13:21 PST 2004
Vladimir Dergachev wrote:
>
>
> On Sun, 26 Dec 2004, Jerome Glisse wrote:
>
>> Vladimir Dergachev wrote:
>>
>>>
>>> Hi Jerome,
>>>
>>> Keith has reported that specifying Option
>>> "XaaNoScanlineImageWriteRect"
>>> stops the artifacts - does this work for you ? In any depth ?
>>>
>> Yes browsing the archive i saw that option, this correct the problem
>> for almost all
>> application, in fact only xemacs still got corrupted font.
>>
>> Anyway we shouldn't have to enable this option to prevent from a
>> corrupted display,
>> there is a bug somewhere no ? In xaa ?
>
>
> What this option does is tell us which function is the likely culprit.
> Take a look at radeon_accelfuncs.c in
>
> xc/programs/Xserver/hw/xfree86/drivers/ati
>
> Try to experiment with function RADEONSetupForScanlineImageWrite -
> there is a section inside that depends on endiannes.
>
> Since the problem manifests only with DRM driver the issues must be in
> the
> ACCEL_CP section.
>
> For example try replacing
> ------------------------------------------------------------
> if (bpp == 16)
> OUT_ACCEL_REG(RADEON_RBBM_GUICNTL, RADEON_HOST_DATA_SWAP_HDW);
> else
> OUT_ACCEL_REG(RADEON_RBBM_GUICNTL, RADEON_HOST_DATA_SWAP_NONE);
> ------------------------------------------------------------
> with the following code from MMIO section:
> ------------------------------------------------------------
> if (bpp == 16)
> OUT_ACCEL_REG(RADEON_RBBM_GUICNTL, RADEON_HOST_DATA_SWAP_16BIT);
> else if (bpp == 32)
> OUT_ACCEL_REG(RADEON_RBBM_GUICNTL, RADEON_HOST_DATA_SWAP_32BIT);
> else
> OUT_ACCEL_REG(RADEON_RBBM_GUICNTL, RADEON_HOST_DATA_SWAP_NONE);
> -------------------------------------------------------------
> If this does not help, simply experiment providing different endianness
> settings. Perhaps one of them will work.
>
hhhmm
I experimented a bit but the problem is still around i am wondering
if the problem did not came from the planemask provided to
RADEONSetupForScanlineImageWrite
Or the problem is in
RADEONSubsequentScanlineImageWriteRect
This code (radon_accelfuncs.c) is an Xorg file or it came from DRI ?
I could only test on r300 maybe r200 on ppc did not have this bug.
Anyone can test ?
Maybe we should add a bug to Xorg bugzilla for that.
If anybody get idea on this.
best,
Jerome Glisse
More information about the xorg
mailing list