Pingpong shader strange behavior

Hello everyone! I’m currently playing with a simple ping pong shader using two FBOs. I’m drawing particles in this shader and trying to do a diffusion effect. However, I am getting strange behaviors.

The diffusion works by sampling all neighboring pixels, averaging it and multiplying by a dampening factor. At a low dampening factor, the shader works properly and the particles have a slight glow. Working as expected:

However, at a higher dampening factor, these artifacts start to appear. There seem to be multiple parallel ‘shadows’ that have the same movement as the particles, just without the actual particle in the middle.

Also, there are some pixel tearing at the top left of the screen. This appeared after I added the GUI (gui.setup()) . The tear stays at the top left regardless of where I drag the GUI to. Without the GUI, there is no pixel tearing.

Here is the source code:

Info: My computer has an Intel 965 Express card.

Thank you!