#include "ANGLEPerfTest.h"
#include <array>
#include "common/vector_utils.h"
#include "util/shader_utils.h"
usingnamespaceangle;
namespace
{
enum class TaskOption
{ … };
enum class ThreadOption
{ … };
struct LinkProgramParams final : public RenderTestParams
{ … };
std::ostream &operator<<(std::ostream &os, const LinkProgramParams ¶ms)
{ … }
class LinkProgramBenchmark : public ANGLERenderTest,
public ::testing::WithParamInterface<LinkProgramParams>
{ … };
LinkProgramBenchmark::LinkProgramBenchmark() : … { … }
void LinkProgramBenchmark::initializeBenchmark()
{ … }
void LinkProgramBenchmark::destroyBenchmark()
{ … }
void LinkProgramBenchmark::drawBenchmark()
{ … }
usingnamespaceegl_platform;
LinkProgramParams LinkProgramD3D11Params(TaskOption taskOption, ThreadOption threadOption)
{ … }
LinkProgramParams LinkProgramMetalParams(TaskOption taskOption, ThreadOption threadOption)
{ … }
LinkProgramParams LinkProgramOpenGLOrGLESParams(TaskOption taskOption, ThreadOption threadOption)
{ … }
LinkProgramParams LinkProgramVulkanParams(TaskOption taskOption, ThreadOption threadOption)
{ … }
TEST_P(LinkProgramBenchmark, Run)
{ … }
ANGLE_INSTANTIATE_TEST(…);
}