Save side-by-side function arguments into attachment's state

Handle glFramebufferTextureMultiviewSideBySideANGLE calls by saving the
arguments into the attachment's state.

BUG=angleproject:2062
TEST=angle_end2end_tests

Change-Id: Idc5441d673b48640f47415b07b2854fbdf566c8d
Reviewed-on: https://chromium-review.googlesource.com/574915
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/libANGLE/Framebuffer.h b/src/libANGLE/Framebuffer.h
index 7b53cda..40f100a 100644
--- a/src/libANGLE/Framebuffer.h
+++ b/src/libANGLE/Framebuffer.h
@@ -148,6 +148,13 @@
                        GLenum binding,
                        const ImageIndex &textureIndex,
                        FramebufferAttachmentObject *resource);
+    void setAttachmentMultiviewSideBySide(const Context *context,
+                                          GLenum type,
+                                          GLenum binding,
+                                          const ImageIndex &textureIndex,
+                                          FramebufferAttachmentObject *resource,
+                                          GLsizei numViews,
+                                          const GLint *viewportOffsets);
     void resetAttachment(const Context *context, GLenum binding);
 
     void detachTexture(const Context *context, GLuint texture);
@@ -292,13 +299,29 @@
                                   GLuint matchId,
                                   size_t dirtyBit);
     GLenum checkStatusImpl(const Context *context);
-    void commitWebGL1DepthStencilIfConsistent(const Context *context);
-
+    void setAttachment(const Context *context,
+                       GLenum type,
+                       GLenum binding,
+                       const ImageIndex &textureIndex,
+                       FramebufferAttachmentObject *resource,
+                       GLsizei numViews,
+                       GLuint baseViewIndex,
+                       GLenum multiviewLayout,
+                       const GLint *viewportOffsets);
+    void commitWebGL1DepthStencilIfConsistent(const Context *context,
+                                              GLsizei numViews,
+                                              GLuint baseViewIndex,
+                                              GLenum multiviewLayout,
+                                              const GLint *viewportOffsets);
     void setAttachmentImpl(const Context *context,
                            GLenum type,
                            GLenum binding,
                            const ImageIndex &textureIndex,
-                           FramebufferAttachmentObject *resource);
+                           FramebufferAttachmentObject *resource,
+                           GLsizei numViews,
+                           GLuint baseViewIndex,
+                           GLenum multiviewLayout,
+                           const GLint *viewportOffsets);
     void updateAttachment(const Context *context,
                           FramebufferAttachment *attachment,
                           size_t dirtyBit,
@@ -306,7 +329,11 @@
                           GLenum type,
                           GLenum binding,
                           const ImageIndex &textureIndex,
-                          FramebufferAttachmentObject *resource);
+                          FramebufferAttachmentObject *resource,
+                          GLsizei numViews,
+                          GLuint baseViewIndex,
+                          GLenum multiviewLayout,
+                          const GLint *viewportOffsets);
 
     FramebufferState mState;
     rx::FramebufferImpl *mImpl;