From: Timothy Arceri Date: Fri, 2 Aug 2019 01:38:45 +0000 (+1000) Subject: egl: fix OpenGL 3.1 context creation X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=74f96b06d6869d39b9417275241da4319d16fe37;p=mesa.git egl: fix OpenGL 3.1 context creation >From the EGL_KHR_create_context spec: "* If OpenGL 3.1 is requested, the context returned may implement any of the following versions: * Version 3.1. The GL_ARB_compatibility extension may or may not be implemented, as determined by the implementation. * The core profile of version 3.2 or greater." Fixes CTS tests: dEQP-EGL.functional.create_context_ext.gl_31.rgb888_depth_stencil dEQP-EGL.functional.create_context_ext.robust_gl_31.rgb888_depth_stencil dEQP-EGL.functional.create_context_ext.gl_31.rgb888_depth_no_stencil dEQP-EGL.functional.create_context_ext.robust_gl_31.rgb888_depth_no_stencil dEQP-EGL.functional.create_context_ext.gl_31.rgba8888_depth_no_stencil dEQP-EGL.functional.create_context_ext.gl_31.rgb888_no_depth_no_stencil dEQP-EGL.functional.create_context_ext.robust_gl_31.rgba8888_depth_no_stencil dEQP-EGL.functional.create_context_ext.robust_gl_31.rgb888_no_depth_no_stencil dEQP-EGL.functional.create_context_ext.gl_31.rgba8888_no_depth_no_stencil dEQP-EGL.functional.create_context_ext.robust_gl_31.rgba8888_no_depth_no_stencil dEQP-EGL.functional.create_context_ext.gl_31.rgba8888_depth_stencil dEQP-EGL.functional.create_context_ext.robust_gl_31.rgba8888_depth_stencil Reviewed-by: Kenneth Graunke --- diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index c712c106b06..918d61a1e9b 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -1245,6 +1245,9 @@ dri2_create_context(_EGLDriver *drv, _EGLDisplay *disp, _EGLConfig *conf, && dri2_ctx->base.ClientMinorVersion >= 2)) && dri2_ctx->base.Profile == EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR) api = __DRI_API_OPENGL_CORE; + else if (dri2_ctx->base.ClientMajorVersion == 3 && + dri2_ctx->base.ClientMinorVersion == 1) + api = __DRI_API_OPENGL_CORE; else api = __DRI_API_OPENGL; break;