radeon/r200 color tiling ddx / drm questions

Roland Scheidegger rscheidegger_lists at hispeed.ch
Tue Jan 11 10:32:55 PST 2005


Ian Romanick wrote:
>> How would you do that? I can't see a way at all how ddx would
>> reject a dri client. If I see that correctly, drm does neither
>> reject clients based on features/version. If there is some two-way
>> handshake somewhere, I must have missed it. DRI itself will refuse
>> to load if the ddx major version doesn't match however, which is
>> what Ian suggested to do (bump the ddx major version). Maybe that
>> was indeed a good idea, even though it means you'd have to update
>> ddx if you got a new tiling-enabled dri (which isn't necessary
>> otherwise). It would probably simplify some things slightly.
> 
> 
> Not quite.  A new DRI could still work with an old DDX.  It would
> just have to look at the version it received from the DDX and either
> use or not use tiling.  However, upgrading to the tiling-enabled DDX
> (with the incremented major version) would require upgrading to the
> tiling-enabled DRI.
yes, that could be done, if the generic version check is changed (to
allow a range of ddx major versions for instance), or if the test is 
just called twice. DRI will enable tiling or not dynamically anyway (see 
below).
The more I think about it, the more I like that solution. Even if it 
means people using a new ddx but have disabled color tiling need to 
update dri too for no really apparent reason, that probably won't cause 
too much problems for most people. It would also mean color tiling could 
always be enabled easily (whenever it is possible).
A drawback is that these changes probably should be commited to the dri 
directory in xorg at the same time as the ddx changes, unless it's 
acceptable that the dri drivers built in xorg just don't work.
If it ever gets commitable, that is. Still fighting with XAA :-(.

> So, this basically means that you need a communication mechanism
> between DDX and DRI to select whether the current front-buffer /
> back-buffer is tiled.  Maybe just a flag in the SAREA?
That's what I'm already using. dri picks up if the sarea tiling variable 
is set or not and adjusts its state accordingly - it will even already 
do this on-the-fly, so a 3d client already running will happily continue 
to do so after you've switched from/to a tiled resolution (I think you 
might get some corruption for the first frame rendered after the switch 
though). 2d corruption after a switch is another issue altogether :-).

Roland



More information about the xorg mailing list