[Mesa-dev] [PATCH] glxgears: Honor -fullscreen in initial reshape

Brian Paul brianp at vmware.com
Fri Oct 5 07:14:34 PDT 2012


On 10/04/2012 05:30 PM, Aaron Plattner wrote:
> If glxgears is started on a bare X server without a window manager, it does not
> get a ConfigureNotify event.  This means that the only time the viewport is
> initialized is in main, when it calls reshape(winWidth, winHeight).  This does
> not take the size mangling caused by -fullscreen into account, so the gears
> appear in a 300x300 box in the lower-left corner of the window instead of
> filling the window as intended.
>
> Fix this by moving the size override from make_window to main, and pass the
> overridden size to both make_window and the initial reshape.
>
> Signed-off-by: Aaron Plattner<aplattner at nvidia.com>
> ---
>   src/xdemos/glxgears.c | 14 ++++++++------
>   1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/src/xdemos/glxgears.c b/src/xdemos/glxgears.c
> index 79b7226..2089715 100644
> --- a/src/xdemos/glxgears.c
> +++ b/src/xdemos/glxgears.c
> @@ -517,12 +517,6 @@ make_window( Display *dpy, const char *name,
>      scrnum = DefaultScreen( dpy );
>      root = RootWindow( dpy, scrnum );
>
> -   if (fullscreen) {
> -      x = 0; y = 0;
> -      width = DisplayWidth( dpy, scrnum );
> -      height = DisplayHeight( dpy, scrnum );
> -   }
> -
>      visinfo = glXChooseVisual(dpy, scrnum, attribs);
>      if (!visinfo) {
>         printf("Error: couldn't get an RGB, Double-buffered");
> @@ -770,6 +764,14 @@ main(int argc, char *argv[])
>         return -1;
>      }
>
> +   if (fullscreen) {
> +      int scrnum = DefaultScreen(dpy);
> +
> +      x = 0; y = 0;
> +      winWidth = DisplayWidth(dpy, scrnum);
> +      winHeight = DisplayHeight(dpy, scrnum);
> +   }
> +
>      make_window(dpy, "glxgears", x, y, winWidth, winHeight,&win,&ctx);
>      XMapWindow(dpy, win);
>      glXMakeCurrent(dpy, win, ctx);

Reviewed-by: Brian Paul <brianp at vmware.com>

Looks good to me.  I'll commit this for you.

-Brian




More information about the mesa-dev mailing list