Commit 91f54d83 by Jamie Madill Committed by Commit Bot

Capture/Replay: Use vector for resource maps.

unordered_map was showing up as a hotspot in replay profiling. Bug: angleproject:4916 Change-Id: I840371313ab51faa088664b9840c7ef3f998fcad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2334094Reviewed-by: 's avatarCody Northrop <cnorthrop@google.com> Reviewed-by: 's avatarManh Nguyen <nguyenmh@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent 663075ac
......@@ -1076,8 +1076,19 @@ void WriteCppReplayIndexFiles(bool compression,
header << "void UpdateCurrentProgram(GLuint program);\n";
header << "\n";
header << "// Maps from captured Resource ID to run-time Resource ID.\n";
header << "using ResourceMap = std::unordered_map<GLuint, GLuint>;\n";
header << "\n";
header << "class ResourceMap\n\n";
header << "{\n";
header << " public:\n";
header << " ResourceMap() {}\n";
header << " GLuint &operator[](GLuint index)\n";
header << " {\n";
header << " if (mIDs.size() <= static_cast<size_t>(index))\n";
header << " mIDs.resize(index + 1, 0);\n";
header << " return mIDs[index];\n";
header << " }\n";
header << " private:\n";
header << " std::vector<GLuint> mIDs;\n";
header << "};\n";
header << "\n";
header << "constexpr uint32_t kReplayFrameStart = " << frameStart << ";\n";
header << "constexpr uint32_t kReplayFrameEnd = " << frameEnd << ";\n";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment