On Thu, 2009-11-19 at 18:53 +0100, Marcin Slusarz wrote: 
> On Thu, Nov 19, 2009 at 09:18:13AM +0100, Michel Dänzer wrote:
> > On Wed, 2009-11-18 at 19:44 +0100, Marcin Slusarz wrote: 
> > > 
> > > diff --git a/progs/xdemos/glxdemo.c b/progs/xdemos/glxdemo.c
> > > index 37df64e..f0838a8 100644
> > > --- a/progs/xdemos/glxdemo.c
> > > +++ b/progs/xdemos/glxdemo.c
> > > @@ -31,14 +33,16 @@ static void redraw( Display *dpy, Window w )
> > >  static void resize( unsigned int width, unsigned int height )
> > >  {
> > >     printf("Resize event\n");
> > > +   if (!glXMakeCurrent(dpy, win, ctx)) {
> > > +      printf("glXMakeCurrent failed\n");
> > > +      return;
> > > +   }
> > 
> > What problem(s) is this supposed to fix? I don't think clients are
> > required to call glXMakeCurrent after window resizes.
> 
> You are probably right. I was testing NV30 Gallium driver and observed
> that some xdemos fail wrt window resizing. For example:
> http://kadu.net/~joi/mesa/before-resize.png
> http://kadu.net/~joi/mesa/after-resize.png
> http://kadu.net/~joi/mesa/should-be-after-resize.png
> 
> But others with glXMakeCurrent in resize routines were fine.
> 
> Unfortunately I didn't notice that these were multi window/thread/context
> which obviously need glXMakeCurrent.
> 
> So I'm guessing the bug is somewhere in nouveau gallium code.

It's not specific to nouveau but probably the DRI state tracker.
Something's missing to make it get new DRI2 buffers on glViewport after
a window resize.


-- 
Earthling Michel Dänzer           |                http://www.vmware.com
Libre software enthusiast         |          Debian, X and DRI developer

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to