Tests: Add Rise of Kingdoms trace

Test: angle_perftests --gtest_filter="*rise_of_kingdoms*"
TBR: jmadill@google.com,timvp@google.com
Bug: angleproject:5621
Change-Id: I148d7ae0c23e0ce8ecf75d12affb4c8dfdc04e1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2679221
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
diff --git a/scripts/code_generation_hashes/restricted_traces.json b/scripts/code_generation_hashes/restricted_traces.json
index 571c83d..53f983c 100644
--- a/scripts/code_generation_hashes/restricted_traces.json
+++ b/scripts/code_generation_hashes/restricted_traces.json
@@ -1,6 +1,6 @@
 {
   "src/tests/restricted_traces/.gitignore":
-    "5ad69636ae462aab71d1bad9e83d063c",
+    "4e623a37bf7372631c7f222c1564eb4b",
   "src/tests/restricted_traces/angry_birds_2_1500.tar.gz.sha1":
     "2b5d6505d6a8b6f3bbfbad2c8405a89d",
   "src/tests/restricted_traces/arena_of_valor.tar.gz.sha1":
@@ -76,13 +76,15 @@
   "src/tests/restricted_traces/real_gangster_crime.tar.gz.sha1":
     "c85be329035a760edad673eb2ca7c3f1",
   "src/tests/restricted_traces/restricted_traces.json":
-    "2f09fc37526983e0a377b60e6221e6a7",
+    "7eed313e826257e73426cc78b07b2154",
   "src/tests/restricted_traces/restricted_traces_autogen.cpp":
-    "9919a300c626aa7d99c6dc808c440911",
+    "2b4bde4e4aef3c2171735528b55a2604",
   "src/tests/restricted_traces/restricted_traces_autogen.gni":
-    "46a38dfd80a97795300d16b37819a5b0",
+    "3f936634243168c4d302292dd6120bc9",
   "src/tests/restricted_traces/restricted_traces_autogen.h":
-    "c700f8da2e0981981f58a83de102bac5",
+    "0a26d879b694dcb092c1c924a2120e65",
+  "src/tests/restricted_traces/rise_of_kingdoms.tar.gz.sha1":
+    "d4618f857c44f0dfa642ae3af8f161d9",
   "src/tests/restricted_traces/saint_seiya_awakening.tar.gz.sha1":
     "c9cde6bdfd9096a44d5f03d905a45a4f",
   "src/tests/restricted_traces/shadow_fight_2.tar.gz.sha1":
diff --git a/src/tests/perf_tests/TracePerfTest.cpp b/src/tests/perf_tests/TracePerfTest.cpp
index 21612f5..03d64fa 100644
--- a/src/tests/perf_tests/TracePerfTest.cpp
+++ b/src/tests/perf_tests/TracePerfTest.cpp
@@ -349,6 +349,11 @@
         addExtensionPrerequisite("GL_KHR_texture_compression_astc_ldr");
     }
 
+    if (param.testID == RestrictedTraceID::rise_of_kingdoms)
+    {
+        addExtensionPrerequisite("GL_OES_EGL_image_external");
+    }
+
     // We already swap in TracePerfTest::drawBenchmark, no need to swap again in the harness.
     disableTestHarnessSwap();
 
diff --git a/src/tests/restricted_traces/.gitignore b/src/tests/restricted_traces/.gitignore
index ed27354..a02f756 100644
--- a/src/tests/restricted_traces/.gitignore
+++ b/src/tests/restricted_traces/.gitignore
@@ -70,6 +70,8 @@
 real_commando_secret_mission/
 real_gangster_crime.tar.gz
 real_gangster_crime/
+rise_of_kingdoms.tar.gz
+rise_of_kingdoms/
 saint_seiya_awakening.tar.gz
 saint_seiya_awakening/
 shadow_fight_2.tar.gz
diff --git a/src/tests/restricted_traces/restricted_traces.json b/src/tests/restricted_traces/restricted_traces.json
index 28283ac..ba00a9c 100644
--- a/src/tests/restricted_traces/restricted_traces.json
+++ b/src/tests/restricted_traces/restricted_traces.json
@@ -43,6 +43,7 @@
     "raid_shadow_legends",
     "real_commando_secret_mission",
     "real_gangster_crime",
+    "rise_of_kingdoms",
     "saint_seiya_awakening",
     "shadow_fight_2",
     "sniper_3d",
diff --git a/src/tests/restricted_traces/restricted_traces_autogen.cpp b/src/tests/restricted_traces/restricted_traces_autogen.cpp
index ef3a62c..c191e3a 100644
--- a/src/tests/restricted_traces/restricted_traces_autogen.cpp
+++ b/src/tests/restricted_traces/restricted_traces_autogen.cpp
@@ -47,6 +47,7 @@
 #include "raid_shadow_legends/raid_shadow_legends_capture_context2.h"
 #include "real_commando_secret_mission/real_commando_secret_mission_capture_context1.h"
 #include "real_gangster_crime/real_gangster_crime_capture_context3.h"
