Commit Graph

  • e3d8994099 Present thread: swap off the render thread ([video] present_thread) Shokunin 2026-10-06 04:59:00 -07:00
  • d18c3162f2 Test: frame generation GL fixture stubs the HD upload/copy hooks feat/render-frame-gen Shokunin 2026-10-07 14:32:35 -07:00
  • 49c2f31120 Test: frame generation GL fixture stubs the HD texture pack hooks; TCP index Shokunin 2026-10-07 12:56:48 -07:00
  • cb10c49834 Regenerate the OpenBIOS emitter stamp Shokunin 2026-10-07 12:53:17 -07:00
  • f69ce834eb Frame generation on the render thread from recorded draw lists Shokunin 2026-10-06 04:39:10 -07:00
  • fb6ef185a8 Dynamic resolution: shrink the copy/stencil scratch after a step perf/wide-alloc-level Shokunin 2026-10-06 03:50:20 -07:00
  • 5d5c60657d Dynamic resolution: allocate the hr surface at the current level too Shokunin 2026-10-06 03:47:28 -07:00
  • 5488489273 Dynamic resolution: allocate native-wide surfaces at the current level Shokunin 2026-10-06 03:25:41 -07:00
  • 966be30a53 Docs: dynamic resolution on the render thread feat/render-target-dynres Shokunin 2026-10-06 02:45:44 -07:00
  • b24ce9d3ab Dynamic resolution on the render thread: replay recorded steps in every build; GL equivalence test steps the level Shokunin 2026-10-06 02:44:54 -07:00
  • 281b451ef7 Render-thread dynres: cut the soft hold tails to half a second Shokunin 2026-10-06 02:23:17 -07:00
  • 6b579a3c46 Render-thread frame cost: GL_TIME_ELAPSED (timestamps read 0 on macOS); frame_perf stands aside Shokunin 2026-10-06 02:18:12 -07:00
  • c1aacbf2b9 Dynamic resolution on the render thread: recorded steps, per-frame render cost, render-thread controller Shokunin 2026-10-06 02:14:38 -07:00
  • 961caac5cb Test: render thread GL fixture stubs the HD upload/copy hooks feat/render-thread Shokunin 2026-10-07 14:29:32 -07:00
  • 9e8f0170a3 Test: render thread GL fixture stubs the HD texture pack hooks Shokunin 2026-10-07 12:51:43 -07:00
  • c0bcb35ab8 Regenerate the OpenBIOS emitter stamp Shokunin 2026-10-07 12:50:16 -07:00
  • dde7b34f95 Docs: the render thread builds and its tests run on Windows (MinGW) Shokunin 2026-10-06 02:45:45 -07:00
  • 779724c427 tests: build and run the render thread tests on Windows (MinGW) Shokunin 2026-10-06 02:37:08 -07:00
  • ac04b5311e Render thread: no direct GL call while recording, even for empty uploads Shokunin 2026-10-06 01:49:58 -07:00
  • 91e4e82be5 Docs: queued debug captures, ensure_cpu on the render thread, line refs Shokunin 2026-10-06 01:48:49 -07:00
  • f9c679e590 Render thread: queue the headless presented-image capture Shokunin 2026-10-06 01:33:42 -07:00
  • 23270e62a8 Test: present-skip guard follows the overlay accessor Shokunin 2026-10-06 01:23:40 -07:00
  • 003e1c44b6 Docs: render thread QoS note Shokunin 2026-10-06 01:08:47 -07:00
  • e943e28d29 Render thread: user-interactive QoS on macOS Shokunin 2026-10-06 01:06:54 -07:00
  • 186ceca244 Docs: render thread design, sync points, interoperation, tests Shokunin 2026-10-06 00:51:31 -07:00
  • 7d7dabefb9 Render thread: never skip two presents in a row Shokunin 2026-10-06 00:48:50 -07:00
  • 949530623b Render thread: skip a present only when two newer frames wait Shokunin 2026-10-06 00:47:32 -07:00
  • 18c7365c1c OpenGL render thread: fit_wide_aspect is not a sync point Shokunin 2026-10-06 00:39:04 -07:00
  • cb36c4752b Test: render thread on vs off on a real OpenGL context Shokunin 2026-10-06 00:24:09 -07:00
  • aab7c9e6e5 Frontend: [video] render_thread option, vblank boundary, render_thread command Shokunin 2026-10-06 00:24:09 -07:00
  • 4a2f5a67d2 OpenGL backend: record on the emulation thread, replay on the render thread Shokunin 2026-10-06 00:24:09 -07:00
  • 2abd2200d0 Render thread core: SPSC command ring, frame bound, sync-point hand-off Shokunin 2026-10-05 23:54:58 -07:00
  • 7ced6ff8bb Test: scale guards follow mirrors queued on the full-VRAM surface perf/wide-surface-scale Shokunin 2026-10-07 13:28:01 -07:00
  • 35637627a8 Test: band scissor guard follows the shared wide_band_rows helper Shokunin 2026-10-07 13:26:28 -07:00
  • 0b8453e770 Queue native-wide mirrors on the full-VRAM surface Shokunin 2026-10-05 22:54:08 -07:00
  • 39216d1875 Rebuild only the stale part of native-wide mask stencils Shokunin 2026-10-05 22:54:08 -07:00
  • b15667423b Dynamic resolution: scale guards follow the present wrappers; refuse in windowed mode feat/dynamic-resolution-runtime Shokunin 2026-10-07 13:26:14 -07:00
  • 9a135baf6e Regenerate the OpenBIOS emitter stamp Shokunin 2026-10-07 12:45:21 -07:00
  • 3152a44429 Keep one owned GL swap with dynres telemetry Shokunin 2026-10-02 01:04:17 -07:00
  • e0c6abe5e3 Round-trip dynamic resolution through launcher settings Shokunin 2026-10-02 00:59:55 -07:00
  • 108962248c Add the opt-in dynamic resolution controller, config and telemetry Shokunin 2026-10-01 14:17:49 -07:00
  • c5d945b0e1 Change the GL internal scale at run time (opt-in) Shokunin 2026-10-01 14:06:41 -07:00
  • 183ec41d9b Regenerate the OpenBIOS emitter stamp Shokunin 2026-10-07 12:54:07 -07:00
  • 7006855de8 Call frame generation "Smooth motion" in user-visible text Shokunin 2026-10-07 00:04:28 -07:00
  • 25b475ea04 Pipeline toggles as player settings and launcher rows Shokunin 2026-10-06 19:30:04 -07:00
  • 3ebb7f39a0 Test: GP0 history guard fixture stubs the frame-generation hooks Shokunin 2026-10-07 12:58:31 -07:00
  • 1a5156d6c9 Test: GPU exec fixtures stub the frame-generation vertex-source hooks Shokunin 2026-10-07 12:56:00 -07:00
  • 1947932cba Frame generation: shared corners are one vertex; no motion rounding Shokunin 2026-10-06 19:56:55 -07:00
  • 83bc766d13 Frame generation: close cracks, skip frames the camera passes through Shokunin 2026-10-06 19:44:34 -07:00
  • 3de80c2f20 Frame generation: in-between frames from an in-between camera Shokunin 2026-10-06 19:28:44 -07:00
  • 89ae676068 Frame generation: plan ceiling for render-thread overload, stalls judged by wait Shokunin 2026-10-06 15:25:02 -07:00
  • 5a8bf242be Frame generation: warm cost estimate, re-probe, guest-paced breaker Shokunin 2026-10-06 15:05:24 -07:00
  • 1d38b0415d Regenerate the OpenBIOS emitter stamp Shokunin 2026-10-07 12:53:49 -07:00
  • 7fc68794a2 Docs: present thread and fast first descent Shokunin 2026-10-06 05:22:26 -07:00
  • 084a7c6839 Present thread: one owned swap call; frame-gen fixture builds on MinGW Shokunin 2026-10-06 05:06:07 -07:00
  • 5349824329 Frame generation: PSX_PRESENT_SHOT_GENERATED captures a generated frame Shokunin 2026-10-06 05:03:23 -07:00
  • 08e43e0430 Dynamic resolution: fast first descent on the render thread Shokunin 2026-10-06 04:59:01 -07:00
  • 85a3d8d6d0 Present thread: swap off the render thread ([video] present_thread) Shokunin 2026-10-06 04:59:00 -07:00
  • 90aca02153 Test: frame generation GL fixture stubs the HD texture pack hooks; TCP index Shokunin 2026-10-07 12:56:48 -07:00
  • 5257286a82 Regenerate the OpenBIOS emitter stamp Shokunin 2026-10-07 12:53:17 -07:00
  • 09bcfdc6ae Frame generation on the render thread from recorded draw lists Shokunin 2026-10-06 04:39:10 -07:00
  • e2b3dce09d Dynamic resolution: shrink the copy/stencil scratch after a step Shokunin 2026-10-06 03:50:20 -07:00
  • 4560540c6d Dynamic resolution: allocate the hr surface at the current level too Shokunin 2026-10-06 03:47:28 -07:00
  • a42eab76ce Dynamic resolution: allocate native-wide surfaces at the current level Shokunin 2026-10-06 03:25:41 -07:00
  • cd964921a3 Docs: dynamic resolution on the render thread Shokunin 2026-10-06 02:45:44 -07:00
  • 3e1949acc1 Dynamic resolution on the render thread: replay recorded steps in every build; GL equivalence test steps the level Shokunin 2026-10-06 02:44:54 -07:00
  • a58661f999 Render-thread dynres: cut the soft hold tails to half a second Shokunin 2026-10-06 02:23:17 -07:00
  • f30f1b0d91 Render-thread frame cost: GL_TIME_ELAPSED (timestamps read 0 on macOS); frame_perf stands aside Shokunin 2026-10-06 02:18:12 -07:00
  • 2a5e53ffbf Dynamic resolution on the render thread: recorded steps, per-frame render cost, render-thread controller Shokunin 2026-10-06 02:14:38 -07:00
  • 1665507fe4 Test: render thread GL fixture stubs the HD texture pack hooks Shokunin 2026-10-07 12:51:43 -07:00
  • d4f64e0e9e Regenerate the OpenBIOS emitter stamp Shokunin 2026-10-07 12:50:16 -07:00
  • 4d5b1c2243 Docs: the render thread builds and its tests run on Windows (MinGW) Shokunin 2026-10-06 02:45:45 -07:00
  • c268f38087 tests: build and run the render thread tests on Windows (MinGW) Shokunin 2026-10-06 02:37:08 -07:00
  • d3552f3bb0 Render thread: no direct GL call while recording, even for empty uploads Shokunin 2026-10-06 01:49:58 -07:00
  • fa92be920d Docs: queued debug captures, ensure_cpu on the render thread, line refs Shokunin 2026-10-06 01:48:49 -07:00
  • e336e8d3e4 Render thread: queue the headless presented-image capture Shokunin 2026-10-06 01:33:42 -07:00
  • 2e4badfc3f Test: present-skip guard follows the overlay accessor Shokunin 2026-10-06 01:23:40 -07:00
  • 824f6bec0b Docs: render thread QoS note Shokunin 2026-10-06 01:08:47 -07:00
  • d0975a6f42 Render thread: user-interactive QoS on macOS Shokunin 2026-10-06 01:06:54 -07:00
  • fc07a15685 Docs: render thread design, sync points, interoperation, tests Shokunin 2026-10-06 00:51:31 -07:00
  • 4dc26a2bb2 Render thread: never skip two presents in a row Shokunin 2026-10-06 00:48:50 -07:00
  • 479cbb789c Render thread: skip a present only when two newer frames wait Shokunin 2026-10-06 00:47:32 -07:00
  • e003ce6480 OpenGL render thread: fit_wide_aspect is not a sync point Shokunin 2026-10-06 00:39:04 -07:00
  • c70ef8484d Test: render thread on vs off on a real OpenGL context Shokunin 2026-10-06 00:24:09 -07:00
  • a998d302ef Frontend: [video] render_thread option, vblank boundary, render_thread command Shokunin 2026-10-06 00:24:09 -07:00
  • 70607b9873 OpenGL backend: record on the emulation thread, replay on the render thread Shokunin 2026-10-06 00:24:09 -07:00
  • eb301961f6 Render thread core: SPSC command ring, frame bound, sync-point hand-off Shokunin 2026-10-05 23:54:58 -07:00
  • 8ff8528de9 Test: scale guards follow mirrors queued on the full-VRAM surface Shokunin 2026-10-07 13:28:01 -07:00
  • ad8002e599 Test: band scissor guard follows the shared wide_band_rows helper Shokunin 2026-10-07 13:26:28 -07:00
  • 69da4a04e3 Queue native-wide mirrors on the full-VRAM surface Shokunin 2026-10-05 22:54:08 -07:00
  • 8eb6ca9f9a Rebuild only the stale part of native-wide mask stencils Shokunin 2026-10-05 22:54:08 -07:00
  • 13e6898886 Dynamic resolution: scale guards follow the present wrappers; refuse in windowed mode Shokunin 2026-10-07 13:26:14 -07:00
  • ed398cc37e Improve DuckStation texture capture and replacement fidelity feat/duckstation-texture-fidelity Matthew Stanley 2026-10-07 13:40:57 -07:00
  • cbf005deef fix(bios): refresh retail emitter stamp after actual regeneration Matthew Stanley 2026-10-07 13:33:51 -07:00
  • fbfc2b8ce3 Regenerate the OpenBIOS emitter stamp Shokunin 2026-10-07 12:54:07 -07:00
  • 9de4f3febd Call frame generation "Smooth motion" in user-visible text Shokunin 2026-10-07 00:04:28 -07:00
  • 1d766efcc3 Pipeline toggles as player settings and launcher rows Shokunin 2026-10-06 19:30:04 -07:00
  • f709e7bc2c Test: GP0 history guard fixture stubs the frame-generation hooks Shokunin 2026-10-07 12:58:31 -07:00
  • 1808288e46 Test: GPU exec fixtures stub the frame-generation vertex-source hooks Shokunin 2026-10-07 12:56:00 -07:00
  • 7b741b10f4 Frame generation: shared corners are one vertex; no motion rounding Shokunin 2026-10-06 19:56:55 -07:00