Use EGL_KHR_create_context with GLES as well.

master
Camilla Berglund ago%!(EXTRA string=13 years)
parent bddc95c017
commit ccca5d71fe
  1. 78
      src/x11_egl_opengl.c

@ -252,63 +252,63 @@ static int createContext(_GLFWwindow* window,
return GL_FALSE; return GL_FALSE;
} }
index = 0;
if (wndconfig->clientAPI == GLFW_OPENGL_ES_API) if (wndconfig->clientAPI == GLFW_OPENGL_ES_API)
{
eglBindAPI(EGL_OPENGL_ES_API); eglBindAPI(EGL_OPENGL_ES_API);
setEGLattrib(attribs, index, EGL_CONTEXT_CLIENT_VERSION, wndconfig->glMajor);
}
else else
{
eglBindAPI(EGL_OPENGL_API); eglBindAPI(EGL_OPENGL_API);
if (_glfwLibrary.EGL.KHR_create_context) index = 0;
{
setEGLattrib(attribs, index, EGL_CONTEXT_MAJOR_VERSION_KHR, wndconfig->glMajor);
setEGLattrib(attribs, index, EGL_CONTEXT_MINOR_VERSION_KHR, wndconfig->glMinor);
if (wndconfig->glForward || wndconfig->glDebug || wndconfig->glRobustness) if (_glfwLibrary.EGL.KHR_create_context)
{ {
int flags = 0; setEGLattrib(attribs, index, EGL_CONTEXT_MAJOR_VERSION_KHR, wndconfig->glMajor);
setEGLattrib(attribs, index, EGL_CONTEXT_MINOR_VERSION_KHR, wndconfig->glMinor);
if (wndconfig->glForward) if (wndconfig->glForward || wndconfig->glDebug || wndconfig->glRobustness)
flags |= EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR; {
int flags = 0;
if (wndconfig->glDebug) if (wndconfig->glForward)
flags |= EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR; flags |= EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR;
if (wndconfig->glRobustness) if (wndconfig->glDebug)
flags |= EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR; flags |= EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR;
setEGLattrib(attribs, index, EGL_CONTEXT_FLAGS_KHR, flags); if (wndconfig->glRobustness)
} flags |= EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR;
if (wndconfig->glProfile) setEGLattrib(attribs, index, EGL_CONTEXT_FLAGS_KHR, flags);
{ }
int flags = 0;
if (wndconfig->glProfile == GLFW_OPENGL_CORE_PROFILE) if (wndconfig->glProfile)
flags = EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR; {
else if (wndconfig->glProfile == GLFW_OPENGL_COMPAT_PROFILE) int flags = 0;
flags = EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR;
setEGLattrib(attribs, index, EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR, flags); if (wndconfig->glProfile == GLFW_OPENGL_CORE_PROFILE)
} flags = EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR;
else if (wndconfig->glProfile == GLFW_OPENGL_COMPAT_PROFILE)
flags = EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR;
if (wndconfig->glRobustness) setEGLattrib(attribs, index, EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR, flags);
{ }
int strategy;
if (wndconfig->glRobustness == GLFW_OPENGL_NO_RESET_NOTIFICATION) if (wndconfig->glRobustness)
strategy = EGL_NO_RESET_NOTIFICATION_KHR; {
else if (wndconfig->glRobustness == GLFW_OPENGL_LOSE_CONTEXT_ON_RESET) int strategy;
strategy = EGL_LOSE_CONTEXT_ON_RESET_KHR;
setEGLattrib(attribs, index, EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR, strategy); if (wndconfig->glRobustness == GLFW_OPENGL_NO_RESET_NOTIFICATION)
} strategy = EGL_NO_RESET_NOTIFICATION_KHR;
else if (wndconfig->glRobustness == GLFW_OPENGL_LOSE_CONTEXT_ON_RESET)
strategy = EGL_LOSE_CONTEXT_ON_RESET_KHR;
setEGLattrib(attribs, index, EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR, strategy);
} }
} }
else
{
if (wndconfig->clientAPI == GLFW_OPENGL_ES_API)
setEGLattrib(attribs, index, EGL_CONTEXT_CLIENT_VERSION, wndconfig->glMajor);
}
setEGLattrib(attribs, index, EGL_NONE, EGL_NONE); setEGLattrib(attribs, index, EGL_NONE, EGL_NONE);

Loading…
Cancel
Save