Tests: Add Pokemon Go trace

Test: angle_perftest --gtest_filter="*pokemon_go*"
Tbr: jmadill@chromium.org,timvp@google.com
Bug: b/188091629
Bug: angleproject:5968
Change-Id: I3f48957a3063fbe5a443c235b6cabf87319b17c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2895329
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
diff --git a/DEPS b/DEPS
index ed3eea6..1bfabea 100644
--- a/DEPS
+++ b/DEPS
@@ -1187,6 +1187,16 @@
       'dep_type': 'cipd',
       'condition': 'checkout_angle_restricted_traces',
   },
+  'src/tests/restricted_traces/pokemon_go': {
+      'packages': [
+        {
+            'package': 'angle/traces/pokemon_go',
+            'version': 'version:1',
+        },
+      ],
+      'dep_type': 'cipd',
+      'condition': 'checkout_angle_restricted_traces',
+  },
   'src/tests/restricted_traces/professional_baseball_spirits': {
       'packages': [
         {
diff --git a/scripts/code_generation_hashes/restricted_traces.json b/scripts/code_generation_hashes/restricted_traces.json
index 2dc2f0b..807900b 100644
--- a/scripts/code_generation_hashes/restricted_traces.json
+++ b/scripts/code_generation_hashes/restricted_traces.json
@@ -1,14 +1,14 @@
 {
   "src/tests/restricted_traces/.gitignore":
-    "c53d120c1f7dfcd0556302848aec5136",
+    "a6aff5fb32481afb8294db73a0632f61",
   "src/tests/restricted_traces/gen_restricted_traces.py":
     "f700505c2ba8299a6ce68962763d7f2d",
   "src/tests/restricted_traces/restricted_traces.json":
-    "6b2ee9b3835979a7c0a43d79da0068e6",
+    "31384d02adcf414a86a54fbd1ecb3298",
   "src/tests/restricted_traces/restricted_traces_autogen.cpp":
-    "7c62472058a8cdb411c2b4b1407a3be3",
+    "baf97fd5f64731e9d2ad7e488cfb6e9a",
   "src/tests/restricted_traces/restricted_traces_autogen.gni":
-    "c1df9770fc56fda9defbb0c0c48c4000",
+    "da2bdde7a68fe9e63b788252e1f54a11",
   "src/tests/restricted_traces/restricted_traces_autogen.h":
-    "7c7e70eda7270abaf5c5128e87354cac"
+    "c740b490d5ef35b13fd83eaff7da769a"
 }
\ No newline at end of file
diff --git a/src/tests/perf_tests/TracePerfTest.cpp b/src/tests/perf_tests/TracePerfTest.cpp
index 4cc81a8..3c7895a 100644
--- a/src/tests/perf_tests/TracePerfTest.cpp
+++ b/src/tests/perf_tests/TracePerfTest.cpp
@@ -952,6 +952,12 @@
         }
     }
 
+    if (param.testID == RestrictedTraceID::pokemon_go)
+    {
+        addExtensionPrerequisite("GL_EXT_texture_cube_map_array");
+        addExtensionPrerequisite("GL_KHR_texture_compression_astc_ldr");
+    }
+
     // 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 b7997c8..473783d 100644
--- a/src/tests/restricted_traces/.gitignore
+++ b/src/tests/restricted_traces/.gitignore
@@ -55,6 +55,7 @@
 nba2k20_800/
 one_punch_man/
 plants_vs_zombies_2/
+pokemon_go/
 professional_baseball_spirits/
 pubg_mobile_lite/
 ragnarok_m_eternal_love/
diff --git a/src/tests/restricted_traces/restricted_traces.json b/src/tests/restricted_traces/restricted_traces.json
index 8f7c767..c580b93 100644
--- a/src/tests/restricted_traces/restricted_traces.json
+++ b/src/tests/restricted_traces/restricted_traces.json
@@ -65,6 +65,7 @@
     "nba2k20_800 1",
     "one_punch_man 1",
     "plants_vs_zombies_2 1",
+    "pokemon_go 1",
     "professional_baseball_spirits 1",
     "pubg_mobile_lite 1",
     "ragnarok_m_eternal_love 1",
diff --git a/src/tests/restricted_traces/restricted_traces_autogen.cpp b/src/tests/restricted_traces/restricted_traces_autogen.cpp
index cb2ad6d..4387f3b 100644
--- a/src/tests/restricted_traces/restricted_traces_autogen.cpp
+++ b/src/tests/restricted_traces/restricted_traces_autogen.cpp
@@ -69,6 +69,7 @@
 #include "nba2k20_800/nba2k20_800_capture_context1.h"
 #include "one_punch_man/one_punch_man_capture_context1.h"
 #include "plants_vs_zombies_2/plants_vs_zombies_2_capture_context1.h"
+#include "pokemon_go/pokemon_go_capture_context2.h"
 #include "professional_baseball_spirits/professional_baseball_spirits_capture_context1.h"
 #include "pubg_mobile_lite/pubg_mobile_lite_capture_context1.h"
 #include "ragnarok_m_eternal_love/ragnarok_m_eternal_love_capture_context1.h"
@@ -373,6 +374,10 @@
       plants_vs_zombies_2::kReplayContextClientMinorVersion, plants_vs_zombies_2::kReplayFrameStart,
       plants_vs_zombies_2::kReplayFrameEnd, plants_vs_zombies_2::kReplayDrawSurfaceWidth,
       plants_vs_zombies_2::kReplayDrawSurfaceHeight, "plants_vs_zombies_2"}},
