xf86-video-intel: src/i830_driver.c

Eric Anholt eric at anholt.net
Mon Nov 12 08:32:03 PST 2007


On Thu, 2007-11-08 at 16:19 -0800, Jesse Barnes wrote:
> src/i830_driver.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> New commits:
> commit b8770f710729d616b3ac72544aa522161a78f819
> Author: Jesse Barnes <jbarnes at hobbes.virtuousgeek.org>
> Date:   Thu Nov 8 16:19:01 2007 -0800
> 
>     Setup 3D state at EnterVT time
>     
>     In the absence of full suspend/resume support in the kernel, we have to
>     save/restore state in Enter/LeaveVT.  For 8xx chips, 3D state may be lost
>     during suspend/resume, so re-emit the basic setup at EnterVT time.

Here's my theory for why this patch might be right (it couldn't be
explained last I asked):  If you entervt and just mark last_3d to
last_3d_other, then we haven't marked in the sarea that the state's been
clobbered.  So, if you had a sequence of operations:

3d app
x server leavevt
x server entervt
3d app

The 3D app will not have any notification in the sarea that its state
was clobbered, since no X server rendering occurred to cause
EmitInvariantState to be called.

This issue would also have gone away if we moved to hardware contexts on
pre-965 instead of tracking state and emitting to the batchbuffer.  I've
been thinking about how that's going to work.

-- 
Eric Anholt                             anholt at FreeBSD.org
eric at anholt.net                         eric.anholt at intel.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: This is a digitally signed message part
Url : http://lists.freedesktop.org/archives/xorg-commit/attachments/20071112/3f475c27/attachment.pgp 


More information about the xorg-commit mailing list