Charl P. Botha wrote:
> Dear list,
> 
> Attached please find a patch to the DRI CVS that enables suspending to and
> resuming from disc with running DRI clients (3D Windows, ao).  This is
> different from the reinit solution that Michel D�nzer and I have proposed
> and which Michel has refined: it allows suspending/resuming with active 3D
> windows.  I have tested this with the venerable glxgears at 1000 FPS (24bpp
> display depth, no page flipping).
> 
> This patch simply (ha ha) tries to re-initialise the only the Radeon
> hardware after a resume.  At the moment, I invoke the new code from
> RADEONEnterVT() as it's idempotent during normal operation (I think).
> 
> I would appreciate your review.  I'm going to do more testing and
> refinement as soon as I have more time.  This week is filled with
> RealLife(tm).

Charl,

I like the direction of this patch much better than the reinit stuff. 
Here's the positives as I see them:

1) Your looking at this as a hardware state issue, and I think that's a 
good tact.  Hooking and extending the the Enter/Leave VT functionality 
is great way to go about this.

2) You've got a prototype working that shows, simply focusing on 
enhancing the amount of HW state that is saved and restored is all 
that's needed to address this issue.

The final step that I would encourage before we make this a standard 
part of all 3D driver in XFree86 is to examine the redundancy in initial 
state setup and your new restore routines.  I believe there is much code 
factoring that can be done.  A little support at the device independent 
level and we can have one routine that sets state, whether we are 
initializing or restoring.  This makes developing a driver easier and 
tracking down state issues much easier.  So, if we can basically beef up 
  the driver's Enter/LeaveVT support (or underlying state setup) we can 
handle the case of suspend and resume with the duplication.  This also 
works well in that the server would effectively hold the lock across 
suspend/resume just like it does for VT switches...thus making sure the 
3D driver doesn't access the hardware until the X server has completely 
restored the hardware state and released the lock.

Regards,
Jens

-- 
                                /\
          Jens Owen            /  \/\ _
   [EMAIL PROTECTED]  /    \ \ \   Steamboat Springs, Colorado

_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to