Commit 8e470457 authored by Antonio Caggiano's avatar Antonio Caggiano 🦀 Committed by Marge Bot
Browse files

ci: Add a manual job for tracking the performance of Freedreno



Use Piglit's replay profile to measure and store the time that frames
take to render in the GPU.

This job won't run automatically in regular pipelines, but will be
triggered automatically by a script for every successful pre-merge
pipeline.

This is because we want to generate performance data for every relevant
commit merged in main, but we don't want to keep a device busy during
the pre-merge run.
Signed-off-by: Antonio Caggiano's avatarAntonio Caggiano <antonio.caggiano@collabora.com>
Signed-off-by: Tomeu Vizoso's avatarTomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-By: default avatarRohan Garg <rohan.garg@collabora.com>
Part-of: <!7987>
parent 93138ef1
......@@ -67,6 +67,7 @@ for var in \
PIGLIT_PLATFORM \
PIGLIT_PROFILES \
PIGLIT_REPLAY_ARTIFACTS_BASE_URL \
PIGLIT_REPLAY_SUBCOMMAND \
PIGLIT_REPLAY_DESCRIPTION_FILE \
PIGLIT_REPLAY_DEVICE_NAME \
PIGLIT_REPLAY_EXTRA_ARGS \
......
......@@ -238,7 +238,9 @@ if [ "x$PIGLIT_PROFILES" = "xreplay" ] \
__MINIO_PATH="$PIGLIT_REPLAY_ARTIFACTS_BASE_URL"
__MINIO_TRACES_PREFIX="traces"
quiet replay_minio_upload_images
if [ "x$PIGLIT_REPLAY_SUBCOMMAND" != "xprofile" ]; then
quiet replay_minio_upload_images
fi
fi
if [ -n "$USE_CASELIST" ]; then
......
......@@ -277,3 +277,25 @@ a630-traces:
# missing.
MESA_GLSL_VERSION_OVERRIDE: "460"
MESA_GL_VERSION_OVERRIDE: "4.6"
a630-profile-traces:
extends:
- a630-traces
variables:
PIGLIT_REPLAY_SUBCOMMAND: "profile"
PIGLIT_REPLAY_EXTRA_ARGS: "--db-path ${CI_PROJECT_DIR}/replayer-db/"
# More than this can hit OOM due to BOs leaked during the replay of the last frame
PIGLIT_REPLAY_LOOP_TIMES: 150
# We don't want for more than one workload to be submitted to the GPU at a time
FDO_CI_CONCURRENT: 1
# So we aren't capped by VSync by the X server
EGL_PLATFORM: surfaceless
GIT_STRATEGY: none
rules:
# We want this job to be present always, will be triggered automatically
# *after* the code is merged, for stats collecting.
- when: manual
# This is needed so the manual job won't block MRs
stage: success
allow_failure: true
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment