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