Forcing the geometry buffer (5th parameter of the SSAO2RenderingPipeline constructor) does reduce the number of rendering to the same number than when the gizmo is not used. So it seems it’s related to the prepass renderer: pinging @CraigFeldspar in case he has an idea.
Actually, SSAO is bound on a camera, which is the same used on the utilityLayer. So when it calls scene.render, the SSAO is also rendered as it’s in the list of the camera’s postprocesses.
I’m proposing this PR that deactivates all post processes on the utility layer scene, but I don’t know if it’s the way to go. Pinging @sebavan for more insight