Okay, so i'm expanding on weighted average sums for order independent transparency.

My idea is so, to add a single "depth" pass to the shader pipeline with GL_MIN_EXT blend equation. To store the least depth coordinate of any opaque objects and discard fragments greater than this on the "init" pass of the weighted average shader.

For those confused, ignore everything I just said, essentially I'm just trying to emulate a depth pass. The problem is its really not working out, even if I add a tolerance value

Nevermind I got it. Turns out the color loses some precision during the interpolation, so I needed to add a fuzz factor to my test for opaque surfaces ie (gl_color.a >= 0.95)

This method is actually works out really well. You get the advantage of efficient order independent transparency + opaque surfaces without sorting in just two rendering passes, three if you need a background.