Edit

kc3-lang/angle/src/tests/perf_tests/DrawCallPerfParams.cpp

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2018-01-24 16:07:48
    Hash : 17e3d2d5
    Message : Vulkan: Add draw call perf test with a state change. Bug: angleproject:2163 Change-Id: I3976af162ee669d0c98625fc69efb7fbd02c7e45 Reviewed-on: https://chromium-review.googlesource.com/883611 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Frank Henigman <fjhenigman@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>

  • src/tests/perf_tests/DrawCallPerfParams.cpp
  • //
    // Copyright (c) 2017 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.
    //
    // DrawCallPerfParams.cpp:
    //   Parametrization for performance tests for ANGLE draw call overhead.
    //
    
    #include "DrawCallPerfParams.h"
    
    #include <sstream>
    
    std::string DrawCallPerfParams::suffix() const
    {
        std::stringstream strstr;
    
        strstr << RenderTestParams::suffix();
    
        if (numTris == 0)
        {
            strstr << "_validation_only";
        }
    
        if (useFBO)
        {
            strstr << "_render_to_texture";
        }
    
        if (eglParameters.deviceType == EGL_PLATFORM_ANGLE_DEVICE_TYPE_NULL_ANGLE)
        {
            strstr << "_null";
        }
    
        return strstr.str();
    }
    
    using namespace angle::egl_platform;
    
    DrawCallPerfParams DrawCallPerfD3D11Params(bool useNullDevice, bool renderToTexture)
    {
        DrawCallPerfParams params;
        params.eglParameters = useNullDevice ? D3D11_NULL() : D3D11();
        params.useFBO        = renderToTexture;
        return params;
    }
    
    DrawCallPerfParams DrawCallPerfD3D9Params(bool useNullDevice, bool renderToTexture)
    {
        DrawCallPerfParams params;
        params.eglParameters = useNullDevice ? D3D9_NULL() : D3D9();
        params.useFBO        = renderToTexture;
        return params;
    }
    
    DrawCallPerfParams DrawCallPerfOpenGLOrGLESParams(bool useNullDevice, bool renderToTexture)
    {
        DrawCallPerfParams params;
        params.eglParameters = OPENGL_OR_GLES(useNullDevice);
        params.useFBO        = renderToTexture;
        return params;
    }
    
    DrawCallPerfParams DrawCallPerfValidationOnly()
    {
        DrawCallPerfParams params;
        params.eglParameters  = DEFAULT();
        params.iterations     = 10000;
        params.numTris        = 0;
        params.runTimeSeconds = 5.0;
        return params;
    }
    
    DrawCallPerfParams DrawCallPerfVulkanParams(bool renderToTexture)
    {
        DrawCallPerfParams params;
        params.eglParameters = VULKAN();
        params.useFBO        = renderToTexture;
        return params;
    }