chromium/third_party/angle/src/tests/perf_tests/glmark2Benchmark.cpp

//
// Copyright 2019 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// glmark2Benchmark:
//   Runs the glmark2 benchmark.
//

#include <gtest/gtest.h>

#include <stdio.h>
#include <sstream>

#include "../perf_tests/third_party/perf/perf_result_reporter.h"
#include "ANGLEPerfTestArgs.h"
#include "common/platform.h"
#include "common/string_utils.h"
#include "common/system_utils.h"
#include "test_utils/angle_test_configs.h"
#include "test_utils/angle_test_instantiate.h"
#include "util/test_utils.h"

usingnamespaceangle;

namespace
{

struct BenchmarkInfo
{};

// Each glmark2 scene is individually benchmarked.  If glmark2 is run without a specific benchmark,
// it can produce an aggregate score, which is not interesting at the moment.  Adding an empty
// string ("") to this list will enable a test where glmark2 is run with the default scenes and the
// score for each test as well as the overall score is output.
constexpr BenchmarkInfo kBenchmarks[] =;

struct GLMark2TestParams : public PlatformParameters
{};

std::ostream &operator<<(std::ostream &os, const GLMark2TestParams &params)
{}

class GLMark2Benchmark : public testing::TestWithParam<GLMark2TestParams>
{};

TEST_P(GLMark2Benchmark, Run)
{}

GLMark2TestParams CombineEGLPlatform(const GLMark2TestParams &in, EGLPlatformParameters eglParams)
{}

GLMark2TestParams CombineInfo(const GLMark2TestParams &in, BenchmarkInfo info)
{}

usingnamespaceegl_platform;

std::vector<GLMark2TestParams> gTestsWithInfo =;
std::vector<EGLPlatformParameters> gEGLPlatforms =;
std::vector<GLMark2TestParams> gTestsWithPlatform =;

ANGLE_INSTANTIATE_TEST_ARRAY();

}  // namespace