new radeon tiling patch
alexdeucher at gmail.com
Thu Jan 13 06:46:53 PST 2005
On Thu, 13 Jan 2005 15:25:46 +0100, Roland Scheidegger
<rscheidegger_lists at hispeed.ch> wrote:
> Ok, here's a new version. It also contains a supposed patch for
> mergedfb-pageflip (untested, but I need that for color tiling, otherwise
> I'd need to redo the crtc address calculation in the drm).
> Actually, I've decided to stick with the tiled frontbuffer, untiled for
> the rest of the graphic memory scheme. It is now fully working, as far
> as I can see. Granted, it's cheating poor old XAA a bit, but it seemed
> actually like less hassle (with everything tiled, surface allocation
> gets problematic, since you need to define exceptions for cursor, xv,
> and need to make sure you don't get problems at the borders between
> tiled and untiled regions).
> This scheme could potentially have a slight performance impact for 2d
> use (will do some measurements later today) but I don't expect anything
> As a side effect, this means that switching between tiled and untiled
> resolutions is fully working, except you need to cleanup the screen
> manually after you do so, which is one of the few remaining problems.
> Still couldn't figure out how to solve that really, I'm still tempted to
> throw out interlaced and doublescan resolutions (I believe currently
> there's a second issue with regard to these resolutions, in clone and
> mergedfb modes).
> Also, vesa fb console is now working, as are things like starting one
> tiled X server and an untiled one in a different VT (can't test dual-head).
> There's also an issue with pageflip and scrolling in virtual
> resolutions. Once the kernel has initialized the FLIP_CNTL bit, you get
> some ugly flickering when you scroll around. As far as I could see, this
> is because the crtc will now get the new offset after each hsync, but
> will not get the new offset_cntl value (which needs to be changed in
> tiled mode when you scroll around) until a vsync. I tried to insert a
> RADEON_WAIT_CRTC_PFLIP condition but it didn't work.
> I'm still looking for pointers how to implement handshaking between
> drm/ddx/dri. Otherwise, I'll just go ahead and up the ddx major version.
> Could someone please look at the patches? Especially the drm/ddx
> interaction and the ddx changes could probably really need some review.
> Testing is also welcome of course (in fact wrt to scrolling in a virtual
> resolution, it seems not all cards need the exact same offset
> calculation, and it's unknown which cards need which one), just don't
> forget to actually enable tiling :-).
Looks good! I'll try and give it some mergedfb/dualhead testing.
More information about the xorg