1#!/bin/bash 2 3# This file contains all of the cmdlines used to generate output 4# for the test step in the CI pipeline. It can also be used to 5# regenerate reference output 6 7set -x 8set -e 9 10# input/output directories: 11base=src/freedreno 12traces=$base/.gitlab-ci/traces 13reference=$base/.gitlab-ci/reference 14output=$base/.gitlab-ci/out 15 16# use the --update arg to update reference output: 17if [ "$1" = "--update" ]; then 18 output=$reference 19fi 20 21mkdir -p $output 22 23# binary locations: 24cffdump=./install/bin/cffdump 25crashdec=./install/bin/crashdec 26asm=./install/bin/afuc-asm 27disasm=./install/bin/afuc-disasm 28 29# helper to filter out paths that can change depending on 30# who is building: 31basepath=`dirname $0` 32basepath=`dirname $basepath` 33basepath=`pwd $basepath` 34filter() { 35 out=$1 36 grep -vF "$basepath" > $out 37} 38 39# 40# The Tests: 41# 42 43# dump only a single frame, and single tile pass, to keep the 44# reference output size managable 45$cffdump --frame 0 --once $traces/fd-clouds.rd.gz | filter $output/fd-clouds.log 46$cffdump --frame 0 --once $traces/es2gears-a320.rd.gz | filter $output/es2gears-a320.log 47$cffdump --frame 1 --once $traces/glxgears-a420.rd.gz | filter $output/glxgears-a420.log 48$cffdump --once $traces/dEQP-GLES2.functional.texture.specification.basic_teximage2d.rgba16f_2d.rd.gz | filter $output/dEQP-GLES2.functional.texture.specification.basic_teximage2d.rgba16f_2d.log 49$cffdump --frame 0 --once $traces/dEQP-VK.draw.indirect_draw.indexed.indirect_draw_count.triangle_list.rd.gz | filter $output/dEQP-VK.draw.indirect_draw.indexed.indirect_draw_count.triangle_list.log 50 51# test a lua script to ensure we don't break scripting API: 52$cffdump --script $base/decode/scripts/parse-submits.lua $traces/shadow.rd.gz | filter $output/shadow.log 53 54$crashdec -sf $traces/crash.devcore | filter $output/crash.log 55 56$asm -g 6 $traces/afuc_test.asm $output/afuc_test.fw 57$disasm -g 6 $reference/afuc_test.fw | filter $output/afuc_test.asm 58