chore(tools): move progress.py description from repo to pr
This commit is contained in:
parent
417b66323f
commit
87633fc4e8
|
|
@ -1,37 +0,0 @@
|
|||
# Tools
|
||||
|
||||
## progress.py
|
||||
|
||||
Generates the progress map shown in the main [README](../README.md).
|
||||
|
||||
```sh
|
||||
python3 tools/progress.py <output-dir>
|
||||
```
|
||||
|
||||
Requires only Python 3.9+ with the standard library. It writes:
|
||||
|
||||
- `progress.svg`: treemaps for system libraries and GPU shader instructions
|
||||
- `badge-libraries.svg`, `badge-shaders.svg`: percentage badges
|
||||
- `index.html`: the map with per-library and per-encoding tables
|
||||
- `progress.json`: raw numbers and the names of implemented and pending items
|
||||
|
||||
The [Progress workflow](../.github/workflows/progress.yml) runs it on every push to `main` and deploys the output to GitHub Pages, so nothing generated is committed to the repository.
|
||||
|
||||
To compare two runs, for example `main` and a pull request:
|
||||
|
||||
```sh
|
||||
python3 tools/progress.py --root <base-checkout> base
|
||||
python3 tools/progress.py head
|
||||
python3 tools/progress.py --compare base/progress.json head/progress.json
|
||||
```
|
||||
|
||||
`--root` measures another source tree with the current script. `--compare` prints a Markdown report of implemented, newly declared, reverted and removed items, and prints nothing when progress did not change. The [Progress report workflow](../.github/workflows/progress-report.yml) runs it for every pull request, and [Progress comment](../.github/workflows/progress-comment.yml) posts the report as a single comment on the pull request, updated on every push. It runs as a separate `workflow_run` so pull requests from forks never run with write permissions.
|
||||
|
||||
### What is measured
|
||||
|
||||
- **System libraries**: functions defined in [core/libs/prx](../core/libs/prx). A function is implemented when it no longer calls `NotImplemented_nid_no_patch`. The total only includes functions already declared in the project, not every function of the PS5 firmware.
|
||||
- **GPU shader instructions**: instructions from [rdna_isa.txt](rdna_isa.txt) that appear in `RdnaOpcode` of the [shader recompiler](../core/shader/recompiler/RdnaDecoder). FLAT opcodes also count for their GLOBAL and SCRATCH forms, since the decoder accepts all three segments. Decoded opcodes missing from AMD's public list are not counted.
|
||||
|
||||
## rdna_isa.txt
|
||||
|
||||
The AMD RDNA 1 + RDNA 2 instruction list (name and primary encoding), extracted from the [AMD Machine-Readable GPU ISA Specification](https://gpuopen.com/machine-readable-isa/) (MIT License).
|
||||
Loading…
Reference in New Issue