[Savage40] Twister T Problems
Alex Deucher
agd5f at yahoo.com
Fri Jun 24 14:30:09 PDT 2005
--- Andrew Roca <andrew at roca.demon.co.uk> wrote:
> Hello
>
>
> I've been working on a system which uses a Twister T north bridge /
> graphics controller and I've encountered some problems with the X
> server
> driver.
>
> The applications we have in mind need good graphics performance (
> many
> of them will be games), so I've been looking around for the driver
> set
> that will offer the best performance for both 2D and 3D applications.
>
> The standard driver that has current been included with the Xserver
> (I've tried both XF86 and Xorg Xserver packages) are very stable but
> the
> performance is disappointing below what we need.
>
> I have tried both the VIA authored (modified ?) driver on XF86 4.2
> and
> the current driver offered by the DRI project and in both cases I
> encounter the same problem. I can get everything to work except the
> 2D
> dga interface for depths greater than 8 bits. The dga code is called
> via
> the SDL library and works on other platforms, however if I request a
> 16
> bit fullscreen hardware surface, all the calls succeed but the
> resultant
> screen image is very badly corrupted.
>
> The image seems broken up into small rectangles say 8 or 16 pixels on
> each side.
>
> In searching the web I haven't see anybody else report this problem
> although I did find some diff files on Alex Deucher's web site that
> modified the memory stride used by the driver in the case of the
> twister,and this might explain the corruption I'm seeing.
>
The DRI requires a tiled framebuffer, so the default was changed to
from linear to tiled in xorg cvs. I suspect dga need some minor tweaks
to get the stride right for tiled mode. tiled framebuffers have to be
a multiple of tiles. I doubt the fix would be too hard to track down.
I'm guessing here, but you can probably change
pScrn->displaywidth
to
(psav->ulAperturePitch / (pScrn->bitsPerPixel >> 3))
in savage_dga.c and that should fix the stride for dga modes. I'm not
too familiar with dga, so I'm not sure exactly where it needs to be
changed offhand.
I'm surprised no one has noticed it yet. It just goes to show you how
rarely dga is used anymore. I wouldn't rely on it. I suspect dga will
be deprecated soon. In the mean time you can disabling tiling (and
also 3d accel) by setting the disabletile option to true in your device
config. also if you can use an OpenGL backend for SDL rather than DGA,
you can avoid the problem.
Alex
____________________________________________________
Yahoo! Sports
Rekindle the Rivalries. Sign up for Fantasy Football
http://football.fantasysports.yahoo.com
More information about the Savage40
mailing list