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.

Thanks,
Marcin Slusarz

------------------------------------------------------------------------------
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