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