#ifndef PERF_TESTS_ANGLE_PERF_TEST_H_
#define PERF_TESTS_ANGLE_PERF_TEST_H_
#include <gtest/gtest.h>
#include <mutex>
#include <queue>
#include <string>
#include <unordered_map>
#include <vector>
#include "platform/PlatformMethods.h"
#include "test_utils/angle_test_configs.h"
#include "test_utils/angle_test_instantiate.h"
#include "test_utils/angle_test_platform.h"
#include "third_party/perf/perf_result_reporter.h"
#include "util/EGLWindow.h"
#include "util/OSWindow.h"
#include "util/Timer.h"
#include "util/util_gl.h"
class Event;
#if !defined(ASSERT_GL_NO_ERROR)
#define ASSERT_GL_NO_ERROR() …
#endif
#if !defined(ASSERT_GLENUM_EQ)
#define ASSERT_GLENUM_EQ(expected, actual) …
#endif
struct TraceEvent final
{ … };
class ANGLEPerfTest : public testing::Test, angle::NonCopyable
{ … };
enum class SurfaceType
{ … };
struct RenderTestParams : public angle::PlatformParameters
{ … };
class ANGLERenderTest : public ANGLEPerfTest
{ … };
namespace params
{
template <typename ParamsT>
ParamsT Offscreen(const ParamsT &input)
{ … }
template <typename ParamsT>
ParamsT NullDevice(const ParamsT &input)
{ … }
template <typename ParamsT>
ParamsT Passthrough(const ParamsT &input)
{ … }
}
namespace angle
{
double GetHostTimeSeconds();
}
#endif