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/CommandGraph.cpp b/src/libANGLE/renderer/vulkan/CommandGraph.cpp
index 3c95e7f..c22e1bc 100644
--- a/src/libANGLE/renderer/vulkan/CommandGraph.cpp
+++ b/src/libANGLE/renderer/vulkan/CommandGraph.cpp
@@ -46,7 +46,7 @@
beginInfo.pInheritanceInfo = &inheritanceInfo;
ANGLE_VK_TRY(context, commandBuffer->begin(beginInfo));
- return angle::Result::Continue();
+ return angle::Result::Continue;
}
const char *GetResourceTypeName(CommandGraphResourceType resourceType,
@@ -146,7 +146,7 @@
*commandBufferOut = outsideRenderPassCommands;
}
- return angle::Result::Continue();
+ return angle::Result::Continue;
}
bool RecordableGraphResource::appendToStartedRenderPass(RendererVk *renderer,
@@ -333,7 +333,7 @@
&mOutsideRenderPassCommands));
*commandsOut = &mOutsideRenderPassCommands;
- return angle::Result::Continue();
+ return angle::Result::Continue;
}
angle::Result CommandGraphNode::beginInsideRenderPassRecording(Context *context,
@@ -362,7 +362,7 @@
VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT, &mInsideRenderPassCommands));
*commandsOut = &mInsideRenderPassCommands;
- return angle::Result::Continue();
+ return angle::Result::Continue;
}
void CommandGraphNode::storeRenderPassInfo(const Framebuffer &framebuffer,
@@ -566,7 +566,7 @@
}
mVisitedState = VisitedState::Visited;
- return angle::Result::Continue();
+ return angle::Result::Continue;
}
const std::vector<CommandGraphNode *> &CommandGraphNode::getParentsForDiagnostics() const
@@ -709,7 +709,7 @@
clear();
- return angle::Result::Continue();
+ return angle::Result::Continue;
}
bool CommandGraph::empty() const