4 Commits
Author SHA1 Message Date
swordpdfandClaude Opus 5.5 cb951d5ddd CI on lavapipe, the scene regression check, docs for both PS5 drivers (AI-assisted)
- .github/workflows/ci.yml: on every push and pull request, fg-test's
  scenes on Mesa's lavapipe against tools/check-scenes.py's limits (about
  1.5x today's scores, plus at most a fifth of a plain blend's error, plus
  BGRA = RGBA), the pacer's test with GCC and Clang -Werror, the example
  compiled, and the shaders rebuilt with glslang 16.2.0 (pinned, cached)
  and compared with src/framegen/fg_shaders.inc.
- README: what the template gives, both emulators it runs in, the quick
  start on lavapipe, the integration with the pacer, the PS5 notes.
- docs/integration.md: the pacer, the frames' format, your own loader,
  RADV and ps5vk, the 120 Hz param.json (attribute3 524352) and
  PS5VK_PARAM_JSON, ps5vk's binding numbers.
- docs/testing.md: what CI runs and how to run it locally, the baseline
  scores on SwiftShader and lavapipe.
- LICENSE.md: copyright swordpdf; .gitignore: *.pyc.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DaNprJCmpBhrkpzRHVPLXM
2026-10-08 22:31:15 +03:00
swordpdfandClaude Opus 5.5 99edde64ca Review fixes: barriers, resets, the latency hold's limits (AI-assisted)
interpolate_next() makes the first frame's still history and quad motions
visible to its compute reads; the quads' motions are cleared on a reset and a
scene change; the refinement scores an off-screen sample as the candidates
do; the GPU timer's optical flow sum is reset with the rest. Docs and the
example: no frame limit counts as tight, the user's own second limit is
taken in, the multiplier is a most (as many frames as the game's interval
has refreshes, less one).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DaNprJCmpBhrkpzRHVPLXM
2026-10-07 08:36:33 +03:00
swordpdfandClaude Opus 5.5 3cdea16128 Multi-frame generation: 2 or 3 frames between two of the game's (AI-assisted)
set_generated(n) and interpolate_next(cmd, i): the interpolation at any
moment t (the previous frame at x + 2t v, the current one at x - 2(1 - t) v,
the blend weighted to the nearer frame), the first frame of a group keeping
the still history and the quads' motions; fg-test --gen N; the example and
the docs (the multiplier, its input lag, the swapchain's images).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DaNprJCmpBhrkpzRHVPLXM
2026-10-07 07:57:06 +03:00
swordpdfandClaude Opus 5.5 44fc6bf9e1 ps5-framegen: frame generation for PS5 homebrew on Vulkan (AI-assisted)
RPCS3-PS5's frame generation (m74) on its own, as a template: FSR3's optical
flow (FidelityFX SDK 2.3.0, MIT, compiled with glslang) and a candidate-based
interpolation that needs no motion vectors or depth; the Vulkan host class,
the SwiftShader test harness with synthetic and real-frame tests, a present
loop example, and the docs (algorithm, integration with pacing and latency,
testing and results).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DaNprJCmpBhrkpzRHVPLXM
2026-10-07 07:44:49 +03:00