[waffle] [PATCH 0/6] wflinfo: Make wflinfo understand OpenGL 3.1 profiles

Chad Versace chad.versace at linux.intel.com
Wed Apr 30 19:25:39 PDT 2014


On Mon, Apr 28, 2014 at 11:23:13PM -0700, Jordan Justen wrote:
> On Mon, Apr 28, 2014 at 8:43 PM, Chad Versace
> <chad.versace at linux.intel.com> wrote:
> > After this series, the following all do what the user wants them to do.
> >     wflinfo --api=gl --version=3.1
> >     wflinfo --api=gl --version=3.1 --profile=none
> >     wflinfo --api=gl --version=3.1 --profile=core
> >     wflinfo --api=gl --version=3.1 --profile=compat
> >
> > Likewise, if the user provided a profile but no version, like this...
> >     wflinfo --api=gl --profile=core
> >     wflinfo --api=gl --profile=compat
> > then wflinfo will also try creating an OpenGL 3.1 context.
> >
> > DISCLAIMER: I've only tested these patches on Intel Ivybride, which exposes
> > only core profile for OpenGL 3.1 and above. Someone really needs to test this
> > on a system that exposes an OpenGL 3.1 compatibility context, but I don't have
> > access to one. If no one steps up to test that, then we can commit now and
> > fix bugs later.
> 
> Patches 1-4 Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
> 
> These results (on nvidia with GL 4.4) could be better:
> 
> $ bin/wflinfo -p glx -a gl -V 3.1 --profile=core
> Waffle error: 0x0 WAFFLE_NO_ERROR
> 
> $ bin/wflinfo -p glx -a gl -V 3.1 --profile=compat
> Waffle error: 0x0 WAFFLE_NO_ERROR
> 
> Removing -V works as expected though.
> 
> origin/master gives:
> 
> $ bin/wflinfo -p glx -a gl -V 3.1 --profile=core
> Waffle error: 0x8 WAFFLE_ERROR_BAD_ATTRIBUTE: for OpenGL < 3.2,
> WAFFLE_CONTEXT_PROFILE must be WAFFLE_NONE
> 
> $ bin/wflinfo -p glx -a gl -V 3.1 --profile=compat
> Waffle error: 0x8 WAFFLE_ERROR_BAD_ATTRIBUTE: for OpenGL < 3.2,
> WAFFLE_CONTEXT_PROFILE must be WAFFLE_NONE

Ivybridge looks good.Here's my output.

$ bin/wflinfo -p gbm -a gl -V 3.1 --profile=core
Wflinfo: Creation of an OpenGL >= 3.1 context succeeded, but it
  had the wrong profile.  Fallback to requesting an OpenGL >= 3.2
  context, which is guaranteed to have the correct profile if
  context creation succeeds.
Waffle platform: gbm
Waffle api: gl
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile 
OpenGL version string: 3.3 (Core Profile) Mesa 10.2.0-devel (git-410d7ae)
OpenGL context flags: 0x0

$ bin/wflinfo -p gbm -a gl -V 3.1 --profile=compat
Wflinfo: Creation of an OpenGL >= 3.1 context succeeded, but it
  had the wrong profile.  Fallback to requesting an OpenGL >= 3.2
  context, which is guaranteed to have the correct profile if
  context creation succeeds.
Wflinfo error: Failed to create an OpenGL 3.1 or later context with requested profile

I'm looking at the code now trying to understand why NVidia fails.


More information about the waffle mailing list