blob: aee89cda68b5f1163c7bd0bb4d26d0cf6ca3042f [file] [log] [blame]
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "gpu/tools/compositor_model_bench/render_models.h"
#include <string>
#include <utility>
#include "gpu/tools/compositor_model_bench/forward_render_model.h"
const char* ModelToString(RenderModel m) {
switch (m) {
case ForwardRenderModel:
return "Forward Rendering";
default:
return "(unknown render model name)";
}
}
RenderModelSimulator::RenderModelSimulator(std::unique_ptr<RenderNode> root)
: root_(std::move(root)) {}
RenderModelSimulator::~RenderModelSimulator() {
}
std::unique_ptr<RenderModelSimulator> ConstructSimulationModel(
RenderModel model,
std::unique_ptr<RenderNode> render_tree_root,
int window_width,
int window_height) {
switch (model) {
case ForwardRenderModel:
return std::make_unique<ForwardRenderSimulator>(
std::move(render_tree_root), window_width, window_height);
default:
LOG(ERROR) << "Unrecognized render model. "
"If we know its name, then it's..." << ModelToString(model);
return nullptr;
}
}