CVS lock ?

Vladimir Dergachev volodya at mindspring.com
Fri Dec 17 23:05:11 PST 2004



On Sat, 18 Dec 2004, Michel [ISO-8859-1] Dänzer wrote:

> On Fri, 2004-12-17 at 11:21 -0500, Vladimir Dergachev wrote:
>>
>> Calling DO_CP_IDLE is a hack no matter where you put it - the right way to
>> do things is to do a proper cache flush (plus whatever magic is required)
>> each time 3d activity is followed by 2d one.
>
> So is emitting the cache flush(es) in EnterServer() not enough?

No. A user-space client is perfectly entitled to  mix 2d and 3d code
and a proper DRM driver must be able to prevent lockups in case user-space
client screws up.

So either the packet validation code or ioctls will have to deal with 
3d->2d transition.

>
>
>> The reason I suggested DRM as a likely candidate is that it is supposed
>> to validate the packets it gets from userspace - and thus would be in
>> perfect position to know what exactly happens to the card.
>
> Ideally, yes. This is impractical right now though for various reasons.
>
>
>> However, we are not there yet, which is why DO_CP_IDLE code is
>> appropriate.
>
> That's where I don't quite agree. :) Thanks for moving it to the right
> place though.

Actually you do :) Or at least I thought you do. What I meant here is that 
for lack of documentation we are using DO_CP_IDLE as catch-all for 
performing cache-flush and getting engine into a sane state for use by 
Xserver.

DO_CP_IDLE is well known, while I am not 100% sure of the particular magic 
sequence required to mollify R300 3d engine. It could be we figured it 
out, it could be not.

                        best

                          Vladimir Dergachev

>
>
> -- 
> Earthling Michel Dänzer      |     Debian (powerpc), X and DRI developer
> Libre software enthusiast    |   http://svcs.affero.net/rm.php?r=daenzer
>


More information about the xorg mailing list