diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 50c11640cb..2811dad1bb 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -2898,6 +2898,12 @@ void GCode::process_layers( return in.gcode; return cooling_buffer.process_layer(std::move(in.gcode), in.layer_id, in.cooling_buffer_flush); }); + const auto pa_processor_filter = tbb::make_filter(slic3r_tbb_filtermode::serial_in_order, + [&pa_processor = *this->m_pa_processor](std::string in) -> std::string { + return pa_processor.process_layer(std::move(in)); + } + ); + const auto output = tbb::make_filter(slic3r_tbb_filtermode::serial_in_order, [&output_stream](std::string s) { output_stream.write(s); } ); @@ -2926,9 +2932,9 @@ void GCode::process_layers( else if (m_spiral_vase) tbb::parallel_pipeline(12, generator & spiral_mode & cooling & fan_mover & output); else if (m_pressure_equalizer) - tbb::parallel_pipeline(12, generator & pressure_equalizer & cooling & fan_mover & output); + tbb::parallel_pipeline(12, generator & pressure_equalizer & cooling & fan_mover & pa_processor_filter & output); else - tbb::parallel_pipeline(12, generator & cooling & fan_mover & output); + tbb::parallel_pipeline(12, generator & cooling & fan_mover & pa_processor_filter & output); } std::string GCode::placeholder_parser_process(const std::string &name, const std::string &templ, unsigned int current_extruder_id, const DynamicConfig *config_override)