Three findings and two corrections, all against the same capture. Corrections first, because one of them invalidates numbers already written down: * **the running screen is build 4, not build 7.** `screen info` defaults to the largest build; the game runs a different one, and the two disagree on sprite sizes (ptlogo1 822x100 vs 919x113 — the capture says 915x115). Every declaration index in the previous entry was against the wrong table. The conclusions survive unchanged; the indices are restated. * **the ship capture does NOT skip these UI draws.** This entry justified a new hook partly on "it requires an f32x3 position stream, which a 2D quad does not have". These quads have one: armed on the title, xenia_ship_capture_01.log holds 1150 records of which 965 are the UI sprite shader. The new hook is still the right tool — frame brackets, submission order, texture identity — but it was justified with a wrong reason. Findings: * **no depth in the geometry.** Attribute 0 is k_32_32_32_FLOAT, so every quad carries a Z, and every Z is 0.00000. Submission order is the whole ordering. * **no ordering field in the bundle.** Every word of build 4's declaration table dumped (committed as evidence): the unknowns are constant. The placement region's per-group lead word — never read before — is 0 for all 24 groups, and the region is followed straight by the RATC child stream, so no table hides behind it. * **the batching rule**, which is what makes the order readable: a draw holds one or two quads, and a two-quad draw always holds two elements adjacent in paint order that share a texture page. The engine flushes when the page changes; it does not sort by page (pages alternate). Reproduced in an independent run — same order, same rects — which is the second observation the CONFIRMED bar asks for.
67 lines
8.6 KiB
Plaintext
67 lines
8.6 KiB
Plaintext
# every draw in SUBMISSION ORDER, undeduplicated, frames 0..3
|
|
# tex dimensions identify the sprite; base is the guest address
|
|
0 prim=8 indices=3 vs=0x72CBCAA6A7984111 ps=0xE59B2B3DA4AA9008 tex[base=0x10000000 1x1 fmt=26]
|
|
--- frame 1 ---
|
|
1 prim=8 indices=3 vs=0x0A6D1DD7767FDF27 ps=0x2E372EA28CC404B7
|
|
vb=0x15058E58 stride=28 attrs=[57@0 38@12 ] fmt0=57 v: [-0.50,-0.50,z=0.00000] [1279.50,-0.50,z=0.00000] [1279.50,719.50,z=0.00000]
|
|
2 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0BA60000 1280x768 fmt=6]
|
|
vb=0x15058EB0 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-1.00,1.00,z=0.00000] [1.00,1.00,z=0.00000] [1.00,-1.00,z=0.00000] [-1.00,-1.00,z=0.00000]
|
|
3 prim=13 indices=8 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x11C30000 1280x768 fmt=6]
|
|
vb=0x15058F10 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [1.38,1.58,z=0.00000] [1.92,1.02,z=0.00000] [1.08,-1.57,z=0.00000] [0.54,-1.02,z=0.00000] [-2.74,1.02,z=0.00000] [-2.30,1.81,z=0.00000] [-0.71,-1.02,z=0.00000] [-1.15,-1.81,z=0.00000]
|
|
4 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0B690000 1280x768 fmt=6]
|
|
vb=0x15058FD0 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-1.00,1.00,z=0.00000] [1.00,1.00,z=0.00000] [1.00,-1.00,z=0.00000] [-1.00,-1.00,z=0.00000]
|
|
5 prim=13 indices=8 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0B2C0000 1280x768 fmt=6]
|
|
vb=0x15059030 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.90,0.68,z=0.00000] [0.87,0.68,z=0.00000] [0.87,-0.10,z=0.00000] [-0.90,-0.10,z=0.00000] [-0.89,0.65,z=0.00000] [0.86,0.65,z=0.00000] [0.86,-0.08,z=0.00000] [-0.89,-0.08,z=0.00000]
|
|
6 prim=13 indices=8 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x11C30000 1280x768 fmt=6]
|
|
vb=0x150590F0 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.71,0.47,z=0.00000] [0.72,0.47,z=0.00000] [0.72,0.15,z=0.00000] [-0.71,0.15,z=0.00000] [0.76,-0.05,z=0.00000] [0.82,-0.05,z=0.00000] [0.82,-0.10,z=0.00000] [0.76,-0.10,z=0.00000]
|
|
7 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0BE30000 1280x768 fmt=6]
|
|
vb=0x150591B0 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.79,0.15,z=0.00000] [0.76,0.15,z=0.00000] [0.76,-0.14,z=0.00000] [-0.79,-0.14,z=0.00000]
|
|
8 prim=13 indices=8 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x11C30000 1280x768 fmt=6]
|
|
vb=0x15059210 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.54,-0.82,z=0.00000] [0.54,-0.82,z=0.00000] [0.54,-0.87,z=0.00000] [-0.54,-0.87,z=0.00000] [-0.40,-0.53,z=0.00000] [0.40,-0.53,z=0.00000] [0.40,-0.67,z=0.00000] [-0.40,-0.67,z=0.00000]
|
|
9 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0B2C0000 1280x768 fmt=6]
|
|
vb=0x150592D0 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.42,-0.49,z=0.00000] [0.42,-0.49,z=0.00000] [0.42,-0.70,z=0.00000] [-0.42,-0.70,z=0.00000]
|
|
10 prim=8 indices=3 vs=0x72CBCAA6A7984111 ps=0xE59B2B3DA4AA9008 tex[base=0x10000000 1x1 fmt=26]
|
|
11 prim=8 indices=3 vs=0x72CBCAA6A7984111 ps=0xE59B2B3DA4AA9008 tex[base=0x10000000 1x1 fmt=26]
|
|
--- frame 2 ---
|
|
12 prim=8 indices=3 vs=0x0A6D1DD7767FDF27 ps=0x2E372EA28CC404B7
|
|
vb=0x150793D8 stride=28 attrs=[57@0 38@12 ] fmt0=57 v: [-0.50,-0.50,z=0.00000] [1279.50,-0.50,z=0.00000] [1279.50,719.50,z=0.00000]
|
|
13 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0BA60000 1280x768 fmt=6]
|
|
vb=0x15079430 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-1.00,1.00,z=0.00000] [1.00,1.00,z=0.00000] [1.00,-1.00,z=0.00000] [-1.00,-1.00,z=0.00000]
|
|
14 prim=13 indices=8 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x11C30000 1280x768 fmt=6]
|
|
vb=0x15079490 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [1.39,1.58,z=0.00000] [1.93,1.02,z=0.00000] [1.08,-1.57,z=0.00000] [0.54,-1.02,z=0.00000] [-2.75,1.02,z=0.00000] [-2.31,1.81,z=0.00000] [-0.71,-1.02,z=0.00000] [-1.15,-1.81,z=0.00000]
|
|
15 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0B690000 1280x768 fmt=6]
|
|
vb=0x15079550 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-1.00,1.00,z=0.00000] [1.00,1.00,z=0.00000] [1.00,-1.00,z=0.00000] [-1.00,-1.00,z=0.00000]
|
|
16 prim=13 indices=8 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0B2C0000 1280x768 fmt=6]
|
|
vb=0x150795B0 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.90,0.68,z=0.00000] [0.87,0.68,z=0.00000] [0.87,-0.10,z=0.00000] [-0.90,-0.10,z=0.00000] [-0.89,0.65,z=0.00000] [0.86,0.65,z=0.00000] [0.86,-0.08,z=0.00000] [-0.89,-0.08,z=0.00000]
|
|
17 prim=13 indices=8 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x11C30000 1280x768 fmt=6]
|
|
vb=0x15079670 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.71,0.47,z=0.00000] [0.72,0.47,z=0.00000] [0.72,0.15,z=0.00000] [-0.71,0.15,z=0.00000] [0.76,-0.05,z=0.00000] [0.82,-0.05,z=0.00000] [0.82,-0.10,z=0.00000] [0.76,-0.10,z=0.00000]
|
|
18 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0BE30000 1280x768 fmt=6]
|
|
vb=0x15079730 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.79,0.15,z=0.00000] [0.76,0.15,z=0.00000] [0.76,-0.14,z=0.00000] [-0.79,-0.14,z=0.00000]
|
|
19 prim=13 indices=8 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x11C30000 1280x768 fmt=6]
|
|
vb=0x15079790 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.54,-0.82,z=0.00000] [0.54,-0.82,z=0.00000] [0.54,-0.87,z=0.00000] [-0.54,-0.87,z=0.00000] [-0.40,-0.53,z=0.00000] [0.40,-0.53,z=0.00000] [0.40,-0.67,z=0.00000] [-0.40,-0.67,z=0.00000]
|
|
20 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0B2C0000 1280x768 fmt=6]
|
|
vb=0x15079850 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.42,-0.49,z=0.00000] [0.42,-0.49,z=0.00000] [0.42,-0.70,z=0.00000] [-0.42,-0.70,z=0.00000]
|
|
21 prim=8 indices=3 vs=0x72CBCAA6A7984111 ps=0xE59B2B3DA4AA9008 tex[base=0x10000000 1x1 fmt=26]
|
|
22 prim=8 indices=3 vs=0x72CBCAA6A7984111 ps=0xE59B2B3DA4AA9008 tex[base=0x10000000 1x1 fmt=26]
|
|
--- frame 3 ---
|
|
23 prim=8 indices=3 vs=0x0A6D1DD7767FDF27 ps=0x2E372EA28CC404B7
|
|
vb=0x15099958 stride=28 attrs=[57@0 38@12 ] fmt0=57 v: [-0.50,-0.50,z=0.00000] [1279.50,-0.50,z=0.00000] [1279.50,719.50,z=0.00000]
|
|
24 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0BA60000 1280x768 fmt=6]
|
|
vb=0x150999B0 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-1.00,1.00,z=0.00000] [1.00,1.00,z=0.00000] [1.00,-1.00,z=0.00000] [-1.00,-1.00,z=0.00000]
|
|
25 prim=13 indices=8 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x11C30000 1280x768 fmt=6]
|
|
vb=0x15099A10 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [1.39,1.58,z=0.00000] [1.93,1.02,z=0.00000] [1.09,-1.57,z=0.00000] [0.55,-1.02,z=0.00000] [-2.75,1.02,z=0.00000] [-2.31,1.81,z=0.00000] [-0.72,-1.02,z=0.00000] [-1.16,-1.81,z=0.00000]
|
|
26 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0B690000 1280x768 fmt=6]
|
|
vb=0x15099AD0 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-1.00,1.00,z=0.00000] [1.00,1.00,z=0.00000] [1.00,-1.00,z=0.00000] [-1.00,-1.00,z=0.00000]
|
|
27 prim=13 indices=8 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0B2C0000 1280x768 fmt=6]
|
|
vb=0x15099B30 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.90,0.68,z=0.00000] [0.87,0.68,z=0.00000] [0.87,-0.10,z=0.00000] [-0.90,-0.10,z=0.00000] [-0.89,0.65,z=0.00000] [0.86,0.65,z=0.00000] [0.86,-0.08,z=0.00000] [-0.89,-0.08,z=0.00000]
|
|
28 prim=13 indices=8 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x11C30000 1280x768 fmt=6]
|
|
vb=0x15099BF0 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.71,0.47,z=0.00000] [0.72,0.47,z=0.00000] [0.72,0.15,z=0.00000] [-0.71,0.15,z=0.00000] [0.76,-0.05,z=0.00000] [0.82,-0.05,z=0.00000] [0.82,-0.10,z=0.00000] [0.76,-0.10,z=0.00000]
|
|
29 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0BE30000 1280x768 fmt=6]
|
|
vb=0x15099CB0 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.79,0.15,z=0.00000] [0.76,0.15,z=0.00000] [0.76,-0.14,z=0.00000] [-0.79,-0.14,z=0.00000]
|
|
30 prim=13 indices=8 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x11C30000 1280x768 fmt=6]
|
|
vb=0x15099D10 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.54,-0.82,z=0.00000] [0.54,-0.82,z=0.00000] [0.54,-0.87,z=0.00000] [-0.54,-0.87,z=0.00000] [-0.40,-0.53,z=0.00000] [0.40,-0.53,z=0.00000] [0.40,-0.67,z=0.00000] [-0.40,-0.67,z=0.00000]
|
|
31 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0B2C0000 1280x768 fmt=6]
|
|
vb=0x15099DD0 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.42,-0.49,z=0.00000] [0.42,-0.49,z=0.00000] [0.42,-0.70,z=0.00000] [-0.42,-0.70,z=0.00000]
|
|
32 prim=8 indices=3 vs=0x72CBCAA6A7984111 ps=0xE59B2B3DA4AA9008 tex[base=0x10000000 1x1 fmt=26]
|
|
33 prim=8 indices=3 vs=0x72CBCAA6A7984111 ps=0xE59B2B3DA4AA9008 tex[base=0x10000000 1x1 fmt=26]
|