Number of views should match when Draw* is called

The ANGLE_multiview specification is modified so that Draw* generates
an error if the number of views in the active program does not match
with the number of views in the active draw framebuffer object.
The tests and validation are modified accordingly.

The patch also sets a contact person, updates the contributor list and
sets the correct enum values in the ANGLE_multiview specification.

BUG=angleproject:2062
TEST=angle_end2end_tests

Change-Id: I15fee4c5e729605bb1d6292f7ad1155637578dea
Reviewed-on: https://chromium-review.googlesource.com/663160
Commit-Queue: Martin Radev <mradev@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
diff --git a/src/libANGLE/validationES.cpp b/src/libANGLE/validationES.cpp
index c124406..df3092d 100644
--- a/src/libANGLE/validationES.cpp
+++ b/src/libANGLE/validationES.cpp
@@ -2582,9 +2582,9 @@
 
     if (extensions.multiview)
     {
-        const int programNumViews     = program->getNumViews();
+        const int programNumViews     = program->usesMultiview() ? program->getNumViews() : 1;
         const int framebufferNumViews = framebuffer->getNumViews();
-        if (programNumViews != -1 && framebufferNumViews != programNumViews)
+        if (framebufferNumViews != programNumViews)
         {
             context->handleError(InvalidOperation() << "The number of views in the active program "
                                                        "and draw framebuffer does not match.");