[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