Path: blob/main_old/src/tests/perf_tests/DrawCallPerfParams.h
1693 views
//1// Copyright 2017 The ANGLE Project Authors. All rights reserved.2// Use of this source code is governed by a BSD-style license that can be3// found in the LICENSE file.4//5// DrawCallPerfParams.h:6// Parametrization for performance tests for ANGLE draw call overhead.7//89#ifndef TESTS_PERF_TESTS_DRAW_CALL_PERF_PARAMS_H_10#define TESTS_PERF_TESTS_DRAW_CALL_PERF_PARAMS_H_1112#include <ostream>1314#include "ANGLEPerfTest.h"15#include "test_utils/angle_test_configs.h"1617struct DrawCallPerfParams : public RenderTestParams18{19// Common default options20DrawCallPerfParams();21~DrawCallPerfParams() override;2223std::string story() const override;2425double runTimeSeconds;26int numTris;27};2829namespace params30{31template <typename ParamsT>32ParamsT D3D11(const ParamsT &in)33{34ParamsT out = in;35out.eglParameters = angle::egl_platform::D3D11();36return out;37}3839template <typename ParamsT>40ParamsT GL(const ParamsT &in)41{42ParamsT out = in;43out.eglParameters = angle::egl_platform::OPENGL_OR_GLES();44return out;45}4647template <typename ParamsT>48ParamsT GL3(const ParamsT &in)49{50ParamsT out = in;51out.eglParameters = angle::egl_platform::OPENGL_OR_GLES(3, 0);52return out;53}5455template <typename ParamsT>56ParamsT Vulkan(const ParamsT &in)57{58ParamsT out = in;59out.eglParameters = angle::egl_platform::VULKAN();60return out;61}6263template <typename ParamsT>64ParamsT VulkanMockICD(const ParamsT &in)65{66ParamsT out = in;67out.eglParameters = angle::egl_platform::VULKAN_NULL();68return out;69}7071template <typename ParamsT>72ParamsT VulkanSwiftShader(const ParamsT &in)73{74ParamsT out = in;75out.eglParameters = angle::egl_platform::VULKAN_SWIFTSHADER();76return out;77}7879template <typename ParamsT>80ParamsT WGL(const ParamsT &in)81{82ParamsT out = in;83out.driver = angle::GLESDriverType::SystemWGL;84return out;85}8687template <typename ParamsT>88ParamsT EGL(const ParamsT &in)89{90ParamsT out = in;91out.driver = angle::GLESDriverType::SystemEGL;92return out;93}9495template <typename ParamsT>96ParamsT Native(const ParamsT &in)97{98#if defined(ANGLE_PLATFORM_WINDOWS)99return WGL(in);100#else101return EGL(in);102#endif103}104} // namespace params105106#endif // TESTS_PERF_TESTS_DRAW_CALL_PERF_PARAMS_H_107108109