Allow zero output variable ES3 shaders.

We were assuming at least one variable, when some shaders could
legitimately use zero. This was causing assertions in the
dEQP shader.function tests.

BUG=angle:855

Change-Id: I7e4aa52a1c6ba98d4a396f4c642816ff95115fd5
Reviewed-on: https://chromium-review.googlesource.com/240144
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/libANGLE/renderer/d3d/ProgramD3D.cpp b/src/libANGLE/renderer/d3d/ProgramD3D.cpp
index 1f67e8d..9d2dc48 100644
--- a/src/libANGLE/renderer/d3d/ProgramD3D.cpp
+++ b/src/libANGLE/renderer/d3d/ProgramD3D.cpp
@@ -83,10 +83,12 @@
 
 std::vector<GLenum> GetDefaultOutputLayoutFromShader(const std::vector<PixelShaderOutputVariable> &shaderOutputVars)
 {
-    std::vector<GLenum> defaultPixelOutput(1);
+    std::vector<GLenum> defaultPixelOutput;
 
-    ASSERT(!shaderOutputVars.empty());
-    defaultPixelOutput[0] = GL_COLOR_ATTACHMENT0 + shaderOutputVars[0].outputIndex;
+    if (!shaderOutputVars.empty())
+    {
+        defaultPixelOutput.push_back(GL_COLOR_ATTACHMENT0 + shaderOutputVars[0].outputIndex);
+    }
 
     return defaultPixelOutput;
 }