xref: /aosp_15_r20/external/angle/src/tests/test_expectations/GPUTestConfig.h (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker //
2*8975f5c5SAndroid Build Coastguard Worker // Copyright 2019 The ANGLE Project Authors. All rights reserved.
3*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
4*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file.
5*8975f5c5SAndroid Build Coastguard Worker //
6*8975f5c5SAndroid Build Coastguard Worker 
7*8975f5c5SAndroid Build Coastguard Worker #ifndef TEST_EXPECTATIONS_GPU_TEST_CONFIG_H_
8*8975f5c5SAndroid Build Coastguard Worker #define TEST_EXPECTATIONS_GPU_TEST_CONFIG_H_
9*8975f5c5SAndroid Build Coastguard Worker 
10*8975f5c5SAndroid Build Coastguard Worker #include <common/bitset_utils.h>
11*8975f5c5SAndroid Build Coastguard Worker 
12*8975f5c5SAndroid Build Coastguard Worker namespace angle
13*8975f5c5SAndroid Build Coastguard Worker {
14*8975f5c5SAndroid Build Coastguard Worker 
15*8975f5c5SAndroid Build Coastguard Worker struct GPUTestConfig
16*8975f5c5SAndroid Build Coastguard Worker {
17*8975f5c5SAndroid Build Coastguard Worker   public:
18*8975f5c5SAndroid Build Coastguard Worker     enum API
19*8975f5c5SAndroid Build Coastguard Worker     {
20*8975f5c5SAndroid Build Coastguard Worker         kAPIUnknown = 0,
21*8975f5c5SAndroid Build Coastguard Worker         kAPID3D9,
22*8975f5c5SAndroid Build Coastguard Worker         kAPID3D11,
23*8975f5c5SAndroid Build Coastguard Worker         kAPIGLDesktop,
24*8975f5c5SAndroid Build Coastguard Worker         kAPIGLES,
25*8975f5c5SAndroid Build Coastguard Worker         kAPIVulkan,
26*8975f5c5SAndroid Build Coastguard Worker         kAPISwiftShader,
27*8975f5c5SAndroid Build Coastguard Worker         kAPIMetal,
28*8975f5c5SAndroid Build Coastguard Worker         kAPIWgpu,
29*8975f5c5SAndroid Build Coastguard Worker     };
30*8975f5c5SAndroid Build Coastguard Worker 
31*8975f5c5SAndroid Build Coastguard Worker     enum Condition
32*8975f5c5SAndroid Build Coastguard Worker     {
33*8975f5c5SAndroid Build Coastguard Worker         kConditionNone = 0,
34*8975f5c5SAndroid Build Coastguard Worker         kConditionWinXP,
35*8975f5c5SAndroid Build Coastguard Worker         kConditionWinVista,
36*8975f5c5SAndroid Build Coastguard Worker         kConditionWin7,
37*8975f5c5SAndroid Build Coastguard Worker         kConditionWin8,
38*8975f5c5SAndroid Build Coastguard Worker         kConditionWin10,
39*8975f5c5SAndroid Build Coastguard Worker         kConditionWin,
40*8975f5c5SAndroid Build Coastguard Worker         kConditionMacLeopard,
41*8975f5c5SAndroid Build Coastguard Worker         kConditionMacSnowLeopard,
42*8975f5c5SAndroid Build Coastguard Worker         kConditionMacLion,
43*8975f5c5SAndroid Build Coastguard Worker         kConditionMacMountainLion,
44*8975f5c5SAndroid Build Coastguard Worker         kConditionMacMavericks,
45*8975f5c5SAndroid Build Coastguard Worker         kConditionMacYosemite,
46*8975f5c5SAndroid Build Coastguard Worker         kConditionMacElCapitan,
47*8975f5c5SAndroid Build Coastguard Worker         kConditionMacSierra,
48*8975f5c5SAndroid Build Coastguard Worker         kConditionMacHighSierra,
49*8975f5c5SAndroid Build Coastguard Worker         kConditionMacMojave,
50*8975f5c5SAndroid Build Coastguard Worker         kConditionMac,
51*8975f5c5SAndroid Build Coastguard Worker         kConditionIOS,
52*8975f5c5SAndroid Build Coastguard Worker         kConditionLinux,
53*8975f5c5SAndroid Build Coastguard Worker         kConditionAndroid,
54*8975f5c5SAndroid Build Coastguard Worker         kConditionNVIDIA,
55*8975f5c5SAndroid Build Coastguard Worker         kConditionAMD,
56*8975f5c5SAndroid Build Coastguard Worker         kConditionIntel,
57*8975f5c5SAndroid Build Coastguard Worker         kConditionVMWare,
58*8975f5c5SAndroid Build Coastguard Worker         kConditionApple,
59*8975f5c5SAndroid Build Coastguard Worker         kConditionRelease,
60*8975f5c5SAndroid Build Coastguard Worker         kConditionDebug,
61*8975f5c5SAndroid Build Coastguard Worker         kConditionD3D9,
62*8975f5c5SAndroid Build Coastguard Worker         kConditionD3D11,
63*8975f5c5SAndroid Build Coastguard Worker         kConditionGLDesktop,
64*8975f5c5SAndroid Build Coastguard Worker         kConditionGLES,
65*8975f5c5SAndroid Build Coastguard Worker         kConditionVulkan,
66*8975f5c5SAndroid Build Coastguard Worker         kConditionMetal,
67*8975f5c5SAndroid Build Coastguard Worker         kConditionWgpu,
68*8975f5c5SAndroid Build Coastguard Worker         kConditionNexus5X,
69*8975f5c5SAndroid Build Coastguard Worker         kConditionPixel2OrXL,
70*8975f5c5SAndroid Build Coastguard Worker         kConditionPixel4OrXL,
71*8975f5c5SAndroid Build Coastguard Worker         kConditionPixel6,
72*8975f5c5SAndroid Build Coastguard Worker         kConditionPixel7,
73*8975f5c5SAndroid Build Coastguard Worker         kConditionFlipN2,
74*8975f5c5SAndroid Build Coastguard Worker         kConditionMaliG710,
75*8975f5c5SAndroid Build Coastguard Worker         kConditionGalaxyA23,
76*8975f5c5SAndroid Build Coastguard Worker         kConditionGalaxyA34,
77*8975f5c5SAndroid Build Coastguard Worker         kConditionGalaxyA54,
78*8975f5c5SAndroid Build Coastguard Worker         kConditionGalaxyS22,
79*8975f5c5SAndroid Build Coastguard Worker         kConditionGalaxyS23,
80*8975f5c5SAndroid Build Coastguard Worker         kConditionGalaxyS24,
81*8975f5c5SAndroid Build Coastguard Worker         kConditionGalaxyQualcomm,
82*8975f5c5SAndroid Build Coastguard Worker         kConditionFindX6,
83*8975f5c5SAndroid Build Coastguard Worker         kConditionNVIDIAQuadroP400,
84*8975f5c5SAndroid Build Coastguard Worker         kConditionNVIDIAGTX1660,
85*8975f5c5SAndroid Build Coastguard Worker         kConditionPineapple,
86*8975f5c5SAndroid Build Coastguard Worker         kConditionSwiftShader,
87*8975f5c5SAndroid Build Coastguard Worker         kConditionPreRotation,
88*8975f5c5SAndroid Build Coastguard Worker         kConditionPreRotation90,
89*8975f5c5SAndroid Build Coastguard Worker         kConditionPreRotation180,
90*8975f5c5SAndroid Build Coastguard Worker         kConditionPreRotation270,
91*8975f5c5SAndroid Build Coastguard Worker         kConditionNoSan,
92*8975f5c5SAndroid Build Coastguard Worker         kConditionASan,
93*8975f5c5SAndroid Build Coastguard Worker         kConditionTSan,
94*8975f5c5SAndroid Build Coastguard Worker         kConditionUBSan,
95*8975f5c5SAndroid Build Coastguard Worker 
96*8975f5c5SAndroid Build Coastguard Worker         kNumberOfConditions,
97*8975f5c5SAndroid Build Coastguard Worker     };
98*8975f5c5SAndroid Build Coastguard Worker 
99*8975f5c5SAndroid Build Coastguard Worker     using ConditionArray = angle::BitSet<GPUTestConfig::kNumberOfConditions>;
100*8975f5c5SAndroid Build Coastguard Worker 
101*8975f5c5SAndroid Build Coastguard Worker     GPUTestConfig();
102*8975f5c5SAndroid Build Coastguard Worker     GPUTestConfig(bool isSwiftShader);
103*8975f5c5SAndroid Build Coastguard Worker     GPUTestConfig(const API &api, uint32_t preRotation);
104*8975f5c5SAndroid Build Coastguard Worker 
105*8975f5c5SAndroid Build Coastguard Worker     const GPUTestConfig::ConditionArray &getConditions() const;
106*8975f5c5SAndroid Build Coastguard Worker 
107*8975f5c5SAndroid Build Coastguard Worker   protected:
108*8975f5c5SAndroid Build Coastguard Worker     GPUTestConfig::ConditionArray mConditions;
109*8975f5c5SAndroid Build Coastguard Worker };
110*8975f5c5SAndroid Build Coastguard Worker 
111*8975f5c5SAndroid Build Coastguard Worker }  // namespace angle
112*8975f5c5SAndroid Build Coastguard Worker 
113*8975f5c5SAndroid Build Coastguard Worker #endif  // TEST_EXPECTATIONS_GPU_TEST_CONFIG_H_
114