[Mesa-dev] [PATCH 1/2] Fix __glXInitializeVisualConfigFromTags's handling of unrecognized fbconfig tags.

Aaron Plattner aplattner at nvidia.com
Sun May 2 10:43:19 PDT 2010


On Sun, May 02, 2010 at 02:39:07AM -0700, Dave Airlie wrote:
> On Fri, Apr 23, 2010 at 2:30 AM, Aaron Plattner <aplattner at nvidia.com> wrote:
> > __glXInitializeVisualConfigFromTags doesn't skip the payload of unrecognized
> > tags.  Instead, it treats the value as if it were the next tag, which can happen
> > if the server's GLX extension is not Mesa's.  For example, this falls down when
> > NVIDIA sends a GLX_FLOAT_COMPONENTS_NV = 0 pair, causing
> > __glXInitializeVisualConfigFromTags to bail out early.
> 
> I've had a regression reported on irc from papillon81 with GLX_USE_GL
> and OpenSceneGraph bisected to this.

The spec is pretty clear about the attribute format for protocol:

(for visuals)

    The first 18 properties are ordered; the remaining properties consist of a
    property type and a property value.

(for fbconfigs)

    The properties consist of a property type and a property value.

You use __glXInitializeVisualConfigFromTags in glXChooseVisual, don't you?
I think you need something like "fbconfig_style_tags && bp++;"  Or I guess
you could just hope that the server never sends GLX_USE_GL as a visual or
FBconfig property.

> I'm guessing we need something like the attached.
> 
> Dave.
> 
> >
> > Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
> > ---
> >  src/glx/glxext.c |    2 ++
> >  1 files changed, 2 insertions(+), 0 deletions(-)
> >
> > diff --git a/src/glx/glxext.c b/src/glx/glxext.c
> > index 5289354..6d6f89e 100644
> > --- a/src/glx/glxext.c
> > +++ b/src/glx/glxext.c
> > @@ -539,6 +539,8 @@ __glXInitializeVisualConfigFromTags(__GLcontextModes * config, int count,
> >          i = count;
> >          break;
> >       default:
> > +         /* Ignore the unrecognized tag's value */
> > +         bp++;
> >          break;
> >       }
> >    }
> > --
> > 1.6.3.3
> >
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> >




More information about the mesa-dev mailing list