diff --git a/renderdoc/driver/gl/egl_hooks.cpp b/renderdoc/driver/gl/egl_hooks.cpp index da41ca194..8548b9730 100644 --- a/renderdoc/driver/gl/egl_hooks.cpp +++ b/renderdoc/driver/gl/egl_hooks.cpp @@ -303,6 +303,13 @@ HOOK_EXPORT EGLContext EGLAPIENTRY eglCreateContext_renderdoc_hooked(EGLDisplay continue; } + // remove reset notification attributes, so that we don't have to carry this bit around to + // know how to safely create sharing contexts. + if(name == EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT) + { + continue; + } + attribs.push_back(name); attribs.push_back(value); } diff --git a/renderdoc/driver/gl/egl_platform.cpp b/renderdoc/driver/gl/egl_platform.cpp index 66bfce35a..984195e72 100644 --- a/renderdoc/driver/gl/egl_platform.cpp +++ b/renderdoc/driver/gl/egl_platform.cpp @@ -82,16 +82,18 @@ class EGLPlatform : public GLPlatform if(ret.egl_ctx == EGL_NO_CONTEXT) { + EGLint err = EGL.GetError(); EGL.QueryContext(share.egl_dpy, share.egl_ctx, eEGL_CONTEXT_CLIENT_VERSION, &baseAttribs[1]); RDCWARN( - "Creating cloned context failed. Trying again with queried old EGL client version: %d", - baseAttribs[1]); + "Creating cloned context failed (%x). Trying again with queried old EGL client " + "version: %d", + err, baseAttribs[1]); ret.egl_ctx = EGL.CreateContext(share.egl_dpy, share.egl_cfg, share.egl_ctx, baseAttribs); - + err = EGL.GetError(); if(ret.egl_ctx == EGL_NO_CONTEXT) - RDCERR("Cloned context failed again. Capture will likely fail"); + RDCERR("Cloned context failed again (%x). Capture will likely fail", err); } }