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

//
// Copyright 2023 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.
//
// ParallelLinkProgramPerfTest:
//   Tests performance of compiling and linking many shaders and programs in sequence.
//

#include "ANGLEPerfTest.h"

#include <array>

#include "common/vector_utils.h"
#include "util/shader_utils.h"

usingnamespaceangle;

namespace
{

enum class CompileLinkOrder
{};

struct ParallelLinkProgramParams final : public RenderTestParams
{};

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

class ParallelLinkProgramBenchmark : public ANGLERenderTest,
                                     public ::testing::WithParamInterface<ParallelLinkProgramParams>
{};

ParallelLinkProgramBenchmark::ParallelLinkProgramBenchmark()
    :{}

void ParallelLinkProgramBenchmark::initializeBenchmark()
{}

void ParallelLinkProgramBenchmark::destroyBenchmark()
{}

void ParallelLinkProgramBenchmark::drawBenchmark()
{}

usingnamespaceegl_platform;

ParallelLinkProgramParams ParallelLinkProgramD3D11Params(CompileLinkOrder compileLinkOrder)
{}

ParallelLinkProgramParams ParallelLinkProgramMetalParams(CompileLinkOrder compileLinkOrder)
{}

ParallelLinkProgramParams ParallelLinkProgramOpenGLOrGLESParams(CompileLinkOrder compileLinkOrder)
{}

ParallelLinkProgramParams ParallelLinkProgramVulkanParams(CompileLinkOrder compileLinkOrder)
{}

ParallelLinkProgramParams SerialLinkProgramVulkanParams(CompileLinkOrder compileLinkOrder)
{}

// Test parallel link performance
TEST_P(ParallelLinkProgramBenchmark, Run)
{}

ANGLE_INSTANTIATE_TEST();

}  // anonymous namespace