# https://github.com/hyprwm/Hyprland/pull/4928 # https://bugs.gentoo.org/925912 diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp index 64f582f2..a6f2dc03 100644 --- a/src/render/OpenGL.cpp +++ b/src/render/OpenGL.cpp @@ -353,7 +353,11 @@ void CHyprOpenGLImpl::end() { // check for gl errors const GLenum ERR = glGetError(); +#ifdef GLES2 + if (ERR == GL_CONTEXT_LOST_KHR) /* We don't have infra to recover from this */ +#else if (ERR == GL_CONTEXT_LOST) /* We don't have infra to recover from this */ +#endif RASSERT(false, "glGetError at Opengl::end() returned GL_CONTEXT_LOST. Cannot continue until proper GPU reset handling is implemented."); } @@ -2057,7 +2061,13 @@ void CHyprOpenGLImpl::createBGTextureForMonitor(CMonitor* pMonitor) { tex.m_vSize = IMAGESIZE * scale; // copy the data to an OpenGL texture we have - const GLint glIFormat = CAIROFORMAT == CAIRO_FORMAT_RGB96F ? GL_RGB32F : GL_RGBA; + const GLint glIFormat = CAIROFORMAT == CAIRO_FORMAT_RGB96F ? +#ifdef GLES2 + GL_RGB32F_EXT : +#else + GL_RGB32F : +#endif + GL_RGBA; const GLint glFormat = CAIROFORMAT == CAIRO_FORMAT_RGB96F ? GL_RGB : GL_RGBA; const GLint glType = CAIROFORMAT == CAIRO_FORMAT_RGB96F ? GL_FLOAT : GL_UNSIGNED_BYTE;