chrg6
61f08a177d
Try an FSR 3.1 context creation once more after the GPU is past the contexts let go of, instead of failing the run.
...
The review of 09027478 found that FSR 3.1 lost its fallback for a refused creation. Up to 0.10.1, vk_ffx.cpp
context_for waited for the device and destroyed the other render size's or the least recently used context before
create_counted, so their video memory was free for the new one. Since 09027478 they only go into g_dead, and the drain
in vk_upscaler_let_go destroys those whose last upscale the GPU is past. When it is still behind and the library
refuses the new context for want of memory, context_for returned nullptr, vk_ffx_upscale 0, and evaluate's dl_fail
turned DLAA off for the run. DLSS (evaluate) and FSR 4 (context_for) already wait for the GPU to pass what they let go
of and try again.
context_for now does the same when the creation is refused and FSR 3.1's or FSR 4's list of contexts let go of is not
empty: vk_upscaler_gpu_wait (a timeline wait for those submissions, not the device's idle; the device with
upscaler_idle_wait = 1), vk_ffx_dead_take, and a second create_counted when something was destroyed. A line says the
refusal, the wait and the outcome. upscaler_idle_check now also fails when vk_dlaa.c evaluate or vk_ffx.cpp or
vk_ffx4.cpp context_for has no vk_upscaler_gpu_wait (a scratch copy without the retry fails it), and docs/building.md
says so.
Not reproduced before the change (found by review). Checks that passed: vk_ffx.cpp compiles with -Wall -Wextra and no
warning, upscaler_idle_check, tools/check_content.py --staged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-13 20:13:02 -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-13 20:13:02 -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