From f98f68262e124c77c964312685b0790563b27f80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Tue, 1 Jul 2025 18:54:15 +0200 Subject: [PATCH] GL: create a throwaway framebuffer to avoid a GL error in a test. Older Mesa w/ llvmpipe complains here, I suppose because there isn't any default framebuffer to draw to. --- src/Magnum/GL/Test/MeshGLTest.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/Magnum/GL/Test/MeshGLTest.cpp b/src/Magnum/GL/Test/MeshGLTest.cpp index 1a24e5400..6642726ee 100644 --- a/src/Magnum/GL/Test/MeshGLTest.cpp +++ b/src/Magnum/GL/Test/MeshGLTest.cpp @@ -2721,6 +2721,23 @@ void MeshGLTest::addEmptyBuffer() { MAGNUM_VERIFY_NO_GL_ERROR(); + /* Framebuffer just so I can call draw() below without risking a GL error + due to no default framebuffer */ + Framebuffer framebuffer{{{}, Vector2i{1}}}; + Renderbuffer renderbuffer; + renderbuffer.setStorage( + #ifndef MAGNUM_TARGET_GLES2 + RenderbufferFormat::RGBA8, + #else + RenderbufferFormat::RGBA4, + #endif + Vector2i(1)); + framebuffer + .attachRenderbuffer(Framebuffer::ColorAttachment(0), renderbuffer) + .bind(); + + MAGNUM_VERIFY_NO_GL_ERROR(); + /* This should do nothing */ FloatShader shader{"float", "vec4(valueInterpolated, 0.0, 0.0, 0.0)"}; shader.draw(mesh);