radeon/r200 color tiling ddx / drm questions

Ian Romanick idr at us.ibm.com
Tue Jan 11 09:47:46 PST 2005


Roland Scheidegger wrote:
> Michel Dänzer wrote:
> 
>> On Fri, 2005-01-07 at 04:10 +0100, Roland Scheidegger wrote:
>>
>>> The dri and drm seem fairly straightforward, though I'm not sure the 
>>> way I handled communication between especially drm and ddx is how 
>>> it's meant to be. dri got a bit unlucky, as ddx can't know at startup 
>>> if it will be able to handle color tiling, so old dri together with 
>>> new drm and new ddx will not work (correctly) (if you
>>>  have enabled color tiling).
>>
>> You might be able to solve this with a two-way handshake between the
>>  3D driver and the DDX, similar to how it's done with the DRM
>> already. With that, the DDX could recognize clients that can deal
>> with tiling and prevent others from using direct rendering.
> 
> 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.

>>> 3) When switching from/to a resolution without tiling support,
>>
>> If tiling doesn't work with all resolutions, shouldn't those 
>> resolutions be discarded in the first place if tiling is enabled?
> 
> It just seemed to be a little harsh to throw them out altogether - some 
> people might like to use small (doublescan) physical resolutions for 
> some OGL apps for speed reasons for instance, which would mean they'd 
> need to restart the X server with tiling disabled just for that.
> There's also some problem with that (mode validation happens before
> options parsing, not sure how easy that would be to fix).

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?



More information about the xorg mailing list