Make angle::Result an enum.

This moves away from a class type to a value type. This should improve
performance when using angle::Result as a return value. Previously the
generated code would return a pointer instead of a value.

Improves performance in the most targeted microbenchmark by 10%. In
more realistic scanarios it will have a smaller improvement. Also
simplifies the class implementation and usage.

Includes some unrelated code generation changes.

Bug: angleproject:2491
Change-Id: Ifcf86870bf1c00a2f73c39ea6e4f05ca705050aa
Reviewed-on: https://chromium-review.googlesource.com/c/1356139
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp b/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
index 8476bfa..09a8fd9 100644
--- a/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
+++ b/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
@@ -57,7 +57,7 @@
     vertexLoadFunction(sourceData, stride, vertexCount, dst);
 
     ANGLE_TRY(dynamicBuffer->flush(contextVk));
-    return angle::Result::Continue();
+    return angle::Result::Continue;
 }
 
 }  // anonymous namespace
@@ -167,7 +167,7 @@
         memcpy(dst, sourcePointer, amount);
     }
     ANGLE_TRY(dynamicBuffer->flush(contextVk));
-    return angle::Result::Continue();
+    return angle::Result::Continue;
 }
 
 // We assume the buffer is completely full of the same kind of data and convert
@@ -190,7 +190,7 @@
     // Bytes usable for vertex data.
     GLint64 bytes = srcBuffer->getSize() - binding.getOffset();
     if (bytes < srcFormatSize)
-        return angle::Result::Continue();
+        return angle::Result::Continue;
 
     // Count the last vertex.  It may occupy less than a full stride.
     size_t numVertices = 1;
@@ -217,7 +217,7 @@
         mCurrentArrayBuffers[attribIndex]->getBuffer().getHandle();
     mCurrentArrayBufferConversionCanRelease[attribIndex] = true;
 
-    return angle::Result::Continue();
+    return angle::Result::Continue;
 }
 
 void VertexArrayVk::ensureConversionReleased(RendererVk *renderer, size_t attribIndex)
@@ -311,7 +311,7 @@
         contextVk->invalidateVertexAndIndexBuffers();
     }
 
-    return angle::Result::Continue();
+    return angle::Result::Continue;
 }
 
 angle::Result VertexArrayVk::syncDirtyAttrib(ContextVk *contextVk,
@@ -344,7 +344,7 @@
 
                 ANGLE_TRY(convertVertexBuffer(contextVk, bufferVk, binding, attribIndex));
 
-                releaseConversion                 = false;
+                releaseConversion = false;
             }
             else
             {
@@ -380,7 +380,7 @@
     if (releaseConversion)
         ensureConversionReleased(renderer, attribIndex);
 
-    return angle::Result::Continue();
+    return angle::Result::Continue;
 }
 
 void VertexArrayVk::getPackedInputDescriptions(vk::GraphicsPipelineDesc *pipelineDesc)
@@ -494,7 +494,7 @@
             mCurrentArrayBuffers[attribIndex]->getBuffer().getHandle();
     }
 
-    return angle::Result::Continue();
+    return angle::Result::Continue;
 }
 
 angle::Result VertexArrayVk::handleLineLoop(ContextVk *contextVk,
@@ -533,7 +533,7 @@
         // both calls.
         mLineLoopBufferFirstIndex.reset();
         mLineLoopBufferLastIndex.reset();
-        return angle::Result::Continue();
+        return angle::Result::Continue;
     }
 
     // Note: Vertex indexes can be arbitrarily large.
@@ -552,7 +552,7 @@
         mLineLoopBufferLastIndex  = lastVertex;
     }
 
-    return angle::Result::Continue();
+    return angle::Result::Continue;
 }
 
 angle::Result VertexArrayVk::updateIndexTranslation(ContextVk *contextVk,
@@ -635,7 +635,7 @@
         ANGLE_TRY(bufferVk->unmapImpl(contextVk));
     }
 
-    return angle::Result::Continue();
+    return angle::Result::Continue;
 }
 
 void VertexArrayVk::updateDefaultAttrib(RendererVk *renderer,