Commit Graph
49 Commits
Author SHA1 Message Date
SandstromPLandClaude Opus 5.5 e699d93a62 fix(tools): stop listing opcodes counted through their variants as uncounted
collect_shaders counted the ISA variants of an opcode but still listed the
opcode itself as decoded but not in AMD's public list when its own name
wasn't there. VAddI32, VSubI32, VSubrevI32 and SCbranchCdbg were counted
through V_ADD_CO_U32, V_SUB_CO_U32, V_SUBREV_CO_U32 and the four
S_CBRANCH_CDBG* instructions, yet the progress page called them not
counted. An opcode is now listed only when neither its name nor any of its
variants is in the list.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-31 00:52:12 +05:30
Adrià 2ac080f49f Merge pull request #12588 from MarcZX10/fix/progress-percent-unit
fix(tools): print the per-library progress change in % like the headline
2026-10-29 23:46:05 +01:00
Adrià fdd1753204 Merge pull request #12602 from xXPBSXx/tools/progress-compare-recursion
fix(tools): report deeply nested progress snapshots as usage errors
2026-10-29 23:37:18 +01:00
Adrià 4a07f0aef4 Merge pull request #12540 from rooklz/test/progress-python39-hard-link
test(tools): create the progress report hard link with os.link for Python 3.9
2026-10-29 21:51:58 +01:00
Dean 5c3f4c4e31 Merge pull request #12492 from StoneDC/fix/b20-progress-duplicate-groups
fix(tools): reject duplicate progress snapshot groups
2026-10-29 23:52:11 +13:00
AdriàandClaude Sonnet 5.5 c76feb5836 test(tools): probe a nesting depth the JSON decoder rejects on any Python
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-29 01:56:27 +01:00
xXPBSXxandClaude Sonnet 5.5 df4aee248b fix(tools): report deeply nested progress snapshots as usage errors
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-29 01:56:17 +01:00
08b5961f1b fix(tools): print the per-library progress change in %
The changed-libraries table of the progress report printed the change in
percentage points (` pp`), while the headline prints it in `%`. Both are
the difference between two percentages, so the table now uses `%` too,
including the small-change path added with the rounding fix (`+0.0006%`,
`+<0.0001%`). Keeps the two decimals, the explicit sign and the `+0.00`
rounding of tiny or negative-zero changes.

The change is moved into `percent_change()`. Tests pin the `%` unit for
the table and the headline, and `docs/dev/PROGRESS.md` describes the
column in the unit of the headline.

