diff --git a/.gitlab-ci/bare-metal/rootfs-setup.sh b/.gitlab-ci/bare-metal/rootfs-setup.sh index db4cc04d1b2..d94c6e9a534 100644 --- a/.gitlab-ci/bare-metal/rootfs-setup.sh +++ b/.gitlab-ci/bare-metal/rootfs-setup.sh @@ -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 \ diff --git a/.gitlab-ci/piglit/run.sh b/.gitlab-ci/piglit/run.sh index 97c4c9cd927..6ac67d97146 100755 --- a/.gitlab-ci/piglit/run.sh +++ b/.gitlab-ci/piglit/run.sh @@ -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 diff --git a/src/freedreno/ci/gitlab-ci.yml b/src/freedreno/ci/gitlab-ci.yml index 7aa26327c4d..fefc2e3a8af 100644 --- a/src/freedreno/ci/gitlab-ci.yml +++ b/src/freedreno/ci/gitlab-ci.yml @@ -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