On Thursday, June 26, 2014 07:31:20 PM Knut Andre Tidemann wrote: > On 06/26/2014 07:25 PM, Ilia Mirkin wrote: > > On Thu, Jun 26, 2014 at 1:08 PM, Knut Andre Tidemann > > <knut.tidem...@gmail.com> wrote: > >> --- > >> src/gallium/state_trackers/egl/common/egl_g3d.c | 1 + > >> src/gallium/state_trackers/egl/common/egl_g3d_api.c | 8 ++++++++ > >> 2 files changed, 9 insertions(+) > >> > >> diff --git a/src/gallium/state_trackers/egl/common/egl_g3d.c b/src/gallium/state_trackers/egl/common/egl_g3d.c > >> index d3f5e92..22b5e4a 100644 > >> --- a/src/gallium/state_trackers/egl/common/egl_g3d.c > >> +++ b/src/gallium/state_trackers/egl/common/egl_g3d.c > >> @@ -584,6 +584,7 @@ egl_g3d_initialize(_EGLDriver *drv, _EGLDisplay *dpy) > >> dpy->Extensions.KHR_fence_sync = EGL_TRUE; > >> > >> dpy->Extensions.KHR_surfaceless_context = EGL_TRUE; > >> + dpy->Extensions.KHR_create_context = EGL_TRUE; > >> > >> if (dpy->Platform == _EGL_PLATFORM_DRM) { > >> dpy->Extensions.MESA_drm_display = EGL_TRUE; > >> diff --git a/src/gallium/state_trackers/egl/common/egl_g3d_api.c b/src/gallium/state_trackers/egl/common/egl_g3d_api.c > >> index b19d899..4356ab8 100644 > >> --- a/src/gallium/state_trackers/egl/common/egl_g3d_api.c > >> +++ b/src/gallium/state_trackers/egl/common/egl_g3d_api.c > >> @@ -72,6 +72,11 @@ egl_g3d_choose_st(_EGLDriver *drv, _EGLContext *ctx, > >> break; > >> case EGL_OPENGL_API: > >> api = ST_API_OPENGL; > >> + if(((ctx->ClientMajorVersion > 4) || > > > > Did you mean > 3 here? > > No 4, is correct, to catch GL 4.x and up, while the rest of the > statement takes care of 3.2 and up. > > > > > Also, the convention used throughout mesa is to put a space after > > keywords like 'if', so 'if (' vs 'if('. > > > > I'll fix this. > > >> + (ctx->ClientMajorVersion == 3 && ctx->ClientMinorVersion >= 2)) && > > > > I don't know a whole lot about this, but you can get a core context > > with 3.1 as well... (in fact, mesa only supports core contexts for > > 3.1+). > > > > The way this is implemented in the intel egl driver and the > EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR is only defind for 3.2 contexts and > above (as noted in the documentation).
Right. The profile mechanism was introduced with 3.2. 3.1 is a total anomaly - by default, it removes all of the deprecated functionality (like the 3.2 core profile). Implementations can add it back by exposing the GL_ARB_compatibility extension. Apps just ask for 3.1 and get one or the other, with little control over which they get. Using 3.1 correctly is hard. 3.2 is much nicer. --Ken
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev