From 75241aae61ec33fa01039d4939b3bc8a29937419 Mon Sep 17 00:00:00 2001 From: "jun.zhang" Date: Fri, 21 Mar 2025 09:49:15 +0800 Subject: [PATCH] FIX: disable msaa for picking pass jira: no-jira Change-Id: Idc6914af11d46b9fe626e52104223411a6ec1a96 --- src/slic3r/GUI/GLCanvas3D.cpp | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 3501ec9ec..ff79253cf 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -6310,20 +6310,26 @@ void GLCanvas3D::render_thumbnail_framebuffer(const std::shared_ptr= 4) { - msaa_type = EMSAAType::X4; - BOOST_LOG_TRIVIAL(info) << boost::format("framebuffer msaa type: %1%") % "X4"; - } - else if (max_samples == 2){ - msaa_type = EMSAAType::X2; - BOOST_LOG_TRIVIAL(info) << boost::format("framebuffer msaa type: %1%") % "X2"; - } - else { - BOOST_LOG_TRIVIAL(info) << boost::format("framebuffer msaa type: %1%") % "Disabled"; + if (b_need_msaa) { + GLint max_samples; + glsafe(::glGetIntegerv(GL_MAX_SAMPLES, &max_samples)); + if (max_samples >= 4) { + msaa_type = EMSAAType::X4; + samples = 4; + BOOST_LOG_TRIVIAL(info) << boost::format("framebuffer msaa type: %1%") % "X4"; + } + else if (max_samples == 2) { + msaa_type = EMSAAType::X2; + samples = 2; + BOOST_LOG_TRIVIAL(info) << boost::format("framebuffer msaa type: %1%") % "X2"; + } + else { + BOOST_LOG_TRIVIAL(info) << boost::format("framebuffer msaa type: %1%") % "Disabled"; + } } } else if (p_ogl_manager->is_legacy_framebuffer_enabled()) { @@ -6358,7 +6364,8 @@ void GLCanvas3D::render_thumbnail_framebuffer(const std::shared_ptrget_gl_id(); } - BOOST_LOG_TRIVIAL(info) << boost::format("render_thumbnail prepare: w %1%, h %2%, render_fbo %3%") % w % h % fb_id; + + BOOST_LOG_TRIVIAL(info) << boost::format("render_thumbnail prepare: w %1%, h %2%, samples %3%, render_fbo %4%") % w % h % samples % fb_id; #if ENABLE_THUMBNAIL_GENERATOR_DEBUG_OUTPUT debug_output_thumbnail(thumbnail_data);