summaryrefslogtreecommitdiff
path: root/src/render/OpenGL.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/OpenGL.cpp')
-rw-r--r--src/render/OpenGL.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp
index 715ca4f7..b00728ed 100644
--- a/src/render/OpenGL.cpp
+++ b/src/render/OpenGL.cpp
@@ -160,6 +160,7 @@ void CHyprOpenGLImpl::initEGL(bool gbm) {
m_exts.EXT_create_context_robustness = EGLEXTENSIONS.contains("EXT_create_context_robustness");
m_exts.EXT_image_dma_buf_import = EGLEXTENSIONS.contains("EXT_image_dma_buf_import");
m_exts.EXT_image_dma_buf_import_modifiers = EGLEXTENSIONS.contains("EXT_image_dma_buf_import_modifiers");
+ m_exts.KHR_context_flush_control = EGLEXTENSIONS.contains("EGL_KHR_context_flush_control");
if (m_exts.IMG_context_priority) {
Log::logger->log(Log::DEBUG, "EGL: IMG_context_priority supported, requesting high");
@@ -173,6 +174,12 @@ void CHyprOpenGLImpl::initEGL(bool gbm) {
attrs.push_back(EGL_LOSE_CONTEXT_ON_RESET_EXT);
}
+ if (m_exts.KHR_context_flush_control) {
+ Log::logger->log(Log::DEBUG, "EGL: Using KHR_context_flush_control");
+ attrs.push_back(EGL_CONTEXT_RELEASE_BEHAVIOR_KHR);
+ attrs.push_back(EGL_CONTEXT_RELEASE_BEHAVIOR_NONE_KHR); // or _FLUSH_KHR
+ }
+
auto attrsNoVer = attrs;
attrs.push_back(EGL_CONTEXT_MAJOR_VERSION);