ProgramD3D: only broadcast when the GL_EXT_draw_buffers is enabled

The behavior is undefined in GL ES when multiple attachments are used
with gl_FragColor but WebGL clarifies that:
 - If the extension is enabled, broadcast happens
 - If the extension isn't enabled, only the first attachment is written

BUG=angleproject:2048

Change-Id: I6d85ba91df77d42fb8863a03f1faa006cd7817bf
Reviewed-on: https://chromium-review.googlesource.com/523809
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/libANGLE/renderer/d3d/ProgramD3D.cpp b/src/libANGLE/renderer/d3d/ProgramD3D.cpp
index 83e5f61..4e0cd90 100644
--- a/src/libANGLE/renderer/d3d/ProgramD3D.cpp
+++ b/src/libANGLE/renderer/d3d/ProgramD3D.cpp
@@ -331,7 +331,8 @@
 
 bool ProgramD3DMetadata::usesBroadcast(const gl::ContextState &data) const
 {
-    return (mFragmentShader->usesFragColor() && data.getClientMajorVersion() < 3);
+    return (mFragmentShader->usesFragColor() && mFragmentShader->usesMultipleRenderTargets() &&
+            data.getClientMajorVersion() < 3);
 }
 
 bool ProgramD3DMetadata::usesFragDepth() const