1 // GENERATED FILE - DO NOT EDIT.
2 // Generated by gen_restricted_traces.py using data from restricted_traces.json
3 //
4 // Copyright 2020 The ANGLE Project Authors. All rights reserved.
5 // Use of this source code is governed by a BSD-style license that can be
6 // found in the LICENSE file.
7 //
8 // restricted_traces_autogen: Types and enumerations for trace tests.
9 
10 #ifndef ANGLE_RESTRICTED_TRACES_H_
11 #define ANGLE_RESTRICTED_TRACES_H_
12 
13 #include <KHR/khrplatform.h>
14 #include <cstdint>
15 #include <vector>
16 
17 // See util/util_export.h for details on import/export labels.
18 #if !defined(ANGLE_TRACE_EXPORT)
19 #    if defined(_WIN32)
20 #        if defined(ANGLE_TRACE_IMPLEMENTATION)
21 #            define ANGLE_TRACE_EXPORT __declspec(dllexport)
22 #        else
23 #            define ANGLE_TRACE_EXPORT __declspec(dllimport)
24 #        endif
25 #    elif defined(__GNUC__)
26 #        define ANGLE_TRACE_EXPORT __attribute__((visibility("default")))
27 #    else
28 #        define ANGLE_TRACE_EXPORT
29 #    endif
30 #endif  // !defined(ANGLE_TRACE_EXPORT)
31 
32 #if !defined(ANGLE_TRACE_LOADER_EXPORT)
33 #    if defined(_WIN32)
34 #        if defined(ANGLE_TRACE_LOADER_IMPLEMENTATION)
35 #            define ANGLE_TRACE_LOADER_EXPORT __declspec(dllexport)
36 #        else
37 #            define ANGLE_TRACE_LOADER_EXPORT __declspec(dllimport)
38 #        endif
39 #    elif defined(__GNUC__)
40 #        define ANGLE_TRACE_LOADER_EXPORT __attribute__((visibility("default")))
41 #    else
42 #        define ANGLE_TRACE_LOADER_EXPORT
43 #    endif
44 #endif  // !defined(ANGLE_TRACE_LOADER_EXPORT)
45 
46 namespace trace_angle
47 {
48 using GenericProc = void (*)();
49 using LoadProc    = GenericProc(KHRONOS_APIENTRY *)(const char *);
50 ANGLE_TRACE_LOADER_EXPORT void LoadGLES(LoadProc loadProc);
51 }  // namespace trace_angle
52 
53 namespace angle
54 {
55 enum class RestrictedTraceID
56 {
57     aliexpress,
58     among_us,
59     angry_birds_2_1500,
60     arena_of_valor,
61     asphalt_8,
62     avakin_life,
63     aztec_ruins,
64     beach_buggy_racing,
65     brawl_stars,
66     bricks_breaker_quest,
67     bubble_shooter,
68     bus_simulator_indonesia,
69     call_break_offline_card_game,
70     candy_crush_500,
71     candy_crush_soda_saga,
72     car_parking_multiplayer,
73     clash_of_clans,
74     clash_royale,
75     cod_mobile,
76     coin_master,
77     command_and_conquer_rivals,
78     cookie_run_kingdom,
79     disney_tsum_tsum,
80     dr_driving,
81     dragon_ball_legends,
82     dragon_raja,
83     efootball_pes_2021,
84     egypt_1500,
85     eight_ball_pool,
86     extreme_car_driving_simulator,
87     fallout_shelter_online,
88     farm_heroes_saga,
89     fate_grand_order,
90     fifa_mobile,
91     free_fire,
92     gardenscapes,
93     genshin_impact,
94     google_maps,
95     happy_color,
96     hay_day,
97     hearthstone,
98     higgs_domino_island,
99     hill_climb_racing,
100     homescapes,
101     idle_heroes,
102     junes_journey,
103     kartrider_rush,
104     klondike_adventures,
105     league_of_legends_wild_rift,
106     lego_legacy,
107     lineage_m,
108     ludo_king,
109     magic_tiles_3,
110     manhattan_10,
111     manhattan_31,
112     mario_kart_tour,
113     marvel_contest_of_champions,
114     messenger_lite,
115     minecraft,
116     mobile_legends,
117     nba2k20_800,
118     one_punch_man,
119     plants_vs_zombies_2,
120     pokemon_go,
121     professional_baseball_spirits,
122     pubg_mobile_lite,
123     ragnarok_m_eternal_love,
124     raid_shadow_legends,
125     real_commando_secret_mission,
126     real_cricket_20,
127     real_gangster_crime,
128     rise_of_kingdoms,
129     romancing_saga,
130     rope_hero_vice_town,
131     saint_seiya_awakening,
132     sakura_school_simulator,
133     shadow_fight_2,
134     slingshot_test1,
135     slingshot_test2,
136     sniper_3d,
137     standoff_2,
138     subway_princess_runner,
139     subway_surfers,
140     summoners_war,
141     talking_tom_hero_dash,
142     temple_run_2,
143     temple_run_300,
144     toon_blast,
145     township,
146     trex_200,
147     whatsapp,
148     world_of_tanks_blitz,
149     world_war_doh,
150     worms_zone_io,
151     InvalidEnum,
152     EnumCount = InvalidEnum
153 };
154 
155 static constexpr size_t kTraceInfoMaxNameLen = 32;
156 
157 static constexpr uint32_t kDefaultReplayContextClientMajorVersion = 3;
158 static constexpr uint32_t kDefaultReplayContextClientMinorVersion = 1;
159 
160 struct TraceInfo
161 {
162     uint32_t contextClientMajorVersion;
163     uint32_t contextClientMinorVersion;
164     uint32_t startFrame;
165     uint32_t endFrame;
166     uint32_t drawSurfaceWidth;
167     uint32_t drawSurfaceHeight;
168     char name[kTraceInfoMaxNameLen];
169 };
170 
171 ANGLE_TRACE_EXPORT const TraceInfo &GetTraceInfo(RestrictedTraceID traceID);
172 }  // namespace angle
173 
174 #endif  // ANGLE_RESTRICTED_TRACES_H_
175