#ifndef ANGLE_TEST_INSTANTIATE_H_
#define ANGLE_TEST_INSTANTIATE_H_
#include <gtest/gtest.h>
#include "common/platform_helpers.h"
namespace angle
{
struct SystemInfo;
struct PlatformParameters;
bool IsOzone();
bool IsARM64();
bool IsNexus5X();
bool IsNexus9();
bool IsPixelXL();
bool IsPixel2();
bool IsPixel2XL();
bool IsPixel4();
bool IsPixel4XL();
bool IsPixel6();
bool IsGalaxyS22();
bool IsNVIDIAShield();
bool IsAndroid14OrNewer();
bool IsIntel();
bool IsAMD();
bool IsAppleGPU();
bool IsARM();
bool IsNVIDIA();
bool IsQualcomm();
bool IsSwiftshaderDevice();
bool IsIntelUHD630Mobile();
bool HasMesa();
bool IsPlatformAvailable(const PlatformParameters ¶m);
template <typename T>
std::vector<T> FilterTestParams(const T *params, size_t numParams)
{ … }
template <typename T>
std::vector<T> FilterTestParams(const std::vector<T> ¶ms)
{ … }
struct CombinedPrintToStringParamName
{ … };
#define ANGLE_INSTANTIATE_TEST_PLATFORMS(testName, ...) …
#define ANGLE_INSTANTIATE_TEST(testName, first, ...) …
#define ANGLE_INSTANTIATE_TEST_ARRAY(testName, valuesin) …
#if !defined(ANGLE_TEST_ENABLE_SYSTEM_EGL)
#define ANGLE_TEST_PLATFORMS_ES1_SYSTEM_EGL
#define ANGLE_TEST_PLATFORMS_ES2_SYSTEM_EGL
#define ANGLE_TEST_PLATFORMS_ES3_SYSTEM_EGL
#define ANGLE_TEST_PLATFORMS_ES31_SYSTEM_EGL
#define ANGLE_TEST_PLATFORMS_ES32_SYSTEM_EGL
#else
#define ANGLE_TEST_PLATFORMS_ES1_SYSTEM_EGL …
#define ANGLE_TEST_PLATFORMS_ES2_SYSTEM_EGL …
#define ANGLE_TEST_PLATFORMS_ES3_SYSTEM_EGL …
#define ANGLE_TEST_PLATFORMS_ES31_SYSTEM_EGL …
#define ANGLE_TEST_PLATFORMS_ES32_SYSTEM_EGL …
#endif
#define ANGLE_ALL_TEST_PLATFORMS_ES1 …
#define ANGLE_ALL_TEST_PLATFORMS_ES2 …
#define ANGLE_ALL_TEST_PLATFORMS_ES3 …
#define ANGLE_ALL_TEST_PLATFORMS_ES31 …
#define ANGLE_ALL_TEST_PLATFORMS_ES32 …
#define ANGLE_ALL_TEST_PLATFORMS_GL32_CORE …
#define ANGLE_ALL_TEST_PLATFORMS_NULL …
#define ANGLE_INSTANTIATE_TEST_ES1(testName) …
#define ANGLE_INSTANTIATE_TEST_ES2(testName) …
#define ANGLE_INSTANTIATE_TEST_ES2_AND(testName, ...) …
#define ANGLE_INSTANTIATE_TEST_ES3(testName) …
#define ANGLE_INSTANTIATE_TEST_ES3_AND(testName, ...) …
#define ANGLE_INSTANTIATE_TEST_ES31(testName) …
#define ANGLE_INSTANTIATE_TEST_ES31_AND(testName, ...) …
#define ANGLE_INSTANTIATE_TEST_ES32(testName) …
#define ANGLE_INSTANTIATE_TEST_ES32_AND(testName, ...) …
#define ANGLE_INSTANTIATE_TEST_GL32_CORE(testName) …
#define ANGLE_INSTANTIATE_TEST_GL32_CORE_AND(testName, ...) …
#define ANGLE_INSTANTIATE_TEST_ES2_AND_ES3(testName) …
#define ANGLE_INSTANTIATE_TEST_ES2_AND_ES3_AND(testName, ...) …
#define ANGLE_INSTANTIATE_TEST_ES2_AND_ES3_AND_ES31(testName) …
#define ANGLE_INSTANTIATE_TEST_ES2_AND_ES3_AND_ES31_AND(testName, ...) …
#define ANGLE_INSTANTIATE_TEST_ES2_AND_ES3_AND_ES31_AND_NULL(testName) …
#define ANGLE_INSTANTIATE_TEST_ES2_AND_ES3_AND_ES31_AND_NULL_AND(testName, ...) …
#define ANGLE_INSTANTIATE_TEST_ES3_AND_ES31(testName) …
#define ANGLE_INSTANTIATE_TEST_ES3_AND_ES31_AND(testName, ...) …
#define ANGLE_INSTANTIATE_TEST_COMBINE_1(testName, print, combine1, first, ...) …
#define ANGLE_INSTANTIATE_TEST_COMBINE_3(testName, print, combine1, combine2, combine3, first, \
...) …
#define ANGLE_INSTANTIATE_TEST_COMBINE_4(testName, print, combine1, combine2, combine3, combine4, \
first, ...) …
#define ANGLE_INSTANTIATE_TEST_COMBINE_5(testName, print, combine1, combine2, combine3, combine4, \
combine5, first, ...) …
#define ANGLE_INSTANTIATE_TEST_COMBINE_6(testName, print, combine1, combine2, combine3, combine4, \
combine5, combine6, first, ...) …
bool IsConfigAllowlisted(const SystemInfo &systemInfo, const PlatformParameters ¶m);
bool IsConfigSupported(const PlatformParameters ¶m);
SystemInfo *GetTestSystemInfo();
std::vector<std::string> GetAvailableTestPlatformNames();
void SetSelectedConfig(const char *selectedConfig);
bool IsConfigSelected();
bool IsMetalTextureSwizzleAvailable();
extern bool gEnableANGLEPerTestCaptureLabel;
ModifierFunc;
template <typename ParamsT>
std::vector<ParamsT> CombineWithFuncs(const std::vector<ParamsT> &in,
const std::vector<ModifierFunc<ParamsT>> &modifiers)
{ … }
template <typename ParamT, typename RangeT, typename ModifierT>
std::vector<ParamT> CombineWithValues(const std::vector<ParamT> &in,
RangeT begin,
RangeT end,
ParamT combine(const ParamT &, ModifierT))
{ … }
template <typename ParamT, typename ModifierT>
std::vector<ParamT> CombineWithValues(const std::vector<ParamT> &in,
const std::initializer_list<ModifierT> &modifiers,
ParamT combine(const ParamT &, ModifierT))
{ … }
template <typename ParamT, typename ModifiersT, typename ModifierT>
std::vector<ParamT> CombineWithValues(const std::vector<ParamT> &in,
const ModifiersT &modifiers,
ParamT combine(const ParamT &, ModifierT))
{ … }
template <typename ParamT, typename FilterFunc>
std::vector<ParamT> FilterWithFunc(const std::vector<ParamT> &in, FilterFunc filter)
{ … }
}
#define ANGLE_SKIP_TEST_IF(COND) …
#endif