From 4fd590af947ab754f9ee2524bff055a384ee72a1 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Thu, 11 Jul 2024 23:00:50 +0200 Subject: [PATCH] drm: fix synchronization on amd --- src/backend/drm/Renderer.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/backend/drm/Renderer.cpp b/src/backend/drm/Renderer.cpp index 9ab60d5..1d71260 100644 --- a/src/backend/drm/Renderer.cpp +++ b/src/backend/drm/Renderer.cpp @@ -200,6 +200,11 @@ SP CDRMRenderer::attempt(int drmfd, SP backend_) { attrs.push_back(EGL_CONTEXT_PRIORITY_HIGH_IMG); } + if (EGLEXTENSIONS2.contains("EXT_create_context_robustness")) { + attrs.push_back(EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT); + attrs.push_back(EGL_LOSE_CONTEXT_ON_RESET_EXT); + } + attrs.push_back(EGL_CONTEXT_MAJOR_VERSION); attrs.push_back(2); attrs.push_back(EGL_CONTEXT_MINOR_VERSION); @@ -348,6 +353,8 @@ CDRMRenderer::GLTex CDRMRenderer::glTex(Hyprutils::Memory::CSharedPointer from, SP to) { } } + glFlush(); + TRACE(backend->log(AQ_LOG_TRACE, std::format("EGL (blit): rboImage 0x{:x}", (uintptr_t)rboImage))); GLCALL(glBindRenderbuffer(GL_RENDERBUFFER, rboID));