Get GLBench passing on Arm Mesa softpipe.

Reduce test run count for long tests, instead of returning failure.
Stop the texture update test from needlessly retaining pixel array allocations.
Fix EGL context leak that led to out of memory failures.
Return failure when context initialization fails.
Add softpipe reference images.

TEST=GLBench now passes on Arm softpipe.  Still passes on i915.

Change-Id: I0b79676c1833d2a82cd625bf822985415692153a
Reviewed-on: https://gerrit.chromium.org/gerrit/24407
Tested-by: Stuart Abercrombie <sabercrombie@chromium.org>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
Commit-Ready: Stuart Abercrombie <sabercrombie@chromium.org>
diff --git a/client/deps/glbench/src/main.cc b/client/deps/glbench/src/main.cc
index 3a95b21..f8f99b7 100644
--- a/client/deps/glbench/src/main.cc
+++ b/client/deps/glbench/src/main.cc
@@ -95,7 +95,10 @@
     for (unsigned int i = 0; i < arraysize(tests); i++) {
       if (!test_is_enabled(tests[i], enabled_tests))
         continue;
-      InitContext();
+      if (!InitContext()) {
+        printf("InitContext failed\n");
+        return 1;
+      }
       tests[i]->Run();
       DestroyContext();
     }