sylph-decoder
60b05bcd90
re: the game blends in the ENCODED space -- no gamma render target, anywhere
...
The Port asks whether the blend is evaluated on sRGB-encoded values or
linearised and re-encoded. It is answered by one register field I already
log, and the answer is the same on every draw of two full captures.
RB_COLOR_INFO.color_format is k_8_8_8_8 (0) on 2402/2402 splash draws and
33779/33791 draws of the boot-through-title capture; the other 12 are
k_32_FLOAT and k_16_16_FLOAT and are not colour passes. k_8_8_8_8_GAMMA (1)
appears ZERO times, and color_exp_bias is 0 everywhere so nothing stands in
for a gamma either.
The mechanism is Canary's own source, not our inference: k_8_8_8_8_GAMMA is
the ONLY colour format around which a piecewise-linear gamma<->linear
conversion is applied (spirv_shader_translator.h:510 PWLGammaToLinear /
LinearToPWLGamma, render_target_cache.h:720, dxbc_shader_translator_om.cc).
With k_8_8_8_8 there is none, so the blender operates on the stored values
as they are.
So a renderer that linearises before blending and re-encodes after is doing
a different operation -- and the difference is gamma-shaped and exactly zero
on unblended pixels, which is the divergence signature the port reports.
Also renamed my units-per-second pre-registration off the 'h4' prefix: the
Port's BLOCKED.md numbers this blend-space question H4 and two different H4s
in one corpus is how a citation goes wrong.
2026-09-01 17:01:11 +00:00
..
2026-09-01 16:21:17 +00:00
2026-08-30 08:05:43 +00:00
2026-08-30 06:44:49 +00:00
2026-08-30 10:35:27 +00:00
2026-08-27 22:12:58 +00:00
2026-08-24 11:15:34 +00:00
2026-08-27 19:59:20 +00:00
2026-08-27 12:49:22 +00:00
2026-08-28 18:29:39 +00:00
2026-08-30 11:06:18 +00:00
2026-08-30 20:17:23 +00:00
2026-08-28 18:13:10 +00:00
2026-08-30 17:36:10 +00:00
2026-08-31 07:06:07 +00:00
2026-08-31 07:20:12 +00:00
2026-08-31 07:06:07 +00:00
2026-09-01 17:01:11 +00:00
2026-08-29 15:21:49 +00:00
2026-08-29 20:36:15 +00:00
2026-08-29 13:16:02 +00:00
2026-08-26 09:41:46 +00:00
2026-08-27 11:54:36 +00:00
2026-08-27 12:02:13 +00:00
2026-08-30 22:45:33 +00:00
2026-08-26 03:24:15 +00:00
2026-08-28 08:22:36 +00:00
2026-08-30 14:42:29 +00:00
2026-08-31 03:12:59 +00:00
2026-08-31 03:43:25 +00:00
2026-08-31 04:52:19 +00:00
2026-08-31 01:47:29 +00:00
2026-08-29 02:34:16 +00:00
2026-08-29 03:23:40 +00:00
2026-08-29 03:20:24 +00:00
2026-08-28 10:01:53 +00:00
2026-08-29 02:40:53 +00:00
2026-08-30 18:12:21 +00:00
2026-08-30 22:07:24 +00:00
2026-08-30 13:35:56 +00:00
2026-08-30 19:17:03 +00:00
2026-08-30 15:15:42 +00:00
2026-08-30 23:36:42 +00:00
2026-08-31 01:51:03 +00:00
2026-08-30 21:29:01 +00:00
2026-08-29 19:45:17 +00:00
2026-08-29 11:50:32 +00:00
2026-08-30 07:07:21 +00:00
2026-08-30 07:11:12 +00:00
2026-08-30 06:53:16 +00:00
2026-08-30 07:04:05 +00:00
2026-08-31 05:37:43 +00:00
2026-08-30 23:28:40 +00:00
2026-08-30 22:52:26 +00:00
2026-08-28 18:49:19 +00:00
2026-08-29 02:51:32 +00:00
2026-08-27 12:29:30 +00:00
2026-08-30 21:56:45 +00:00
2026-08-31 02:18:06 +00:00
2026-08-30 22:05:03 +00:00
2026-08-27 13:09:07 +00:00
2026-08-26 15:22:32 +00:00
2026-08-26 12:22:40 +00:00
2026-08-27 15:46:31 +00:00
2026-08-25 10:38:18 +00:00
2026-08-26 03:36:23 +00:00
2026-08-31 00:14:23 +00:00
2026-08-30 23:58:12 +00:00
2026-09-01 17:01:11 +00:00
2026-09-01 16:50:52 +00:00
2026-08-30 08:13:50 +00:00
2026-08-30 08:19:03 +00:00
2026-08-26 03:43:31 +00:00
2026-08-26 01:44:49 +00:00
2026-08-27 09:31:01 +00:00
2026-08-27 07:07:35 +00:00
2026-08-27 09:21:04 +00:00
2026-08-26 03:11:38 +00:00
2026-08-27 09:21:04 +00:00
2026-08-27 09:21:04 +00:00
2026-08-27 07:07:35 +00:00
2026-08-27 09:21:04 +00:00
2026-08-27 09:21:04 +00:00
2026-08-31 04:33:06 +00:00
2026-08-30 19:52:15 +00:00
2026-08-28 22:42:00 +00:00
2026-08-29 14:01:39 +00:00
2026-08-29 18:30:29 +00:00
2026-08-31 06:16:09 +00:00
2026-08-27 20:17:10 +00:00
2026-08-26 09:12:36 +00:00
2026-08-30 09:34:42 +00:00
2026-08-30 10:13:14 +00:00
2026-08-30 10:03:52 +00:00
2026-08-30 09:52:13 +00:00
2026-08-30 21:54:32 +00:00
2026-08-31 05:02:19 +00:00
2026-08-31 05:37:43 +00:00
2026-08-26 09:21:00 +00:00
2026-08-30 19:39:25 +00:00
2026-08-27 19:05:28 +00:00
2026-08-29 08:57:56 +00:00
2026-08-28 00:42:46 +00:00
2026-08-28 19:52:02 +00:00
2026-08-30 11:18:18 +00:00
2026-08-29 05:19:44 +00:00
2026-08-30 13:20:41 +00:00
2026-08-26 10:06:23 +00:00
2026-08-29 02:22:01 +00:00
2026-08-29 14:47:19 +00:00
2026-08-29 19:35:29 +00:00
2026-08-30 11:54:43 +00:00
2026-08-31 02:39:46 +00:00
2026-08-25 16:07:26 +00:00
2026-08-25 15:01:24 +00:00
2026-08-30 07:37:49 +00:00
2026-08-29 12:15:22 +00:00
2026-08-29 12:15:22 +00:00
2026-08-28 23:23:55 +00:00
2026-08-30 12:38:18 +00:00
2026-08-29 04:34:21 +00:00
2026-08-29 13:16:02 +00:00
2026-08-27 17:42:28 +00:00
2026-08-27 14:42:20 +00:00
2026-08-30 14:48:30 +00:00
2026-08-30 16:01:13 +00:00
2026-08-30 07:15:45 +00:00
2026-08-29 07:26:56 +00:00
2026-08-29 07:26:56 +00:00
2026-08-29 07:39:09 +00:00
2026-08-29 19:40:23 +00:00
2026-08-30 19:26:00 +00:00
2026-08-30 12:13:46 +00:00
2026-08-30 11:50:07 +00:00
2026-08-29 04:24:40 +00:00
2026-08-30 12:22:44 +00:00
2026-08-28 22:46:44 +00:00
2026-08-28 23:46:54 +00:00
2026-08-27 13:45:35 +00:00
2026-08-28 19:38:09 +00:00
2026-08-28 18:33:58 +00:00
2026-08-29 08:41:42 +00:00
2026-08-30 12:45:33 +00:00
2026-08-30 17:45:43 +00:00
2026-08-30 12:59:58 +00:00
2026-08-29 04:02:34 +00:00
2026-09-01 16:21:17 +00:00
2026-08-29 05:00:54 +00:00
2026-09-01 16:49:08 +00:00
2026-08-28 22:56:17 +00:00
2026-08-30 12:59:29 +00:00
2026-08-26 06:17:07 +00:00
2026-08-27 13:27:19 +00:00
2026-08-24 11:15:34 +00:00
2026-08-25 09:34:58 +00:00
2026-08-31 03:28:05 +00:00
2026-08-31 04:03:32 +00:00
2026-08-31 01:23:28 +00:00
2026-08-30 22:25:04 +00:00
2026-08-31 01:01:19 +00:00
2026-08-31 07:11:09 +00:00
2026-08-31 06:42:05 +00:00
2026-08-30 10:30:49 +00:00
2026-08-30 10:49:48 +00:00
2026-08-29 19:35:29 +00:00
2026-08-29 19:35:29 +00:00
2026-08-30 21:15:48 +00:00
2026-08-29 19:56:34 +00:00
2026-09-01 16:49:08 +00:00
2026-08-28 20:05:27 +00:00
2026-08-30 19:52:15 +00:00
2026-08-30 19:52:15 +00:00
2026-08-27 15:35:09 +00:00
2026-08-31 06:59:11 +00:00
2026-08-31 06:06:30 +00:00
2026-08-31 06:42:05 +00:00
2026-08-29 18:16:20 +00:00
2026-08-27 12:20:03 +00:00
2026-08-27 12:39:50 +00:00
2026-08-24 11:07:33 +00:00
2026-08-26 06:17:07 +00:00
2026-08-30 08:55:47 +00:00
2026-08-30 09:46:08 +00:00
2026-08-30 08:41:22 +00:00
2026-08-30 08:55:47 +00:00
2026-08-29 15:09:40 +00:00
2026-08-29 15:37:46 +00:00
2026-08-29 15:48:35 +00:00
2026-08-25 11:56:00 +00:00
2026-08-25 11:07:37 +00:00
2026-08-25 10:10:14 +00:00
2026-08-25 09:02:48 +00:00
2026-08-27 12:11:03 +00:00
2026-08-28 23:38:37 +00:00