+#include "rise_of_kingdoms/rise_of_kingdoms_capture_context4.h"
 #include "saint_seiya_awakening/saint_seiya_awakening_capture_context2.h"
 #include "shadow_fight_2/shadow_fight_2_capture_context2.h"
 #include "sniper_3d/sniper_3d_capture_context3.h"
@@ -194,6 +195,10 @@
      {real_gangster_crime::kReplayFrameStart, real_gangster_crime::kReplayFrameEnd,
       real_gangster_crime::kReplayDrawSurfaceWidth, real_gangster_crime::kReplayDrawSurfaceHeight,
       "real_gangster_crime"}},
+    {RestrictedTraceID::rise_of_kingdoms,
+     {rise_of_kingdoms::kReplayFrameStart, rise_of_kingdoms::kReplayFrameEnd,
+      rise_of_kingdoms::kReplayDrawSurfaceWidth, rise_of_kingdoms::kReplayDrawSurfaceHeight,
+      "rise_of_kingdoms"}},
     {RestrictedTraceID::saint_seiya_awakening,
      {saint_seiya_awakening::kReplayFrameStart, saint_seiya_awakening::kReplayFrameEnd,
       saint_seiya_awakening::kReplayDrawSurfaceWidth,
@@ -350,6 +355,9 @@
         case RestrictedTraceID::real_gangster_crime:
             real_gangster_crime::ReplayContext3Frame(frameIndex);
             break;
+        case RestrictedTraceID::rise_of_kingdoms:
+            rise_of_kingdoms::ReplayContext4Frame(frameIndex);
+            break;
         case RestrictedTraceID::saint_seiya_awakening:
             saint_seiya_awakening::ReplayContext2Frame(frameIndex);
             break;
@@ -499,6 +507,9 @@
         case RestrictedTraceID::real_gangster_crime:
             real_gangster_crime::ResetContext3Replay();
             break;
+        case RestrictedTraceID::rise_of_kingdoms:
+            rise_of_kingdoms::ResetContext4Replay();
+            break;
         case RestrictedTraceID::saint_seiya_awakening:
             saint_seiya_awakening::ResetContext2Replay();
             break;
@@ -648,6 +659,9 @@
         case RestrictedTraceID::real_gangster_crime:
             real_gangster_crime::SetupContext3Replay();
             break;
+        case RestrictedTraceID::rise_of_kingdoms:
+            rise_of_kingdoms::SetupContext4Replay();
+            break;
         case RestrictedTraceID::saint_seiya_awakening:
             saint_seiya_awakening::SetupContext2Replay();
             break;
@@ -797,6 +811,9 @@
         case RestrictedTraceID::real_gangster_crime:
             real_gangster_crime::SetBinaryDataDir(dataDir);
             break;
+        case RestrictedTraceID::rise_of_kingdoms:
+            rise_of_kingdoms::SetBinaryDataDir(dataDir);
+            break;
         case RestrictedTraceID::saint_seiya_awakening:
             saint_seiya_awakening::SetBinaryDataDir(dataDir);
             break;
@@ -946,6 +963,9 @@
         case RestrictedTraceID::real_gangster_crime:
             real_gangster_crime::SetBinaryDataDecompressCallback(callback);
             break;
+        case RestrictedTraceID::rise_of_kingdoms:
+            rise_of_kingdoms::SetBinaryDataDecompressCallback(callback);
+            break;
         case RestrictedTraceID::saint_seiya_awakening:
             saint_seiya_awakening::SetBinaryDataDecompressCallback(callback);
             break;
diff --git a/src/tests/restricted_traces/restricted_traces_autogen.gni b/src/tests/restricted_traces/restricted_traces_autogen.gni
index 10e5811..a734a98 100644
--- a/src/tests/restricted_traces/restricted_traces_autogen.gni
+++ b/src/tests/restricted_traces/restricted_traces_autogen.gni
@@ -45,6 +45,7 @@
   "raid_shadow_legends 2",
   "real_commando_secret_mission 1",
   "real_gangster_crime 3",
+  "rise_of_kingdoms 4",
   "saint_seiya_awakening 2",
   "shadow_fight_2 2",
   "sniper_3d 3",
diff --git a/src/tests/restricted_traces/restricted_traces_autogen.h b/src/tests/restricted_traces/restricted_traces_autogen.h
index 55031ef..5aaa75c 100644
--- a/src/tests/restricted_traces/restricted_traces_autogen.h
+++ b/src/tests/restricted_traces/restricted_traces_autogen.h
@@ -90,6 +90,7 @@
     raid_shadow_legends,
     real_commando_secret_mission,
     real_gangster_crime,
+    rise_of_kingdoms,
     saint_seiya_awakening,
     shadow_fight_2,
     sniper_3d,
diff --git a/src/tests/restricted_traces/rise_of_kingdoms.tar.gz.sha1 b/src/tests/restricted_traces/rise_of_kingdoms.tar.gz.sha1
new file mode 100644
index 0000000..574597e
--- /dev/null
+++ b/src/tests/restricted_traces/rise_of_kingdoms.tar.gz.sha1
@@ -0,0 +1 @@
+e53c0d9b2133f457b240cadd246947875f19d0fd
\ No newline at end of file