diff --git a/.gitlab-ci/test-source-dep.yml b/.gitlab-ci/test-source-dep.yml index 4f6c4fb74df..56037f85262 100644 --- a/.gitlab-ci/test-source-dep.yml +++ b/.gitlab-ci/test-source-dep.yml @@ -195,6 +195,29 @@ when: on_success - when: never +# Unfortunately YAML doesn't let us concatenate arrays, so we have to do the +# rules duplication manually +.freedreno-rules-performance: + stage: freedreno + rules: + - *ignore_scheduled_pipelines + # Run only on pre-merge pipelines from Marge + - if: '$GITLAB_USER_LOGIN != "marge-bot" || $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME != $CI_COMMIT_REF_NAME' + when: never + - changes: + *mesa_core_file_list + when: manual + - changes: + *gallium_core_file_list + when: manual + - changes: + *vulkan_file_list + when: manual + - changes: + *freedreno_file_list + when: manual + - when: never + .panfrost-midgard-rules: stage: arm rules: diff --git a/src/freedreno/ci/gitlab-ci.yml b/src/freedreno/ci/gitlab-ci.yml index 0b15b760d8d..f9903bd55e1 100644 --- a/src/freedreno/ci/gitlab-ci.yml +++ b/src/freedreno/ci/gitlab-ci.yml @@ -288,3 +288,20 @@ a630-traces-restricted: PIGLIT_REPLAY_DESCRIPTION_FILE: "/install/restricted-traces-freedreno.yml" PIGLIT_REPLAY_EXTRA_ARGS: --keep-image --db-path ${CI_PROJECT_DIR}/replayer-db/ --minio_host=minio-packet.freedesktop.org --minio_bucket=mesa-tracie-private --role-session-name=${CI_PROJECT_PATH}:${CI_JOB_ID} --jwt=${CI_JOB_JWT} allow_failure: true + +a630-traces-performance: + extends: + - a630-traces + - .freedreno-rules-performance + 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 + HWCI_FREQ_MAX: 1 + allow_failure: true