Commit 53c3ea8f by Cody Northrop Committed by Commit Bot

Perf: Add a trace of Angry Birds 2

Test: angle_perftests --gtest_filter="*Trace*" Bug: b/157672184 Change-Id: If4885398aff73ce774987fbeefb63d140f7fab1d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2233367 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: 's avatarCourtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent a6c8e1c0
{ {
"src/tests/perf_tests/restricted_traces/angry_birds_2_1500.tar.gz.sha1":
"2965c213af0918e5b2ab1a495af45c3d",
"src/tests/perf_tests/restricted_traces/candy_crush_500.tar.gz.sha1": "src/tests/perf_tests/restricted_traces/candy_crush_500.tar.gz.sha1":
"df8be1c5112ba9d623b94e682d8fa72b", "df8be1c5112ba9d623b94e682d8fa72b",
"src/tests/perf_tests/restricted_traces/egypt_1500.tar.gz.sha1": "src/tests/perf_tests/restricted_traces/egypt_1500.tar.gz.sha1":
...@@ -8,11 +10,11 @@ ...@@ -8,11 +10,11 @@
"src/tests/perf_tests/restricted_traces/manhattan_10.tar.gz.sha1": "src/tests/perf_tests/restricted_traces/manhattan_10.tar.gz.sha1":
"b4d333cd5cf3977c339350be0a819928", "b4d333cd5cf3977c339350be0a819928",
"src/tests/perf_tests/restricted_traces/restricted_traces.json": "src/tests/perf_tests/restricted_traces/restricted_traces.json":
"95edbf8e21748fa2f3bf0a77016d0511", "de1d1c2086bd4f5249f5bdbdf0d2a854",
"src/tests/perf_tests/restricted_traces/restricted_traces_autogen.gni": "src/tests/perf_tests/restricted_traces/restricted_traces_autogen.gni":
"16fe33a4ec6e109a05461d4f5276feb2", "25de059705d29d797e246aae027498ec",
"src/tests/perf_tests/restricted_traces/restricted_traces_autogen.h": "src/tests/perf_tests/restricted_traces/restricted_traces_autogen.h":
"e59a1290ee3bdf627b9ea34dfbac440f", "8e936a5ca01c2374c627c8a494a3220a",
"src/tests/perf_tests/restricted_traces/subway_surfer_500.tar.gz.sha1": "src/tests/perf_tests/restricted_traces/subway_surfer_500.tar.gz.sha1":
"a7d9e6db6a74b9a927677f7b91307316", "a7d9e6db6a74b9a927677f7b91307316",
"src/tests/perf_tests/restricted_traces/temple_run_300.tar.gz.sha1": "src/tests/perf_tests/restricted_traces/temple_run_300.tar.gz.sha1":
......
d99797ec545eb8140706e3259442a96240118cd9
\ No newline at end of file
...@@ -7,11 +7,12 @@ ...@@ -7,11 +7,12 @@
"restricted_traces.json: List of restricted trace tests in ANGLE." "restricted_traces.json: List of restricted trace tests in ANGLE."
], ],
"traces": [ "traces": [
"angry_birds_2_1500",
"candy_crush_500",
"egypt_1500", "egypt_1500",
"manhattan_10", "manhattan_10",
"temple_run_300",
"trex_200",
"subway_surfer_500", "subway_surfer_500",
"candy_crush_500" "temple_run_300",
"trex_200"
] ]
} }
...@@ -9,10 +9,11 @@ ...@@ -9,10 +9,11 @@
# Can be consumed by tests/BUILD.gn. # Can be consumed by tests/BUILD.gn.
angle_restricted_traces = [ angle_restricted_traces = [
"angry_birds_2_1500 3",
"candy_crush_500 2",
"egypt_1500 1", "egypt_1500 1",
"manhattan_10 1", "manhattan_10 1",
"subway_surfer_500 4",
"temple_run_300 3", "temple_run_300 3",
"trex_200 1", "trex_200 1",
"subway_surfer_500 4",
"candy_crush_500 2",
] ]
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#ifndef ANGLE_RESTRICTED_TRACES_H_ #ifndef ANGLE_RESTRICTED_TRACES_H_
#define ANGLE_RESTRICTED_TRACES_H_ #define ANGLE_RESTRICTED_TRACES_H_
#include "angry_birds_2_1500/angry_birds_2_1500_capture_context3.h"
#include "candy_crush_500/candy_crush_500_capture_context2.h" #include "candy_crush_500/candy_crush_500_capture_context2.h"
#include "egypt_1500/egypt_1500_capture_context1.h" #include "egypt_1500/egypt_1500_capture_context1.h"
#include "manhattan_10/manhattan_10_capture_context1.h" #include "manhattan_10/manhattan_10_capture_context1.h"
...@@ -21,12 +22,13 @@ namespace angle ...@@ -21,12 +22,13 @@ namespace angle
{ {
enum class RestrictedTraceID enum class RestrictedTraceID
{ {
angry_birds_2_1500,
candy_crush_500,
egypt_1500, egypt_1500,
manhattan_10, manhattan_10,
subway_surfer_500,
temple_run_300, temple_run_300,
trex_200, trex_200,
subway_surfer_500,
candy_crush_500,
InvalidEnum, InvalidEnum,
EnumCount = InvalidEnum EnumCount = InvalidEnum
}; };
...@@ -47,19 +49,22 @@ struct TraceInfo ...@@ -47,19 +49,22 @@ struct TraceInfo
}; };
constexpr angle::PackedEnumMap<RestrictedTraceID, TraceInfo> kTraceInfos = { constexpr angle::PackedEnumMap<RestrictedTraceID, TraceInfo> kTraceInfos = {
{RestrictedTraceID::angry_birds_2_1500,
{angry_birds_2_1500::kReplayFrameStart, angry_birds_2_1500::kReplayFrameEnd,
"angry_birds_2_1500"}},
{RestrictedTraceID::candy_crush_500,
{candy_crush_500::kReplayFrameStart, candy_crush_500::kReplayFrameEnd, "candy_crush_500"}},
{RestrictedTraceID::egypt_1500, {RestrictedTraceID::egypt_1500,
{egypt_1500::kReplayFrameStart, egypt_1500::kReplayFrameEnd, "egypt_1500"}}, {egypt_1500::kReplayFrameStart, egypt_1500::kReplayFrameEnd, "egypt_1500"}},
{RestrictedTraceID::manhattan_10, {RestrictedTraceID::manhattan_10,
{manhattan_10::kReplayFrameStart, manhattan_10::kReplayFrameEnd, "manhattan_10"}}, {manhattan_10::kReplayFrameStart, manhattan_10::kReplayFrameEnd, "manhattan_10"}},
{RestrictedTraceID::temple_run_300,
{temple_run_300::kReplayFrameStart, temple_run_300::kReplayFrameEnd, "temple_run_300"}},
{RestrictedTraceID::trex_200,
{trex_200::kReplayFrameStart, trex_200::kReplayFrameEnd, "trex_200"}},
{RestrictedTraceID::subway_surfer_500, {RestrictedTraceID::subway_surfer_500,
{subway_surfer_500::kReplayFrameStart, subway_surfer_500::kReplayFrameEnd, {subway_surfer_500::kReplayFrameStart, subway_surfer_500::kReplayFrameEnd,
"subway_surfer_500"}}, "subway_surfer_500"}},
{RestrictedTraceID::candy_crush_500, {RestrictedTraceID::temple_run_300,
{candy_crush_500::kReplayFrameStart, candy_crush_500::kReplayFrameEnd, "candy_crush_500"}}}; {temple_run_300::kReplayFrameStart, temple_run_300::kReplayFrameEnd, "temple_run_300"}},
{RestrictedTraceID::trex_200,
{trex_200::kReplayFrameStart, trex_200::kReplayFrameEnd, "trex_200"}}};
using DecompressCallback = uint8_t *(*)(const std::vector<uint8_t> &); using DecompressCallback = uint8_t *(*)(const std::vector<uint8_t> &);
using FramebufferChangeCallback = void (*)(void *userData, GLenum target, GLuint framebuffer); using FramebufferChangeCallback = void (*)(void *userData, GLenum target, GLuint framebuffer);
...@@ -68,24 +73,27 @@ inline void ReplayFrame(RestrictedTraceID traceID, uint32_t frameIndex) ...@@ -68,24 +73,27 @@ inline void ReplayFrame(RestrictedTraceID traceID, uint32_t frameIndex)
{ {
switch (traceID) switch (traceID)
{ {
case RestrictedTraceID::angry_birds_2_1500:
angry_birds_2_1500::ReplayContext3Frame(frameIndex);
break;
case RestrictedTraceID::candy_crush_500:
candy_crush_500::ReplayContext2Frame(frameIndex);
break;
case RestrictedTraceID::egypt_1500: case RestrictedTraceID::egypt_1500:
egypt_1500::ReplayContext1Frame(frameIndex); egypt_1500::ReplayContext1Frame(frameIndex);
break; break;
case RestrictedTraceID::manhattan_10: case RestrictedTraceID::manhattan_10:
manhattan_10::ReplayContext1Frame(frameIndex); manhattan_10::ReplayContext1Frame(frameIndex);
break; break;
case RestrictedTraceID::subway_surfer_500:
subway_surfer_500::ReplayContext4Frame(frameIndex);
break;
case RestrictedTraceID::temple_run_300: case RestrictedTraceID::temple_run_300:
temple_run_300::ReplayContext3Frame(frameIndex); temple_run_300::ReplayContext3Frame(frameIndex);
break; break;
case RestrictedTraceID::trex_200: case RestrictedTraceID::trex_200:
trex_200::ReplayContext1Frame(frameIndex); trex_200::ReplayContext1Frame(frameIndex);
break; break;
case RestrictedTraceID::subway_surfer_500:
subway_surfer_500::ReplayContext4Frame(frameIndex);
break;
case RestrictedTraceID::candy_crush_500:
candy_crush_500::ReplayContext2Frame(frameIndex);
break;
default: default:
fprintf(stderr, "Error in switch.\n"); fprintf(stderr, "Error in switch.\n");
assert(0); assert(0);
...@@ -97,24 +105,27 @@ inline void ResetReplay(RestrictedTraceID traceID) ...@@ -97,24 +105,27 @@ inline void ResetReplay(RestrictedTraceID traceID)
{ {
switch (traceID) switch (traceID)
{ {
case RestrictedTraceID::angry_birds_2_1500:
angry_birds_2_1500::ResetContext3Replay();
break;
case RestrictedTraceID::candy_crush_500:
candy_crush_500::ResetContext2Replay();
break;
case RestrictedTraceID::egypt_1500: case RestrictedTraceID::egypt_1500:
egypt_1500::ResetContext1Replay(); egypt_1500::ResetContext1Replay();
break; break;
case RestrictedTraceID::manhattan_10: case RestrictedTraceID::manhattan_10:
manhattan_10::ResetContext1Replay(); manhattan_10::ResetContext1Replay();
break; break;
case RestrictedTraceID::subway_surfer_500:
subway_surfer_500::ResetContext4Replay();
break;
case RestrictedTraceID::temple_run_300: case RestrictedTraceID::temple_run_300:
temple_run_300::ResetContext3Replay(); temple_run_300::ResetContext3Replay();
break; break;
case RestrictedTraceID::trex_200: case RestrictedTraceID::trex_200:
trex_200::ResetContext1Replay(); trex_200::ResetContext1Replay();
break; break;
case RestrictedTraceID::subway_surfer_500:
subway_surfer_500::ResetContext4Replay();
break;
case RestrictedTraceID::candy_crush_500:
candy_crush_500::ResetContext2Replay();
break;
default: default:
fprintf(stderr, "Error in switch.\n"); fprintf(stderr, "Error in switch.\n");
assert(0); assert(0);
...@@ -126,24 +137,27 @@ inline void SetupReplay(RestrictedTraceID traceID) ...@@ -126,24 +137,27 @@ inline void SetupReplay(RestrictedTraceID traceID)
{ {
switch (traceID) switch (traceID)
{ {
case RestrictedTraceID::angry_birds_2_1500:
angry_birds_2_1500::SetupContext3Replay();
break;
case RestrictedTraceID::candy_crush_500:
candy_crush_500::SetupContext2Replay();
break;
case RestrictedTraceID::egypt_1500: case RestrictedTraceID::egypt_1500:
egypt_1500::SetupContext1Replay(); egypt_1500::SetupContext1Replay();
break; break;
case RestrictedTraceID::manhattan_10: case RestrictedTraceID::manhattan_10:
manhattan_10::SetupContext1Replay(); manhattan_10::SetupContext1Replay();
break; break;
case RestrictedTraceID::subway_surfer_500:
subway_surfer_500::SetupContext4Replay();
break;
case RestrictedTraceID::temple_run_300: case RestrictedTraceID::temple_run_300:
temple_run_300::SetupContext3Replay(); temple_run_300::SetupContext3Replay();
break; break;
case RestrictedTraceID::trex_200: case RestrictedTraceID::trex_200:
trex_200::SetupContext1Replay(); trex_200::SetupContext1Replay();
break; break;
case RestrictedTraceID::subway_surfer_500:
subway_surfer_500::SetupContext4Replay();
break;
case RestrictedTraceID::candy_crush_500:
candy_crush_500::SetupContext2Replay();
break;
default: default:
fprintf(stderr, "Error in switch.\n"); fprintf(stderr, "Error in switch.\n");
assert(0); assert(0);
...@@ -155,24 +169,27 @@ inline void SetBinaryDataDir(RestrictedTraceID traceID, const char *dataDir) ...@@ -155,24 +169,27 @@ inline void SetBinaryDataDir(RestrictedTraceID traceID, const char *dataDir)
{ {
switch (traceID) switch (traceID)
{ {
case RestrictedTraceID::angry_birds_2_1500:
angry_birds_2_1500::SetBinaryDataDir(dataDir);
break;
case RestrictedTraceID::candy_crush_500:
candy_crush_500::SetBinaryDataDir(dataDir);
break;
case RestrictedTraceID::egypt_1500: case RestrictedTraceID::egypt_1500:
egypt_1500::SetBinaryDataDir(dataDir); egypt_1500::SetBinaryDataDir(dataDir);
break; break;
case RestrictedTraceID::manhattan_10: case RestrictedTraceID::manhattan_10:
manhattan_10::SetBinaryDataDir(dataDir); manhattan_10::SetBinaryDataDir(dataDir);
break; break;
case RestrictedTraceID::subway_surfer_500:
subway_surfer_500::SetBinaryDataDir(dataDir);
break;
case RestrictedTraceID::temple_run_300: case RestrictedTraceID::temple_run_300:
temple_run_300::SetBinaryDataDir(dataDir); temple_run_300::SetBinaryDataDir(dataDir);
break; break;
case RestrictedTraceID::trex_200: case RestrictedTraceID::trex_200:
trex_200::SetBinaryDataDir(dataDir); trex_200::SetBinaryDataDir(dataDir);
break; break;
case RestrictedTraceID::subway_surfer_500:
subway_surfer_500::SetBinaryDataDir(dataDir);
break;
case RestrictedTraceID::candy_crush_500:
candy_crush_500::SetBinaryDataDir(dataDir);
break;
default: default:
fprintf(stderr, "Error in switch.\n"); fprintf(stderr, "Error in switch.\n");
assert(0); assert(0);
...@@ -184,24 +201,27 @@ inline void SetBinaryDataDecompressCallback(RestrictedTraceID traceID, Decompres ...@@ -184,24 +201,27 @@ inline void SetBinaryDataDecompressCallback(RestrictedTraceID traceID, Decompres
{ {
switch (traceID) switch (traceID)
{ {
case RestrictedTraceID::angry_birds_2_1500:
angry_birds_2_1500::SetBinaryDataDecompressCallback(callback);
break;
case RestrictedTraceID::candy_crush_500:
candy_crush_500::SetBinaryDataDecompressCallback(callback);
break;
case RestrictedTraceID::egypt_1500: case RestrictedTraceID::egypt_1500:
egypt_1500::SetBinaryDataDecompressCallback(callback); egypt_1500::SetBinaryDataDecompressCallback(callback);
break; break;
case RestrictedTraceID::manhattan_10: case RestrictedTraceID::manhattan_10:
manhattan_10::SetBinaryDataDecompressCallback(callback); manhattan_10::SetBinaryDataDecompressCallback(callback);
break; break;
case RestrictedTraceID::subway_surfer_500:
subway_surfer_500::SetBinaryDataDecompressCallback(callback);
break;
case RestrictedTraceID::temple_run_300: case RestrictedTraceID::temple_run_300:
temple_run_300::SetBinaryDataDecompressCallback(callback); temple_run_300::SetBinaryDataDecompressCallback(callback);
break; break;
case RestrictedTraceID::trex_200: case RestrictedTraceID::trex_200:
trex_200::SetBinaryDataDecompressCallback(callback); trex_200::SetBinaryDataDecompressCallback(callback);
break; break;
case RestrictedTraceID::subway_surfer_500:
subway_surfer_500::SetBinaryDataDecompressCallback(callback);
break;
case RestrictedTraceID::candy_crush_500:
candy_crush_500::SetBinaryDataDecompressCallback(callback);
break;
default: default:
fprintf(stderr, "Error in switch.\n"); fprintf(stderr, "Error in switch.\n");
assert(0); assert(0);
...@@ -215,24 +235,27 @@ inline void SetFramebufferChangeCallback(RestrictedTraceID traceID, ...@@ -215,24 +235,27 @@ inline void SetFramebufferChangeCallback(RestrictedTraceID traceID,
{ {
switch (traceID) switch (traceID)
{ {
case RestrictedTraceID::angry_birds_2_1500:
angry_birds_2_1500::SetFramebufferChangeCallback(userData, callback);
break;
case RestrictedTraceID::candy_crush_500:
candy_crush_500::SetFramebufferChangeCallback(userData, callback);
break;
case RestrictedTraceID::egypt_1500: case RestrictedTraceID::egypt_1500:
egypt_1500::SetFramebufferChangeCallback(userData, callback); egypt_1500::SetFramebufferChangeCallback(userData, callback);
break; break;
case RestrictedTraceID::manhattan_10: case RestrictedTraceID::manhattan_10:
manhattan_10::SetFramebufferChangeCallback(userData, callback); manhattan_10::SetFramebufferChangeCallback(userData, callback);
break; break;
case RestrictedTraceID::subway_surfer_500:
subway_surfer_500::SetFramebufferChangeCallback(userData, callback);
break;
case RestrictedTraceID::temple_run_300: case RestrictedTraceID::temple_run_300:
temple_run_300::SetFramebufferChangeCallback(userData, callback); temple_run_300::SetFramebufferChangeCallback(userData, callback);
break; break;
case RestrictedTraceID::trex_200: case RestrictedTraceID::trex_200:
trex_200::SetFramebufferChangeCallback(userData, callback); trex_200::SetFramebufferChangeCallback(userData, callback);
break; break;
case RestrictedTraceID::subway_surfer_500:
subway_surfer_500::SetFramebufferChangeCallback(userData, callback);
break;
case RestrictedTraceID::candy_crush_500:
candy_crush_500::SetFramebufferChangeCallback(userData, callback);
break;
default: default:
fprintf(stderr, "Error in switch.\n"); fprintf(stderr, "Error in switch.\n");
assert(0); assert(0);
......
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