Edit

kc3-lang/angle/src/tests/restricted_traces

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2020-10-21 22:54:56
    Hash : a7c16c2d
    Message : Trace Tests: Print trace download progress. As the hook runs, we'll now be printing each trace's progress. This uses some tricks with Python's subprocess. Bug: angleproject:5210 Change-Id: I4e776a89c2b3e06ba67f9a82969aa394b24208d5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491104 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>

  • README.md
  • ANGLE Restricted Traces

    The files in this directory are traces of real applications. We host them internally because they may contain third party IP which we don't want to share publicly.

    Setup

    In order to compile and run with these, you must be granted access by Google, then authenticate with the cloud with your @google account:

    download_from_google_storage --config
    <enter 0 for the project ID>
    

    Add the following to ANGLE's .gclient file:

        "custom_vars": {
          "checkout_angle_internal":"True"
        },
    

    Then use gclient to pull down binary files from a cloud storage bucket.

    gclient runhooks
    

    To build the tests, add the following GN argument:

    build_angle_trace_perf_tests = true
    

    Build the angle_perftests:

    autoninja -C out/Release angle_perftests
    

    Run them like so:

    out/Release/angle_perftests --gtest_filter=TracePerfTest*
    

    Updating traces

    The GFXBench traces were captured on Windows after building gfxbench from source. We run capture commands in git bash.

    Windows prep

    Launch git bash via the 'git bash' command or via the start menu. Then run:

    export PLATFORM=vs2019-x64
    export TFW_PACKAGE_DIR=../../../build/vs2019-x64/testfw/tfw-dev
    export ANGLE_DEFAULT_PLATFORM=vulkan
    

    Linux prep

    export PLATFORM=linux
    export LD_LIBRARY_PATH=.
    export TFW_PACKAGE_DIR=../../../build/linux/testfw_Release/tfw-dev
    export ANGLE_DEFAULT_PLATFORM=vulkan
    

    Capturing from gfxbench

    First start from the gfxbench source directory.

    cd out/install/$PLATFORM/lib
    python ../../../../scripts/refresh_angle_libs.py
    
    # TRex
    mkdir -p ../../../../../angle/src/tests/restricted_traces/trex_200
    ANGLE_CAPTURE_OUT_DIR=../../../../../angle/src/tests/restricted_traces/trex_200 ANGLE_CAPTURE_FRAME_START=200 ANGLE_CAPTURE_FRAME_END=210 ANGLE_CAPTURE_LABEL=trex_200 ../bin/testfw_app -b $TFW_PACKAGE_DIR --gfx egl -w 1920 -h 1080 -t gl_trex --ei -frame_step_time=40
    
    # Manhattan
    mkdir -p ../../../../../angle/src/tests/restricted_traces/manhattan_10
    ANGLE_CAPTURE_OUT_DIR=../../../../../angle/src/tests/restricted_traces/manhattan_10 ANGLE_CAPTURE_FRAME_START=10 ANGLE_CAPTURE_FRAME_END=20 ANGLE_CAPTURE_LABEL=manhattan_10 ../bin/testfw_app -b $TFW_PACKAGE_DIR --gfx egl -w 1920 -h 1080 -t gl_manhattan --ei -frame_step_time=40
    
    # Egypt
    mkdir -p ../../../../../angle/src/tests/restricted_traces/egypt_1500
    ANGLE_CAPTURE_OUT_DIR=../../../../../angle/src/tests/restricted_traces/egypt_1500 ANGLE_CAPTURE_FRAME_START=1500 ANGLE_CAPTURE_FRAME_END=1510 ANGLE_CAPTURE_LABEL=egypt_1500 ../bin/testfw_app -b $TFW_PACKAGE_DIR --gfx egl -w 1920 -h 1080 -t gl_egypt --ei -frame_step_time=40
    

    Upload to the cloud

    Starting from you ANGLE root directory:

    cd src/tests/restricted_traces
    upload_to_google_storage.py --bucket chrome-angle-capture-binaries --archive trex_200
    upload_to_google_storage.py --bucket chrome-angle-capture-binaries --archive manhattan_10
    upload_to_google_storage.py --bucket chrome-angle-capture-binaries --archive egypt_1500
    

    After uploading, add the sha1 files created by the upload and submit them with your changes.

    Adding new tests

    After you capture and upload a set of frames from an application using the steps above you'll need to: