On Mon, Jan 29, 2018 at 12:08 PM, Rob Clark <robdcl...@gmail.com> wrote: > On Mon, Jan 29, 2018 at 2:39 PM, Ilia Mirkin <imir...@alum.mit.edu> wrote: >> On Mon, Jan 29, 2018 at 2:26 PM, Rob Clark <robdcl...@gmail.com> wrote: >>> If we can't create a 3.2 core context, fall back to a 3.1 context. >>> --- >>> run.c | 17 +++++++++++++++-- >>> 1 file changed, 15 insertions(+), 2 deletions(-) >>> >>> diff --git a/run.c b/run.c >>> index 79d771e..2056ebd 100644 >>> --- a/run.c >>> +++ b/run.c >>> @@ -383,9 +383,22 @@ create_context(EGLDisplay egl_dpy, EGLConfig cfg, enum >>> shader_type type) >>> EGL_NONE >>> }; >>> switch (type) { >>> - case TYPE_CORE: >>> + case TYPE_CORE: { >>> eglBindAPI(EGL_OPENGL_API); >>> - return eglCreateContext(egl_dpy, cfg, EGL_NO_CONTEXT, attribs); >>> + EGLContext core_ctx = >>> + eglCreateContext(egl_dpy, cfg, EGL_NO_CONTEXT, attribs); >>> + >>> + if (core_ctx == EGL_NO_CONTEXT) { >>> + static const EGLint attribs_31[] = { >>> + EGL_CONTEXT_MAJOR_VERSION_KHR, 3, >>> + EGL_CONTEXT_MINOR_VERSION_KHR, 1, >>> + EGL_NONE >>> + }; >>> + core_ctx = eglCreateContext(egl_dpy, cfg, EGL_NO_CONTEXT, >>> attribs_31); >> >> Should ensure that this context does not expose GL_ARB_compatibility. >> Otherwise it's a compat-type context. >> > > Hmm, does that mean there is no way to create a 3.1 core profile if a > driver supports 3.1 compat?
As far as I know, yes, that's the case. Kinda nuts. > btw, I wonder how much we really care.. afaict all this core/compat > logic in shader-db runner must just be to avoid using a core context > for shaders asking for glsl version <= 130 (presumably in case they > use features removed from core). So I guess it doesn't really matter > if we ended up with a 3.1 compat profile. Yeah, for our purposes I think just asking for a 3.1 profile and not caring about what you get is fine. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev