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