+    {RestrictedTraceID::pokemon_go,
+     {pokemon_go::kReplayContextClientMajorVersion, pokemon_go::kReplayContextClientMinorVersion,
+      pokemon_go::kReplayFrameStart, pokemon_go::kReplayFrameEnd,
+      pokemon_go::kReplayDrawSurfaceWidth, pokemon_go::kReplayDrawSurfaceHeight, "pokemon_go"}},
     {RestrictedTraceID::professional_baseball_spirits,
      {professional_baseball_spirits::kReplayContextClientMajorVersion,
       professional_baseball_spirits::kReplayContextClientMinorVersion,
diff --git a/src/tests/restricted_traces/restricted_traces_autogen.gni b/src/tests/restricted_traces/restricted_traces_autogen.gni
index c76d75f..243af56 100644
--- a/src/tests/restricted_traces/restricted_traces_autogen.gni
+++ b/src/tests/restricted_traces/restricted_traces_autogen.gni
@@ -2757,6 +2757,112 @@
     ],
   ],
   [
+    "pokemon_go",
+    2,
+    [
+      "pokemon_go/pokemon_go_capture_context2_frame001.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame002.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame003.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame004.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame005.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame006.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame007.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame008.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame009.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame010.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame011.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame012.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame013.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame014.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame015.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame016.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame017.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame018.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame019.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame020.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame021.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame022.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame023.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame024.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame025.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame026.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame027.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame028.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame029.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame030.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame031.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame032.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame033.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame034.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame035.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame036.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame037.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame038.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame039.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame040.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame041.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame042.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame043.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame044.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame045.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame046.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame047.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame048.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame049.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame050.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame051.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame052.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame053.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame054.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame055.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame056.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame057.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame058.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame059.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame060.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame061.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame062.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame063.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame064.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame065.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame066.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame067.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame068.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame069.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame070.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame071.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame072.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame073.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame074.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame075.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame076.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame077.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame078.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame079.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame080.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame081.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame082.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame083.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame084.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame085.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame086.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame087.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame088.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame089.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame090.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame091.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame092.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame093.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame094.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame095.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame096.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame097.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame098.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame099.cpp",
+      "pokemon_go/pokemon_go_capture_context2_frame100.cpp",
+    ],
+  ],
+  [
     "professional_baseball_spirits",
     1,
     [
diff --git a/src/tests/restricted_traces/restricted_traces_autogen.h b/src/tests/restricted_traces/restricted_traces_autogen.h
index f57d9a4..cad7bdd 100644
--- a/src/tests/restricted_traces/restricted_traces_autogen.h
+++ b/src/tests/restricted_traces/restricted_traces_autogen.h
@@ -111,6 +111,7 @@
     nba2k20_800,
     one_punch_man,
     plants_vs_zombies_2,
+    pokemon_go,
     professional_baseball_spirits,
     pubg_mobile_lite,
     ragnarok_m_eternal_love,