Add suppressions for several Intel failures.

Also add a new test for UBOs to end2end_tests.

BUG=540538

Change-Id: I6ffa6ba061a2c33811c65719deaa4302f1dbd704
Reviewed-on: https://chromium-review.googlesource.com/304521
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/tests/gl_tests/SwizzleTest.cpp b/src/tests/gl_tests/SwizzleTest.cpp
index d816488..6eb2d1c 100644
--- a/src/tests/gl_tests/SwizzleTest.cpp
+++ b/src/tests/gl_tests/SwizzleTest.cpp
@@ -93,6 +93,7 @@
         mTextureUniformLocation = glGetUniformLocation(mProgram, "tex");
 
         glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
+        ASSERT_GL_NO_ERROR();
     }
 
     void TearDown() override
@@ -140,6 +141,13 @@
 
     void runTest2D()
     {
+        // TODO(jmadill): Figure out why this fails on Intel.
+        if (isIntel() && GetParam().getRenderer() == EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE)
+        {
+            std::cout << "Test skipped on Intel." << std::endl;
+            return;
+        }
+
         glUseProgram(mProgram);
         glBindTexture(GL_TEXTURE_2D, mTexture);
         glUniform1i(mTextureUniformLocation, 0);
@@ -155,6 +163,8 @@
         GLubyte unswizzled[4];
         glReadPixels(0, 0, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, &unswizzled);
 
+        ASSERT_GL_NO_ERROR();
+
         for (size_t i = 0; i < mPermutations.size(); i++)
         {
             const swizzlePermutation& permutation = mPermutations[i];
@@ -172,6 +182,8 @@
                             getExpectedValue(permutation.swizzleGreen, unswizzled),
                             getExpectedValue(permutation.swizzleBlue, unswizzled),
                             getExpectedValue(permutation.swizzleAlpha, unswizzled));
+
+            ASSERT_GL_NO_ERROR();
         }
     }