• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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         kAPINative,
30     };
31 
32     enum Condition
33     {
34         kConditionNone = 0,
35         kConditionWinXP,
36         kConditionWinVista,
37         kConditionWin7,
38         kConditionWin8,
39         kConditionWin10,
40         kConditionWin,
41         kConditionMacLeopard,
42         kConditionMacSnowLeopard,
43         kConditionMacLion,
44         kConditionMacMountainLion,
45         kConditionMacMavericks,
46         kConditionMacYosemite,
47         kConditionMacElCapitan,
48         kConditionMacSierra,
49         kConditionMacHighSierra,
50         kConditionMacMojave,
51         kConditionMac,
52         kConditionIOS,
53         kConditionLinux,
54         kConditionAndroid,
55         kConditionNVIDIA,
56         kConditionAMD,
57         kConditionIntel,
58         kConditionVMWare,
59         kConditionApple,
60         kConditionQualcomm,
61         kConditionRelease,
62         kConditionDebug,
63         kConditionD3D9,
64         kConditionD3D11,
65         kConditionGLDesktop,
66         kConditionGLES,
67         kConditionVulkan,
68         kConditionNative,
69         kConditionMetal,
70         kConditionWgpu,
71         kConditionNexus5X,
72         kConditionPixel2OrXL,
73         kConditionPixel4OrXL,
74         kConditionPixel6,
75         kConditionPixel7,
76         kConditionFlipN2,
77         kConditionMaliG710,
78         kConditionGalaxyA23,
79         kConditionGalaxyA34,
80         kConditionGalaxyA54,
81         kConditionGalaxyS22,
82         kConditionGalaxyS23,
83         kConditionGalaxyS24Exynos,
84         kConditionGalaxyS24Qualcomm,
85         kConditionFindX6,
86         kConditionNVIDIAQuadroP400,
87         kConditionNVIDIAGTX1660,
88         kConditionPineapple,
89         kConditionSwiftShader,
90         kConditionPreRotation,
91         kConditionPreRotation90,
92         kConditionPreRotation180,
93         kConditionPreRotation270,
94         kConditionNoSan,
95         kConditionASan,
96         kConditionTSan,
97         kConditionUBSan,
98 
99         kNumberOfConditions,
100     };
101 
102     using ConditionArray = angle::BitSet<GPUTestConfig::kNumberOfConditions>;
103 
104     GPUTestConfig();
105     GPUTestConfig(bool isSwiftShader);
106     GPUTestConfig(const API &api, uint32_t preRotation);
107 
108     const GPUTestConfig::ConditionArray &getConditions() const;
109 
110   protected:
111     GPUTestConfig::ConditionArray mConditions;
112 };
113 
114 }  // namespace angle
115 
116 #endif  // TEST_EXPECTATIONS_GPU_TEST_CONFIG_H_
117