On Wed, 30 Jan 2002, Vladimir Dergachev wrote:

>
>
> On 30 Jan 2002, Michel [ISO-8859-1] Dänzer wrote:
>
> > On Mon, 2002-01-28 at 15:30, Vladimir Dergachev wrote:
> > >
> > >
> > > On 28 Jan 2002, Michel [ISO-8859-1] Dänzer wrote:
> > >
> > > > On Mon, 2002-01-28 at 10:00, Vladimir Dergachev wrote:
> > > > >
> > > > >
> > > > > On 28 Jan 2002, Michel [ISO-8859-1] Dänzer wrote:
> > > > >
> > > > > > On Mon, 2002-01-28 at 04:54, Davor Buvinic wrote:
> > > > > > >
> > > > > > > Yes, running glxgears cause the movie player to crawl and if I start to 
>move
> > > > > > > or resize their windows X crashes.
> > > > > > >
> > > > > > > The movie player is MPlayer, today cvs.
> > > > > > >
> > > > > > > Here is my log file from X. As you can see, at the end of the file the
> > > > > > > following messages appears:
> > > > > > >
> > > > > > > [...]
> > > > > > > (II) R128(0): StopVideo
> > > > > > > (EE) R128(0): Idle timed out, resetting engine...
> > > > > > > [...]
> > > > > >
> > > > > > I have an idea what the problem could be. The Xv code still uses direct
> > > > > > register access, even when the CCE is running. That's exactly what we
> > > > > > want to avoid, because it can crash the chip. :)
> > > > > >
> > > > > > I probably won't have time this week to work on a solution but I suggest
> > > > > > you try either shutting down the CCE before accessing registers or
> > > > > > adding new Xv functions which use the CCE for register access (à la the
> > > > > > CCE accel functions). I'd prefer not shutting down the CCE at any rate.
> > > > > >
> > > > >
> > > > > Yes, that's what happens. I do think we need to shutdown CCE because in
> > > > > some case we want to read registers - and not only write. The short term
> > > > > solution would be to use XAA->Sync() instead of WaitForEngineIdle because
> > > > > WaitForEngineIdle does not guarantee the card is quiscent in CCE mode.
> > > >
> > > > Sounds like the correct fix, except I don't even see 'WaitForEngineIdle'
> > > > in my trees - is that a GATOS novelty? :)
> > >
> > > Ahh.. sorry it's called XXXXXWaitForIdle :)) WaitForEngineIdle is how its
> > > called in ATI sample code.
> >
> > Okay, but those aren't either in the Xv code I have, (where) have you
> > added them?
>
> http://gatos.sf.net/ - they were there last time I submitted a patch.. but
> it did not get in. Just to make sure I am not pulling your leg.. Yep, they
> are there: search for  R128WaitForIdle(pScrn) function.

I've implemented this (easier than software CCE) scheme. If you want to
please try the latest ati.2 CVS code at http://gatos.sf.net - or just take
a look at it.

Basically I put in info->accel->Sync(pScrn) at entrance points into Xv
driver. SetupImageVideo, StopVideo, SetPortAttribute, GetPortAttribute and
PutVideo are all "control" calls, perfomance is not critical. PutImage
should, arguably, take more time during image trasfer.. And if you are
playing Quake and watching DVD at the same you are making problems for
yourself anyway ;) (And the faster the card the less noticable any
slowdown from extra Sync calls will be)

                         Vladimir Dergachev


_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to