diff --git a/src/Magnum/Test/TransformFeedbackGLTest.cpp b/src/Magnum/Test/TransformFeedbackGLTest.cpp index 0de07d272..53058a1be 100644 --- a/src/Magnum/Test/TransformFeedbackGLTest.cpp +++ b/src/Magnum/Test/TransformFeedbackGLTest.cpp @@ -551,16 +551,16 @@ void TransformFeedbackGLTest::interleaved() { } void TransformFeedbackGLTest::draw() { + setTestCaseDescription(DrawData[testCaseInstanceId()].name); + /* ARB_transform_feedback2 needed as base, other optional */ if(!Context::current().isExtensionSupported()) CORRADE_SKIP(Extensions::GL::ARB::transform_feedback2::string() + std::string(" is not supported.")); - if(DrawData[testCaseInstanceId()].stream && !Context::current().isExtensionSupported()) - CORRADE_SKIP(Extensions::GL::ARB::transform_feedback3::string() + std::string(" is not supported.")); + if(DrawData[testCaseInstanceId()].stream && (!Context::current().isExtensionSupported() || TransformFeedback::maxVertexStreams() < 2)) + CORRADE_SKIP(Extensions::GL::ARB::transform_feedback3::string() + std::string(" is not supported well enough.")); if(DrawData[testCaseInstanceId()].instances && !Context::current().isExtensionSupported()) CORRADE_SKIP(Extensions::GL::ARB::transform_feedback_instanced::string() + std::string(" is not supported.")); - setTestCaseDescription(DrawData[testCaseInstanceId()].name); - /* Bind some FB to avoid errors on contexts w/o default FB */ Renderbuffer color; color.setStorage(RenderbufferFormat::RGBA8, Vector2i{1});