Ah... good eye.  I'll give that a try.  thanks for the help.

Alex

--- Felix Kühling <[EMAIL PROTECTED]> wrote:
> On Mon, 16 Jun 2003 10:21:20 -0700 (PDT)
> Alex Deucher <[EMAIL PROTECTED]> wrote:
> 
> > I've looked through the code and all the DRILock() and DRIUnlock()
> seem
> > to be right.  the only things that stands out as potentially
> suspicious
> > is in RADEONAdjustFrame():
> > 
> > void RADEONAdjustFrame(int scrnIndex, int x, int y, int flags)
> > {
> >     ScrnInfoPtr    pScrn      = xf86Screens[scrnIndex];
> >     RADEONInfoPtr  info       = RADEONPTR(pScrn);
> > 
> > #ifdef XF86DRI
> >     if (info->CPStarted) DRILock(pScrn->pScreen, 0);
> > #endif
> > 
> >     if (info->accelOn) info->accel->Sync(pScrn);
> > 
> >     if(info->MergedFB) {
> >             RADEONAdjustFrameMerged(scrnIndex, x, y, flags);
> >     return;
> >     }
> > 
> >     if (info->FBDev) {
> >     fbdevHWAdjustFrame(scrnIndex, x, y, flags);
> >     } else {
> >     RADEONDoAdjustFrame(pScrn, x, y, FALSE);
> >     }
> > 
> > #ifdef XF86DRI
> >     if (info->CPStarted) DRIUnlock(pScrn->pScreen);
> > #endif
> > }
> > 
> > I would assume the DRI would still be locked? 
> > RADEONAdjustFrameMerged() just computes the new viewports then
> calls
> > RADEONDoAdjustFrame() for each crtc.  Do you think it may have
> > something to do with the order in which the frames are adjusted
> (crtc1
> > first vs. crtc2 first)?
> > 
> > Thoughts?
> 
> Disclaimer: I don't have any experience with multi-head
> configurations.
> 
> To me it looks rather suspicious that there is a return in the middle
> of
> the function without unlocking first. Maybe it should better be
> written
> as:
> 
>     ...
>     if(info->MergedFB) {
>       RADEONAdjustFrameMerged(scrnIndex, x, y, flags);
>     } else if (info->FBDev) {
>       fbdevHWAdjustFrame(scrnIndex, x, y, flags);
>     } else {
>       RADEONDoAdjustFrame(pScrn, x, y, FALSE);
>     }
> 
> #ifdef XF86DRI
>       if (info->CPStarted) DRIUnlock(pScrn->pScreen);
> #endif
> }
> 
> > 
> > Alex
> > 
> 
> Regards,
>   Felix
> 
> ------------    __\|/__    ___     ___      
> -------------------------
>  Felix       ___\_e -_/___/ __\___/ __\_____   You can do anything,
>    Kühling  (_____\Ä/____/ /_____/ /________)  just not everything
>  [EMAIL PROTECTED]       \___/   \___/   U        at the same time.


__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com


-------------------------------------------------------
This SF.Net email is sponsored by: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to