-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Kristian Høgsberg wrote: > When matching attributes using the 'mask' matching criteria, the spec > says that > > "Only GLXFBConfigs for which the set bits of attribute include all > the bits that are set in the requested value are > considered. (Additional bits might be set in the attribute)." > > The current test returns true if the two bit masks have bits in > common, specifically it matches even if the requested value has bits > set that are not set in the fbconfig attribute. For example, an > application asking for > > GLX_DRAWABLE_TYPE, GLX_PIXMAP_BIT | GLX_PBUFFER_BIT, > > as glxpbdemo does, will match fbconfigs that don't support pbuffer > rendering, as long as they support pixmap rendering.
Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> This should go into master, 7.8, and mesa_7_7_branch. Are there any specific bugs associated with this? If so, those should be documented in the commit message. > --- > src/glx/glxcmds.c | 14 +++++++++----- > 1 files changed, 9 insertions(+), 5 deletions(-) > > diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c > index 7cdd42c..e256a07 100644 > --- a/src/glx/glxcmds.c > +++ b/src/glx/glxcmds.c > @@ -1110,6 +1110,13 @@ init_fbconfig_for_chooser(__GLcontextModes * config, > } \ > } while ( 0 ) > > +/* Test that all bits from a are contained in b */ > +#define MATCH_MASK(param) \ > + do { \ > + if ((a->param & ~b->param) != 0) \ > + return False; \ > + } while (0); > + > /** > * Determine if two GLXFBConfigs are compatible. > * > @@ -1148,11 +1155,8 @@ fbconfigs_compatible(const __GLcontextModes * const a, > MATCH_DONT_CARE(stereoMode); > MATCH_EXACT(level); > > - if (((a->drawableType & b->drawableType) == 0) > - || ((a->renderType & b->renderType) == 0)) { > - return False; > - } > - > + MATCH_MASK(drawableType); > + MATCH_MASK(renderType); > > /* There is a bug in a few of the XFree86 DDX drivers. They contain > * visuals with a "transparent type" of 0 when they really mean GLX_NONE. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAku/d2QACgkQX1gOwKyEAw/6gACfcz1EfbxKymUy90FCCQjxyDp8 OyMAn0mFF4f8OOn+jPnwzKrHz5m0capG =pndz -----END PGP SIGNATURE----- ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev