mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-04 13:07:32 +00:00
The shaders badge counted ISA instruction names that have an RdnaOpcode enumerator and had reached 100%. Measure what the recompiler does instead: decoded and translated instruction forms (base, VOP3, DPP) from the opcode tables and emit switches, and the unsupported throws, using AMD's RDNA 2 instruction forms (MIT, vendored as a derived table). Say on the page that this is source coverage, not game compatibility. The Pages progress workflow now also runs when the recompiler changes, and the Pages workflows fail instead of publishing when the scan cannot read the recompiler.
46 lines
1.3 KiB
YAML
46 lines
1.3 KiB
YAML
name: Pages progress
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- core/libs/prx/**
|
|
- core/shader/recompiler/**
|
|
- tools/progress.py
|
|
- tools/shader_scan.py
|
|
- tools/rdna2_isa_forms.txt
|
|
- tools/rdna_isa.txt
|
|
|
|
permissions:
|
|
contents: read
|
|
actions: write
|
|
pages: read
|
|
|
|
concurrency:
|
|
group: pages-progress
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
progress:
|
|
if: ${{ !github.event.repository.fork }}
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 5
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
with:
|
|
persist-credentials: false
|
|
- name: Deploy Pages if the progress changed
|
|
env:
|
|
GH_TOKEN: ${{ github.token }}
|
|
GH_REPO: ${{ github.repository }}
|
|
run: |
|
|
python3 tools/progress.py --require-shader-source "$RUNNER_TEMP/progress"
|
|
site=$(gh api "repos/$GH_REPO/pages" --jq .html_url)
|
|
if curl -fsSL "${site%/}/progress.json?$GITHUB_SHA" -o "$RUNNER_TEMP/deployed.json" &&
|
|
cmp -s "$RUNNER_TEMP/deployed.json" "$RUNNER_TEMP/progress/progress.json"; then
|
|
echo "Progress unchanged, Pages not deployed" >> "$GITHUB_STEP_SUMMARY"
|
|
else
|
|
gh workflow run pages.yml --ref main
|
|
echo "Progress changed, Pages deployment dispatched" >> "$GITHUB_STEP_SUMMARY"
|
|
fi
|