Repository navigation
Conversation
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
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.
|
|
I opened #6485 for a separate touch-contact identity bug. The changes meet at the two fresh-sample I propose #6485 first, after its shared Windows build prerequisite #6452, then rebasing this timestamp change while retaining both I manually composed this PR at Would this integration order work for you? AI-assisted: yes (Codex). |
|
I agree with the proposed order if the touch-ID change is reopened or resubmitted: #6452, then the touch-contact fix, then #6337 rebased to preserve both the captured touch IDs and Your four-test Linux composition result is useful evidence; I have not independently repeated that touch-ID combination or claimed a combined Windows result. |
|
Temporarily closing to stay within the 20-open-PR author cap while submitting a verified Cocoon startup fix. This timestamp work is preserved at 279fee8 on JJenkx/AnyPS5 branch fix/pad-read-timestamps-upstream; it is not withdrawn on technical grounds. The ordering notes already in the description remain applicable when a slot is available. |
279fee8 to
05878ce
Compare
05878ce to
90b204c
Compare
90b204c to
554b813
Compare
554b813 to
3ca580f
Compare
3ca580f to
bb56f95
Compare
Current state and an empty-queue read reused the last input-change timestamp while reporting a fresh sample. Timestamp those samples at the read, preserving capture timestamps of queued input. Add a held-state regression covering both APIs and queued chronology. Full integration build, guest_pad and patched_libraries pass; the new regression fails before the change. Sample-time meaning follows device-tested PS5 input research bda3543a; host sampling cadence is still approximate and documented.
bb56f95 to
bdd7a52
Compare
|
Author of #7881 here — confirming agreement with the coordination notes. I ran a test rebase combining both branches locally; the joint test suite passes 100% (including |
|
Thanks for confirming the merge order and reporting the joint 15-test run. I have linked your result in the description and kept it attributed to you. Fresh samples must use I also reviewed the new #9878 overlap: it adds special-port handling, while #6337 only changes the two |
What
Fresh
scePadReadStatesamples and the empty-queue fallback ofscePadReadreuse the timestamp of the last input change. Holding a button or stick therefore returns a frozen timestamp across later reads. Stamp these newly generated samples with the current process time; queued samples retain their capture timestamps and order.Two production lines change. The regression checks advancing timestamps with unchanged buttons/sticks in both paths and verifies that draining the queued sample retains its earlier capture time. Existing latched presses, trigger values and latch reset are preserved. The refresh retains merged #8138 touchpad resolution changes and its controller regressions, including both
<cstdio>and<cstring>in the fixture and both functional debt entries. This does not implement hardware sampling cadence or idle sample batching; those limits remain in the library debt file.Based on main
a6646f8464140180351e4c08694dccdd55b2814d, headbdd7a52c1b3b3bb237f15c3a019bd03a8f7b7a64, with two linear topic commits and no merge commits. A local merge-tree check against fetched main8580e7e214ed44e7c5144565e1a278faf01fc5a7is clean; the focused test results below belong to the stated base and head.Open overlap review (2026-10-22): #7881 rewrites both paths for per-port state. Either merge order must keep current-time timestamps for fresh samples and capture-time timestamps for queued entries. Author coordination. The #7881 author reports a local combination passing all 15 pad/user-service tests, including
CheckHeldSampleTimes; I have not independently repeated that combined run. #9878 adds disconnected special-port handling and does not change either timestamp site inPadState.cpp. ItsCheckSpecialPorttest and this PR'sCheckHeldSampleTimesare inserted at the same position inGuestPad.cpp; a three-way fixture merge at headsbdd7a52cand7678df54conflicts there. Resolve by retaining both function definitions and both calls; neither replaces the other. This is a static overlap review, not a combined build/runtime result. Neither PR is a code dependency. #9770, which included the sameReadStatecorrection, was closed without merging as an accidental fork sync; its implementation is not a dependency.Tested
Linux x86-64, GCC 16.2.1, Ryzen 9 7950X, exact head above:
guest_pad_tests.SDL_VIDEODRIVER=dummy ctest --test-dir build -R '^guest_pad$' -V --timeout 60 --repeat until-fail:3: all three runs pass, no skips. The fixture covers held-input timestamps, captured queue timestamps and the existing touchpad/latch regressions.PadState.cppwith the base revision, rebuilt, and reran the fixture. It failed atscePadReadState returned a stale timestamp for held input. Restoring the candidate source, rebuilding and rerunning passed. Source is clean and still at the tested head.python3 tools/check_conventions.py --base a6646f8464140180351e4c08694dccdd55b2814dandgit diff --check: passed during the linear rebase review.Earlier revisions had broader controller/library checks and independent negative controls for both production lines; those are historical evidence, not tests of this refreshed head. No native game, Windows runtime, full runtime suite, GPU or performance result is claimed for this head.
Pinned validation logs and negative control, SHA-256
264ef40273a4e022f4409e01b6c8c9e02106e6c3896c924b43fedb988ce25686.The touch-ID ordering agreement in the review remains applicable if #6485 is reopened or resubmitted: merge its prerequisite and touch-ID change first, then retain both captured touch IDs and
nowfor fresh samples. That closed PR is not a current code dependency; queued samples retain their captured IDs and times.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)