Repository navigation
Conversation
Progress report (b11c7bf → e38fcc3)📈 System libraries: 26.71% (+0.0039%, +2 implemented, +2 declared, -2 removed functions) ✅ 2 implemented
🆕 2 declared as stubs
🗑️ 2 removed
Changed libraries (implemented exports)
|
10cef25 to
7a077b8
Compare
|
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
|
@MarcZX10 The wrappers and the native comparison cases look right, but |
|
Tested head
AI-assisted: yes (Claude Code); results above were run on this machine. |
0d93517 to
ed644ce
Compare
|
Head moved to |
|
@MarcZX10 The two LCD wrapper declarations now use the canonical public API, clearing that part of the earlier ask. The same head also renames two helpers in libSceFreeTypeOt/Export.cpp:109-117 to sceFreeTypeOtLibrarySetLcdFilter_nid_no_patch and sceFreeTypeOtLibrarySetLcdFilterWeights_nid_no_patch, but neither name has a public declaration. Could you declare each once with its existing int() import-resolution signature in the shared API reached by libSceFreeTypeOt.hpp and include that header in Export.cpp? Please keep their NIDs and throwing placeholder behaviour unchanged, then run public_headers, public_headers_compile_* and guest_freetype_lcd_filter on the resulting head. |
ed644ce to
315b087
Compare
|
Declared |
|
Windows run of this head
AI-assisted: yes (Claude Code) |
315b087 to
93c0a5e
Compare
|
Thanks, declaring both helpers once in |
93c0a5e to
cb9e37c
Compare
|
Fixed on cb9e37c (rebased onto current main): |
|
Windows result for head Host: Windows 11 26300, Intel i7-12700K, WinLibs GCC 15.2.0 (x86_64-ucrt-posix-seh, r6), Release, The tree also carried the open PRs #11172, #10780, #10729, #11614, #10631, #11547, #11584, #11572, all merged cleanly, so the run is a joint one; the tests of this PR are AI-assisted: yes (Claude Code), the runs and the numbers above are from this machine. |
cb9e37c to
f1984cb
Compare
|
@MarcZX10 the code and tests are unchanged since the last review and the earlier ask is met, but the last restack left the debt file with two overlapping entries. At f1984cb the first lines of docs/dev/debt/libSceFreeTypeOt.md are:
The same eight NIDs are therefore described twice, with different text, in one file. Please fold the two LCD names into main's existing entry (add "FT_Library_SetLcdFilter and FT_Library_SetLcdFilterWeights" to its list) and drop the new duplicate entry, so each NID is listed once. Nothing else changes. |
f1984cb to
a8f5479
Compare
|
@MarcZX10 the existing debt-consolidation request in #10582 (comment) still applies on a8f5479. Please fold FT_Library_SetLcdFilter and FT_Library_SetLcdFilterWeights into main's current identified-NID entry and remove the separate overlapping entry, preserving the other names already on main. One numerical update to the earlier count advice: main 52c09d5 has 124 Unknown export definitions now, and this exact branch has 122. Where this PR edits the count entry, please leave one entry matching the actual source count rather than retaining the old 129-based value. The adapter behavior and prior header/policy fixes can stay unchanged. These counts should be re-derived after any further restack. |
MarcZX10
left a comment
There was a problem hiding this comment.
Reviewed — debt-file requests still open at this head
The duplicate debt entry and the 129 count the reviewer asked to change are both still in the file at a8f5479.
What I ran
- Live head a8f5479 (matches batch).
- gh pr view 10582 (headRefOid, mergeable, statusCheckRollup); gh api GET of comments and reviews newer than 2026-10-27T10:47:16Z.
- git show of docs/dev/debt/libSceFreeTypeOt.md at the head; git show of core/libs/prx/libSceFreeTypeOt/Export.cpp at the head, with a grep count.
- Nothing was built or run.
Results
| Check | Result | Note |
|---|---|---|
| eligibility, conventions, labels, report | SUCCESS | hosted |
| windows | SUCCESS | hosted |
| relinker, relinker-asan, register-context, write-watch | SKIPPED | hosted |
| linux | SKIPPED | hosted |
| merge state | CLEAN | hosted |
Findings
- oneandonlydean (2026-10-28T14:57:41Z, and 2026-10-29T05:51:29Z): fold FT_Library_SetLcdFilter and FT_Library_SetLcdFilterWeights into main's identified-NID entry and remove the duplicate.
- Not done. Debt doc line 3 is a separate entry that now lists the LCD names. Line 4 is main's entry, with the eight shared names and the FT_Stroker names, and no LCD names. The eight shared names appear twice.
- Verified by reading.
- Count (2026-10-29T05:51:29Z): asks that the count match the source. Line 5 still says 129. Export.cpp has 122 sceFreeTypeOtUnknown_* definitions at this head (grep count of definition lines). Not done.
Sources
AnyPS5/docs/dev/debt/libSceFreeTypeOt.md
Lines 3 to 5 in a8f5479
AnyPS5/core/libs/prx/libSceFreeTypeOt/Export.cpp
Lines 1 to 10 in a8f5479
Not verified
- The count of 122 is from a grep of the file; not compared with main 52c09d5.
- No build.
…ents after them An Unknown export whose NID is a symbol of the tree is rejected by the unknown-nid convention check, so the alias takes the symbol's name, as the already identified ones do.
…c header The public header audit wants one declaration per export in the library header, so Api.hpp declares them with their definitions' signatures and the tests include it instead of their own extern blocks.
…ublic API The two helpers keep their NIDs, int() signature and throwing bodies; Export.cpp includes the header that declares them.
…elpers to the identified-NID entry The rebase had moved the identified-NID entry above the Unknown function info heading and brought back the count line main replaced with the import-resolution helpers entry.
a8f5479 to
e38fcc3
Compare
|
Hi
|
What
Adds
FT_Library_SetLcdFilterandFT_Library_SetLcdFilterWeightsto libSceFreeType, forwarding to the bundled FreeType 2.13.3 through the guest library. The bundled build hasFT_CONFIG_OPTION_SUBPIXEL_RENDERINGoff, so both returnFT_Err_Unimplemented_Featureas in ftlcdfil.c and no filter takes effect. The five weights are read from the guest buffer throughGuestArenaPrepareHostRead_nid_no_patchand copied before the call. Whether the console library enables subpixel rendering and its signatures are unverified; the debt entry says so.Commits: for each function in turn (
FT_Library_SetLcdFilter, thenFT_Library_SetLcdFilterWeights), the implementation, its test and its debt entry.Tested
Linux x86-64, GCC, full CMake build (Ninja, Release).
guest_freetype_lcd_filtercompares the return code of each call with the native API for every filter value includingFT_LCD_FILTER_MAX,-1and99, for valid and null weights, and for a null library. The host CPU (Xeon E5-1620 v2) fails the startup CPU-feature gate, so I ran the test with that check disabled in a local, uncommitted edit; it exits 0.tools/check_conventions.pyandgit diff --checkpass. No title or GPU involved.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)