Using GL_EXT_blend_func_extended works with gl_FragColor / gl_SecondaryFragColorEXT but not with gl_FragData[0] / gl_SecondaryFragDataEXT[0] This was found when trying to use the 3.3 core profile in Chromium. See https://github.com/Kangz/GLDriverBugs/blob/master/gl_secondary_frag_data/Main.cpp#L24 for a repro case (no blue triangle shows up).
https://patchwork.freedesktop.org/patch/94448/ This fixes a hacked up piglit test for me, but need to do more testing before pushing.
Thanks for taking a look at this so quickly!
I pushed a slightly improved version of the patch: commit 36ed1b695e5a0ae5714b79cae3a089b5e7e8bd29 Author: Ilia Mirkin <imirkin@alum.mit.edu> Date: Tue Jun 21 16:16:17 2016 -0400 glsl: only match gl_FragData and not gl_SecondaryFragDataEXT There's special logic around finding gl_FragData. It latches onto any array with FRAG_RESULT_DATA0. However gl_SecondaryFragDataEXT[], added by GL_EXT_blend_func_extended, fits those parameters as well. The real frag data array should have index 0 though, so we can use that to distinguish them. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96617 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "11.1 11.2 12.0" <mesa-stable@lists.freedesktop.org> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.