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