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