When the environment variable LIBGL_ALWAYS_SOFTWARE is set (to request the use of the LLVMpipe driver), EGL does not support the KHR_create_context extension, and thus does not support · specifying the minor version of the API (i.e. asking for an OpenGL 3.x context), which is quite inconvenient · specifying context flags, such as the debug flag or the forward-compatible flag, which is also inconvenient · specifying the OpenGL profile mask, i.e., requesting a core or compatibility context, which is currently irrelevant because Mesa does not support the later flavour of context · requesting support for OpenGL ES 3 in an EGL configuration (note that creating an OpenGL ES 3 context is still possible, with EGL_CONTEXT_CLIENT_VERSION) On many systems, mainly for development purposes, the LLVMpipe driver is the only way to try newer versions of OpenGL. That the KHR_create_context extension is not supported prevents the creation of, for instance, an OpenGL 3.3 context, which would otherwise be supported by LLVMpipe. Could you please implement the extension for software EGL? Tip: As a workaround for this issue, the OpenGL version can be forced by the MESA_GL_VERSION_OVERRIDE and MESA_GLSL_VERSION_OVERRIDE environment variables, as described in http://www.mesa3d.org/envvars.html.
(In reply to comment #0) > Tip: As a workaround for this issue, the OpenGL version can be forced by the > MESA_GL_VERSION_OVERRIDE and MESA_GLSL_VERSION_OVERRIDE environment > variables, as described in http://www.mesa3d.org/envvars.html. Sorry; it turns out those variables only affect GL's reported version, not GL's _real_ version.
Presumably you mean EGL_KHR_create_context? (GL 3.3 is available on Intel Sandybridge and newer, new Nvidia and new Radeons. Why do you need LLVMpipe for GL 3.3?)
(In reply to comment #2) > Presumably you mean EGL_KHR_create_context? > > (GL 3.3 is available on Intel Sandybridge and newer, new Nvidia and new > Radeons. Why do you need LLVMpipe for GL 3.3?) Oh, yes. That
(In reply to comment #2) > Presumably you mean EGL_KHR_create_context? > > (GL 3.3 is available on Intel Sandybridge and newer, new Nvidia and new > Radeons. Why do you need LLVMpipe for GL 3.3?) Oh, yes. That was a typo. Thanks. (I need it because my GPU is under r200, and I would like to use versions newer than 1.3, along with EGL.)
Created attachment 115006 [details] [review] Enable KHR_create_context in EGL state tracker Works For Me(TM), semi-depends on this (https://bugs.freedesktop.org/attachment.cgi?id=115005) patch.
Props to Boyan, a slightly different version has landed for the DRI based libEGL. On the st/egl side, it has been dropped from upstream due lack of interested maintainer :'(
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.