FrameCapture: Fix blend state per draw buffer in MEC Before this CL, we've never set starting state for draw buffers other than buffer zero. They've always remained at default values, or at least matching the values set for zero. Now when we detect the other buffers differ from buffer zero, we emit indexed calls that set them correctly. Turning a sequence like this: glEnable(GL_BLEND); glBlendFuncSeparate(GL_SRC_ALPHA, ...); glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_FALSE); into this: glEnableiEXT(GL_BLEND, 0); glBlendFuncSeparateiEXT(0, GL_SRC_ALPHA, ...); glBlendFuncSeparateiEXT(1, GL_SRC_ALPHA, ...); glEnableiEXT(GL_BLEND, 2); glBlendFuncSeparateiEXT(2, GL_SRC_ALPHA, ...); glColorMaskiEXT(2, GL_TRUE, GL_TRUE, GL_TRUE, GL_FALSE); glEnableiEXT(GL_BLEND, 3); glBlendFuncSeparateiEXT(3, GL_SRC_ALPHA, ...); glColorMaskiEXT(3, GL_TRUE, GL_TRUE, GL_TRUE, GL_FALSE); glColorMaskiEXT(4, GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE); glColorMaskiEXT(5, GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE); Test: Wuthering Waves trace Bug: b/431854319 Change-Id: Ic91d4b8cf50defd8b69ecf6aac697d0df8f69692 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6735677 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>