Rebased onto main (which now carries #10992's small-change path) and
resolved there: that path also prints `%`.

Co-authored-by: MarcZX10 <[email protected]>
Co-Authored-By: Claude Haiku 5.5 <[email protected]>
2026-10-29 00:27:33 +01:00
Dean f33f8ac235 Merge pull request #10992 from MarcZX10/marc/fix-progress-table-small-delta
fix(tools): show a per-library progress change that rounding would hide
2026-10-29 12:02:48 +13:00
rooklz a03138abf7 test(tools): create the progress report hard link with os.link for Python 3.9 2026-10-28 18:47:29 +00:00
StoneDC 0e5f664969 test(tools): reject mixed-case duplicate progress groups 2026-10-29 01:20:13 +08:00
StoneDC 70d66edb23 fix(tools): reject duplicate progress snapshot groups 2026-10-29 01:18:02 +08:00
MarcZX10 8076937960 test(tools): generate the progress site over two hardlinked reports
progress.json and progress.html are the same file and the other reports exist;
the command has to exit with 2 naming the two files, with no traceback, and every
existing report keeps its bytes.
2026-10-28 08:27:42 +00:00
MarcZX10 d7547811fb test(tools): compare libraries whose counts are floats
A normal change and a change below two decimals both render instead of raising.
2026-10-27 07:07:48 +00:00
MarcZX10 1dca3ddd87 test(tools): cover per-library progress changes below two decimals
Expect +0.0006 pp for libc going from 1340/1351 to 1341/1352, +0.00 pp when only the names change, and -<0.0001 pp instead of +0.00 pp for the large library case, which still never prints -0.00. The libc case fails before the previous commit.
2026-10-27 07:06:55 +00:00
Dean f30d46345e Merge pull request #11523 from StoneDC/fix/progress-counter-validation
fix(tools): validate library counters before progress comparisons
2026-10-27 19:03:13 +13:00
Dean 6988f67406 Merge pull request #10996 from SandstromPL/fix/progress-exported-nid-no-patch
fix(tools): count functions exported with APS5_EXPORT under a _nid_no_patch name
2026-10-27 18:29:57 +13:00
Dean ade24e2f19 Merge pull request #10931 from MarcZX10/marc/fix-progress-small-delta
fix(tools): show a headline progress change that rounding would hide
2026-10-27 14:04:38 +13:00
StoneDC 237f001982 fix(tools): validate library counters before progress comparisons 2026-10-27 01:49:39 +08:00
Dean 30ac6a158a Merge pull request #10549 from LeandroLP23/test/tools-windows-test-time
test(tools): stop test_progress from measuring the checkout in its write-failure test
2026-10-26 20:33:16 +13:00
Adrià 7e5a2c6e3d Merge pull request #9380 from emirplus/fix/progress-compare-utf8-bom
fix(tools): decode snapshots with utf-8-sig and reconfigure streams in progress
2026-10-25 16:16:53 +01:00
SandstromPLandClaude Opus 5.5 0dc254e83f fix(tools): count functions exported with APS5_EXPORT under a _nid_no_patch name
progress.py skips every definition whose name ends in _nid_no_patch or
_nid_no_patch_cut, which are meant to be internal helpers. Some libraries
export such functions with APS5_EXPORT under an explicit NID or name:
libSceAgcVsh (150), libSceNKWebKit (150) and libSceJson2's inventory
(66), all of them calling NotImplemented_nid_no_patch. None of the 366
was counted, so those three libraries showed 151 of 151 functions where
they declare 517, and import_audit, which takes its stub list from the
same scan, reported imports of them as implemented.

A _nid_no_patch definition is now skipped only when no APS5_EXPORT in its
library exports it. The library totals go from 6104 of 12305 to 6104 of
12671 on main.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 18:37:48 +05:30
MarcZX10 bac8b029eb test(tools): cover the progress report headline for changes below two decimals
Add a positive and a reverted change of +0.001 and -0.001 points, a change below four decimals, and a guard that an unchanged ratio still reads +0.0%.
2026-10-25 10:50:24 +00:00
LeandroLP23andClaude Opus 5.5 eb16c4d4e0 test(tools): stop test_progress from measuring the checkout in its write-failure test
test_output_directory_that_cannot_be_written_is_named called progress.main
without a root, so main measured the whole checkout before reaching the
output directory the test checks: 12.8 s of the file's 14.1 s here, and
31 s on windows-latest. It now goes through run_main with
library_snapshot(), like the other progress.main tests in its class;
write_site still runs and fails on the file in place of the directory.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 02:18:36 +01:00
Adrià b930da950d Merge pull request #8377 from Gabrieljr42/feat/progress-library-report
feat(tools): report per-library progress in PR comparisons
2026-10-24 14:01:40 +02:00
emirplus 873f92ea1d fix(tools): decode snapshots with utf-8-sig and reconfigure streams in progress 2026-10-23 16:27:44 +03:00
xXPBSXxandClaude Sonnet 5.5 6eb461aa4d fix(tools): report an output directory that progress.py cannot write
progress.py <output> raised an uncaught OSError with a traceback when the
output path was a file or sat in a directory it could not create. Report it
as a usage error that names the path, like the other bad arguments.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 05:13:56 +02:00
Gabrieljr42 e25647d686 fix(progress): handle snapshots without library counts 2026-10-21 08:33:04 -03:00
Gabrieljr42 11d5efa075 Merge remote-tracking branch 'origin/main' into feat/progress-library-report 2026-10-21 08:32:06 -03:00
Dean 50efb5c405 Merge pull request #8799 from AMRYB/fix/progress-snapshot-validation
fix(tools): validate progress comparison snapshots
2026-10-21 20:49:11 +13:00
Amr Yasser 5cfbae8016 fix(tools): validate progress comparison snapshots 2026-10-21 04:07:51 +03:00
xXPBSXxandClaude Sonnet 5.5 d48181d110 fix(tools): name a --root that is not a source tree in progress
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-21 01:33:25 +02:00
Gabrieljr42 2bea4a3f06 feat(tools): report per-library progress in PR comparisons 2026-10-20 08:45:12 -03:00
xXPBSXxandClaude Sonnet 5.5 e827ddf45e fix(tools): name the unreadable snapshot in progress --compare
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 01:17:14 +02:00
Gabrieljr42 a2392c0246 feat(tools): add a module filter and JSON output to progress.py 2026-10-15 17:04:10 -03:00
GalaxyGamingFRandClaude Opus 5.5 702c330576 fix(progress): do not treat a keyword before :: as a qualifier
`return ::Fail();` and `else ::Fail();` call the global wrapper, but
QUALIFIED took the keyword for a qualifier name and counted the export
as done. The name before `::` must now be an identifier that is not a
keyword, or a template's closing `>`.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_012zyXkUzTZGh3nBwNMtrLaW
2026-10-14 11:00:11 -07:00
GalaxyGamingFRandClaude Opus 5.5 05357cbbf9 fix(progress): ignore member and qualified calls to stub wrappers
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_012zyXkUzTZGh3nBwNMtrLaW
2026-10-14 01:10:10 -07:00
Adrià a56c905df6 Merge pull request #4589 from MiniRML/fix/tools-cut-helper-accounting
fix(tools): exclude cut helpers from NID accounting
2026-10-13 17:24:55 +02:00
MiniRML f37eecfdac fix(progress): ignore C++ raw-string contents 2026-10-13 16:27:51 +02:00
MiniRML 53d10eac9a fix(tools): exclude cut helpers from NID accounting 2026-10-12 09:24:13 -07:00
Winvoker c9038f7d8d fix(progress): match stub calls across whitespace 2026-10-11 15:06:06 +03:00
MarcZX100 05504bb05e fix(tools): retain literals when classifying inert returns 2026-10-11 11:44:32 +00:00
Leandro Soares 90a82da283 feat(tools): mark behaviourally empty bodies in the progress report
Cherry-picked from commit f1be92e95c02be451971fc1a8eec139e738e936d.
2026-10-11 11:44:28 +00:00
Achraf ReyaniandClaude Opus 5.5 ef94a36b90 fix(progress): blank literals and comments in one pass
An apostrophe in a block comment paired with a later character literal on
the same line when literals were blanked before comments, exposing a brace
and ending the body early.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 17:17:40 +09:00
GalaxyGamingFRandClaude Fable 5.1 f3216874c5 fix(progress): ignore braces in literals and comments when scanning bodies
Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-11 17:16:25 +09:00
MarcZX100 02941b8e3f fix(tools): detect non-void stub wrappers 2026-10-10 19:24:18 +00:00
Adrià FranchandClaude 507f5707dc fix(progress): link include-shared libraries and label empty ones
Co-Authored-By: Claude <[email protected]>
2026-10-10 08:49:58 +02:00
SK Arin 6e951bd0ed fix(progress): exclude library test fixtures from function counts 2026-10-08 17:30:43 +05:30
Sanjaysrinivas efdbbf1a70 fix(progress): report shared-source libraries 2026-10-07 21:40:38 +02:00