freedreno: add CI for envytools tools
[mesa.git] / src / freedreno / .gitlab-ci / README.rst
1 Continuous Integration
2 ======================
3
4 In addition to a build step, the CI setup has a basic test stage
5 to ensure that we don't break functionality of various tools. The
6 basic idea is to decode various files and compare the output to a
7 reference. This means that some changes, like renaming registers
8 or bitfields in the rnndb xml requires updating the reference
9 output.
10
11 Layout:
12 - .gitlab-ci/
13
14 - traces/ - reference devcoredump and cmdstream traces. The trace files should be kept small, and .rd files (which are already binary) should be compressed.
15
16 - reference/ - reference output
17
18 - genoutput.sh - script to generate output from the traces, used both by the CI test job, but it can also be used to update the reference output
19
20 Note on paths:
21 --------------
22
23 Gitlab CI uses an install-path of \`pwd\`/install. If you use something
24 different, then setup a symlink. Once that is done, to update reference
25 decodes (ie. to account for register .xml changes) run:
26
27 ./src/freedreno/.gitlab-ci/genoutput.sh --update
28
29 TODO
30 ----
31 - Maybe we could filter out some differences, like a new definition of a previously unknown register?
32 - It would be nice to add a test for afuc.. we probably cannot add a "real" fw file to this tree, but maybe could either fetch it from the linux-firmware git tree, or create our own dummy fw.
33