chrg6
86e6d62d35
Add a list of what an upscaler lets go of, released once the GPU is past it, and its unit check.
...
runtime/vk_up_defer.h holds, per owner, a DLSS feature, an FSR context or an image frame generation can still read,
each with the timeline value of the last submission that named it and an optional present count. upd_take releases,
in the order they were put, the entries whose value the GPU has reached and whose present count has passed; nothing
in it waits or locks, so the owner checks at its own calls on the thread that makes its other upscaler calls. It is
the piece the next commits use to take the upscalers' device-idle waits off the replaying thread: those waits stall
the present's flip, the completion thread and upload submits with the queue lock held, at every pause-screen size,
reload, window size or mode change. Nothing uses it yet.
tests/up_defer_check.py builds tests/up_defer_check.c with the header as C and as C++ (vk_ffx.cpp and vk_ffx4.cpp
include it) with -Wall -Wextra -Werror and checks both gates, the order, a full list, a null handle and a release that
puts. It passed, and failed with each of three faults put into a copy of the header.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-13 20:13:01 -05:00
..
2026-11-08 15:51:48 -05:00
2026-11-10 23:16:17 -05:00
2026-11-10 23:16:17 -05:00
2026-11-13 18:41:40 -05:00
2026-11-13 18:41:40 -05:00
2026-11-10 22:59:02 -05:00
2026-11-09 08:19:19 -05:00
2026-11-13 18:41:46 -05:00
2026-11-12 15:17:48 -05:00
2026-11-12 22:24:22 -05:00
2026-11-12 20:03:12 -05:00
2026-11-11 04:42:07 -05:00
2026-11-11 04:42:07 -05:00
2026-11-13 18:41:45 -05:00
2026-11-13 18:41:46 -05:00
2026-11-13 18:41:45 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 18:42:34 -05:00
2026-11-13 18:42:34 -05:00
2026-11-13 18:42:10 -05:00
2026-11-13 18:43:30 -05:00
2026-11-13 18:43:30 -05:00
2026-11-13 18:41:45 -05:00
2026-11-13 18:41:45 -05:00
2026-11-13 07:55:56 -05:00
2026-11-13 18:41:46 -05:00
2026-11-13 18:43:23 -05:00
2026-11-13 18:43:23 -05:00
2026-11-11 04:35:30 -05:00
2026-11-13 20:12:49 -05:00
2026-11-13 20:12:26 -05:00
2026-11-13 20:12:50 -05:00
2026-11-09 08:21:07 -05:00
2026-11-09 08:21:07 -05:00
2026-11-13 18:41:40 -05:00
2026-11-13 18:41:40 -05:00
2026-11-13 18:41:45 -05:00
2026-11-12 14:57:13 -05:00
2026-11-13 18:46:50 -05:00
2026-11-13 18:43:23 -05:00
2026-11-13 18:43:23 -05:00
2026-11-13 20:12:25 -05:00
2026-11-13 20:12:25 -05:00
2026-11-11 05:22:56 -05:00
2026-11-12 12:07:19 -05:00
2026-11-12 12:07:19 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-12 15:16:30 -05:00
2026-11-12 15:16:30 -05:00
2026-11-13 18:43:23 -05:00
2026-11-13 20:12:26 -05:00
2026-11-13 07:08:49 -05:00
2026-11-13 15:57:52 -05:00
2026-11-13 15:57:52 -05:00
2026-11-13 18:43:23 -05:00
2026-11-11 19:38:18 -05:00
2026-11-13 20:12:50 -05:00
2026-11-13 20:12:50 -05:00
2026-11-13 20:12:50 -05:00
2026-11-12 23:21:17 -05:00
2026-11-10 02:25:14 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 18:42:34 -05:00
2026-11-13 18:43:24 -05:00
2026-11-13 18:41:40 -05:00
2026-11-13 18:41:40 -05:00
2026-11-09 20:51:08 -05:00
2026-11-13 08:36:46 -05:00
2026-11-13 08:36:46 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-08 15:51:48 -05:00
2026-11-13 18:41:46 -05:00
2026-11-13 18:41:46 -05:00
2026-11-07 05:04:40 -05:00
2026-11-13 18:43:30 -05:00
2026-11-13 20:12:50 -05:00
2026-11-13 20:12:50 -05:00
2026-11-13 18:43:23 -05:00
2026-11-13 18:43:23 -05:00
2026-11-12 15:12:51 -05:00
2026-11-07 05:04:40 -05:00
2026-11-09 08:09:26 -05:00
2026-11-13 07:55:56 -05:00
2026-11-13 07:55:56 -05:00
2026-11-13 06:46:31 -05:00
2026-11-13 06:46:31 -05:00
2026-11-11 04:48:36 -05:00
2026-11-11 04:48:36 -05:00
2026-11-13 12:54:24 -05:00
2026-11-13 12:54:24 -05:00
2026-11-07 05:04:38 -05:00
2026-11-11 08:23:56 -05:00
2026-11-10 12:48:50 -05:00
2026-11-10 12:48:50 -05:00
2026-11-13 18:41:46 -05:00
2026-11-13 18:41:45 -05:00
2026-11-07 05:04:38 -05:00
2026-11-13 08:36:46 -05:00
2026-11-13 08:36:46 -05:00
2026-11-07 05:04:38 -05:00
2026-11-11 19:38:18 -05:00
2026-11-12 22:34:22 -05:00
2026-11-12 22:34:22 -05:00
2026-11-13 18:41:45 -05:00
2026-11-13 18:41:39 -05:00
2026-11-12 22:30:46 -05:00
2026-11-11 04:29:31 -05:00
2026-11-11 04:29:31 -05:00
2026-11-12 08:25:42 -05:00
2026-11-10 06:31:27 -05:00
2026-11-12 15:00:27 -05:00
2026-11-10 12:49:10 -05:00
2026-11-12 22:53:00 -05:00
2026-11-11 04:36:33 -05:00
2026-11-11 04:36:33 -05:00
2026-11-09 14:16:19 -05:00
2026-11-10 01:55:30 -05:00
2026-11-07 05:04:40 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 20:12:26 -05:00
2026-11-13 20:12:25 -05:00
2026-11-13 20:12:26 -05:00
2026-11-12 22:28:36 -05:00
2026-11-12 22:28:36 -05:00
2026-11-11 05:25:38 -05:00
2026-11-11 05:25:38 -05:00
2026-11-13 09:08:40 -05:00
2026-11-11 00:11:41 -05:00
2026-11-09 13:13:43 -05:00
2026-11-09 13:13:43 -05:00
2026-11-12 23:21:17 -05:00
2026-11-12 23:21:17 -05:00
2026-11-12 20:03:45 -05:00
2026-11-12 20:03:45 -05:00
2026-11-07 05:04:40 -05:00
2026-11-12 22:57:56 -05:00
2026-11-12 22:54:58 -05:00
2026-11-13 07:55:56 -05:00
2026-11-13 07:55:56 -05:00
2026-11-13 18:43:23 -05:00
2026-11-13 08:23:11 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 12:54:24 -05:00
2026-11-13 12:54:24 -05:00
2026-11-12 15:18:25 -05:00
2026-11-11 00:11:41 -05:00
2026-11-13 18:41:46 -05:00
2026-11-13 18:41:46 -05:00
2026-11-10 12:14:29 -05:00
2026-11-10 12:02:12 -05:00
2026-11-09 08:09:26 -05:00
2026-11-12 22:33:29 -05:00
2026-11-12 22:33:29 -05:00
2026-11-13 08:35:42 -05:00
2026-11-13 08:35:42 -05:00
2026-11-13 15:57:52 -05:00
2026-11-13 00:12:31 -05:00
2026-11-13 00:53:22 -05:00
2026-11-13 00:53:22 -05:00
2026-11-12 15:18:25 -05:00
2026-11-12 15:18:25 -05:00
2026-11-13 20:13:01 -05:00
2026-11-13 20:13:01 -05:00
2026-11-11 05:29:06 -05:00
2026-11-13 18:41:46 -05:00
2026-11-10 09:13:35 -05:00
2026-11-10 09:13:35 -05:00
2026-11-12 07:55:57 -05:00
2026-11-10 15:20:47 -05:00
2026-11-10 15:15:34 -05:00
2026-11-07 05:04:38 -05:00
2026-11-13 18:41:45 -05:00