Consider a deferred renderer with a alpha-blended road being drawn on a terrain, prior to lighting.
There are two color attachments, one for diffuse color and one for screen normal. The road will affect both of these. The edges of the road will be softly blended out. I set the blend mode for the road to alpha blending. Now we have to write the alpha value out to both gl_FragData and gl_FragData, even though it’s the same value. In fact, I have to write the alpha value out for every single color attachment, meaning that about 25% of my texture bandwidth is being wasted. If I could make every color attachment use the output of gl_FragData for the alpha value, I could store other data in the alpha channels of gl_FragData[1, 2, 3, etc.].
Here’s a video of the usage: