chrg6
79b36044b0
Compute texture layout sizes in 64 bits, so a garbled descriptor cannot wrap to a small size.
...
nvn_tex.c multiplied a level's width by its samples and its blocks by their bytes in 32 bits, and
nvn_tex_linear_stride did the same: a descriptor with a width past 2^30 (garbled, or not set up yet) wrapped to a small
size, and the texture got a small allocation for a large image. Block counts, row bytes and GOB counts are now 64-bit
(mip, blk, pick_tile and adj_tile take 64-bit sizes), and the linear stride saturates at 2^32 - 1 instead of wrapping.
Real textures lay out as before.
Checked: --probe-nvn-tex gains two cases (an RGBA8 texture 2^30 + 64 texels wide, and its linear stride). Before, the
first failed: 2,048 bytes against 2^35 + 2,048. After, all 135 cases pass, the 40 layout goldens of the original SDK
among them; --probe-nvn shows the same four failures as the baseline.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-11 19:38:18 -05:00
..
2026-11-11 00:39:50 -05:00
2026-11-11 08:18:55 -05:00
2026-11-11 15:09:16 -05:00
2026-11-11 15:09:16 -05:00
2026-11-11 15:09:16 -05:00
2026-11-11 00:39:50 -05:00
2026-11-10 23:16:17 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-11 04:48:36 -05:00
2026-11-10 22:59:02 -05:00
2026-11-09 08:19:19 -05:00
2026-11-07 05:04:40 -05:00
2026-11-07 05:04:40 -05:00
2026-11-10 00:21:31 -05:00
2026-11-07 05:04:40 -05:00
2026-11-07 05:04:40 -05:00
2026-11-10 01:55:30 -05:00
2026-11-10 00:21:31 -05:00
2026-11-11 18:10:38 -05:00
2026-11-11 00:39:50 -05:00
2026-11-11 00:20:22 -05:00
2026-11-10 15:14:25 -05:00
2026-11-11 15:35:25 -05:00
2026-11-11 00:11:41 -05:00
2026-11-09 08:09:25 -05:00
2026-11-07 05:04:38 -05:00
2026-11-11 00:11:41 -05:00
2026-11-11 00:11:41 -05:00
2026-11-11 00:11:41 -05:00
2026-11-11 00:11:41 -05:00
2026-11-11 00:11:41 -05:00
2026-11-11 00:11:41 -05:00
2026-11-11 00:11:41 -05:00
2026-11-11 00:11:41 -05:00
2026-11-11 00:11:41 -05:00
2026-11-11 00:11:41 -05:00
2026-11-11 00:11:41 -05:00
2026-11-11 00:20:22 -05:00
2026-11-07 05:04:40 -05:00
2026-11-11 13:19:24 -05:00
2026-11-11 12:53:59 -05:00
2026-11-08 01:25:12 -05:00
2026-11-09 09:10:36 -05:00
2026-11-11 04:35:30 -05:00
2026-11-11 04:35:30 -05:00
2026-11-07 05:04:38 -05:00
2026-11-09 03:34:46 -05:00
2026-11-10 10:00:18 -05:00
2026-11-07 05:04:39 -05:00
2026-11-07 05:04:40 -05:00
2026-11-09 13:13:43 -05:00
2026-11-09 13:13:43 -05:00
2026-11-11 00:11:41 -05:00
2026-11-11 19:38:18 -05:00
2026-11-11 00:40:20 -05:00
2026-11-11 00:11:41 -05:00
2026-11-11 14:06:16 -05:00
2026-11-09 23:42:12 -05:00
2026-11-11 18:10:38 -05:00
2026-11-08 00:34:29 -05:00
2026-11-09 08:09:26 -05:00
2026-11-11 19:38:17 -05:00
2026-11-07 05:04:38 -05:00
2026-11-11 19:38:18 -05:00
2026-11-11 19:38:18 -05:00
2026-11-07 05:04:38 -05:00
2026-11-11 05:58:42 -05:00
2026-11-10 23:24:12 -05:00
2026-11-11 19:38:18 -05:00
2026-11-07 05:04:40 -05:00
2026-11-09 08:21:07 -05:00
2026-11-09 08:21:07 -05:00
2026-11-09 08:21:07 -05:00
2026-11-10 12:48:50 -05:00
2026-11-10 12:48:50 -05:00
2026-11-09 03:34:46 -05:00
2026-11-07 05:04:38 -05:00
2026-11-09 03:34:46 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-11 19:38:18 -05:00
2026-11-11 02:36:54 -05:00
2026-11-11 00:39:50 -05:00
2026-11-07 05:04:40 -05:00
2026-11-09 21:54:40 -05:00
2026-11-10 23:16:17 -05:00
2026-11-11 00:39:08 -05:00
2026-11-09 20:48:10 -05:00
2026-11-07 05:04:40 -05:00
2026-11-10 10:26:51 -05:00
2026-11-10 10:26:51 -05:00
2026-11-11 06:01:39 -05:00
2026-11-11 04:48:36 -05:00
2026-11-11 15:35:25 -05:00
2026-11-11 00:39:08 -05:00
2026-11-07 09:26:51 -05:00
2026-11-10 23:14:00 -05:00
2026-11-08 15:51:48 -05:00
2026-11-07 05:04:40 -05:00
2026-11-11 05:58:43 -05:00
2026-11-11 19:38:17 -05:00
2026-11-11 05:58:32 -05:00
2026-11-08 15:51:48 -05:00
2026-11-09 08:09:25 -05:00
2026-11-08 15:51:48 -05:00
2026-11-07 05:04:40 -05:00
2026-11-11 02:36:54 -05:00
2026-11-11 00:39:58 -05:00
2026-11-07 05:04:40 -05:00
2026-11-07 18:03:20 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-10 19:51:36 -05:00
2026-11-11 19:38:17 -05:00
2026-11-11 19:38:17 -05:00
2026-11-11 19:38:17 -05:00
2026-11-11 19:38:17 -05:00
2026-11-07 05:04:40 -05:00
2026-11-08 15:51:47 -05:00
2026-11-07 05:04:40 -05:00
2026-11-11 19:38:17 -05:00
2026-11-07 05:04:39 -05:00
2026-11-07 05:04:39 -05:00
2026-11-11 19:38:18 -05:00
2026-11-11 19:38:18 -05:00
2026-11-11 19:38:18 -05:00
2026-11-07 05:04:38 -05:00
2026-11-09 08:54:25 -05:00
2026-11-08 15:51:48 -05:00
2026-11-07 05:04:38 -05:00
2026-11-10 22:59:02 -05:00
2026-11-07 13:31:07 -05:00
2026-11-11 08:04:19 -05:00
2026-11-07 05:04:40 -05:00
2026-11-11 15:09:16 -05:00
2026-11-07 05:04:40 -05:00
2026-11-09 13:13:43 -05:00
2026-11-09 02:40:51 -05:00
2026-11-10 23:24:34 -05:00
2026-11-09 02:40:51 -05:00
2026-11-11 08:04:19 -05:00
2026-11-11 19:38:18 -05:00
2026-11-10 06:35:28 -05:00
2026-11-10 06:35:28 -05:00
2026-11-09 08:20:32 -05:00
2026-11-09 08:20:01 -05:00
2026-11-11 04:36:33 -05:00
2026-11-07 05:04:38 -05:00
2026-11-11 15:09:16 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:40 -05:00
2026-11-11 00:39:08 -05:00
2026-11-09 11:22:38 -05:00
2026-11-10 23:16:17 -05:00
2026-11-10 23:16:17 -05:00
2026-11-11 00:20:22 -05:00
2026-11-09 13:13:43 -05:00
2026-11-09 13:13:43 -05:00
2026-11-09 13:13:43 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:40 -05:00
2026-11-07 05:04:40 -05:00
2026-11-11 18:10:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:40 -05:00
2026-11-07 05:04:38 -05:00
2026-11-11 00:20:22 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:40 -05:00
2026-11-07 05:04:40 -05:00
2026-11-11 12:18:52 -05:00
2026-11-07 05:04:40 -05:00
2026-11-11 15:09:16 -05:00
2026-11-11 15:09:16 -05:00
2026-11-07 05:04:38 -05:00
2026-11-11 15:09:16 -05:00
2026-11-11 15:09:15 -05:00
2026-11-11 07:47:08 -05:00
2026-11-11 04:42:07 -05:00
2026-11-11 04:29:31 -05:00
2026-11-11 00:39:50 -05:00
2026-11-09 03:34:46 -05:00
2026-11-09 03:34:46 -05:00
2026-11-09 21:10:23 -05:00
2026-11-11 19:38:18 -05:00
2026-11-11 15:09:16 -05:00
2026-11-11 15:09:16 -05:00
2026-11-11 15:09:15 -05:00
2026-11-10 23:14:00 -05:00
2026-11-10 06:24:56 -05:00
2026-11-11 15:09:16 -05:00
2026-11-11 04:35:30 -05:00
2026-11-11 08:58:00 -05:00
2026-11-11 19:38:18 -05:00
2026-11-11 15:09:16 -05:00
2026-11-11 04:49:01 -05:00
2026-11-11 15:09:15 -05:00
2026-11-11 15:09:15 -05:00
2026-11-11 15:09:15 -05:00
2026-11-11 05:18:48 -05:00
2026-11-11 15:09:15 -05:00
2026-11-11 05:18:48 -05:00
2026-11-07 05:04:40 -05:00
2026-11-09 03:34:46 -05:00
2026-11-11 06:10:09 -05:00
2026-11-09 03:34:46 -05:00
2026-11-11 15:06:30 -05:00
2026-11-11 08:18:55 -05:00
2026-11-11 15:09:45 -05:00
2026-11-11 05:58:42 -05:00
2026-11-11 05:58:42 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-11 19:38:18 -05:00
2026-11-11 05:58:42 -05:00
2026-11-11 05:58:42 -05:00
2026-11-11 05:25:38 -05:00
2026-11-11 08:58:00 -05:00
2026-11-10 12:14:29 -05:00
2026-11-11 15:09:16 -05:00
2026-11-09 03:34:46 -05:00
2026-11-10 23:27:51 -05:00
2026-11-07 05:04:38 -05:00
2026-11-10 09:13:35 -05:00
2026-11-11 18:12:47 -05:00
2026-11-10 15:20:47 -05:00
2026-11-10 09:12:33 -05:00