swung0x48
|
a0f4aa830e
|
[Docs] (P14): close-out bench, README, next-phase draw-packet sketch, DEBTS rows and handoff (rd12 monolith Espryt 69.8 -> 91.1, Magma 45.4 -> 83.8 fps).
|
2026-10-07 21:20:11 -04:00 |
|
swung0x48
|
781a7446c4
|
[CI] (Magma): the run-ahead and cache sync-validation gates turn on submit-time validation, without which a cross-submission hazard is never reported (a broken upload barrier now reds the run-ahead gate).
|
2026-10-07 19:49:33 -04:00 |
|
swung0x48
|
86ab28355c
|
[Fix] (MG_IntegrationTest): the upload-between-draws entries get one private log per case and the sync-validation entry is inproc only, as the split gates require.
|
2026-10-07 19:23:10 -04:00 |
|
swung0x48
|
e058a4507a
|
[Perf] (MG_Remote): the apply loop hands its poll's ring head to the drain, so a woken drain does not poll the GPU-fault verdict twice (Espryt rd12 inproc apply thread 1.34 -> 0.78 ms/frame).
|
2026-10-07 18:21:12 -04:00 |
|
swung0x48
|
ec973fba84
|
[Fix] (Magma): a hang-watch marker slot is reused once its submission's fence completed, not once the host read its event.
|
2026-10-07 17:53:39 -04:00 |
|
swung0x48
|
67f4f311d3
|
[Test] (MG_IntegrationTest): texels uploaded between two in-flight draws of one frame, every arm plus Magma monolith/inproc under submit-time synchronization validation (red on a broken upload barrier).
|
2026-10-07 17:53:38 -04:00 |
|
swung0x48
|
c24b3428d6
|
[Fix] (MG_Remote): the apply drain polls the GPU-fault verdict before a record its last poll could not have seen, so a guilty reset stops the next record again (549a34bb regression; the test now holds that window open).
|
2026-10-07 17:53:37 -04:00 |
|
swung0x48
|
553eb86d31
|
[Perf] (Magma): texture level uploads stop waiting for the GPU to drain; queue order and the upload barrier already order them (rd12 monolith 70.4 -> 83.4, openra 367 -> 745 fps).
|
2026-10-07 16:26:07 -04:00 |
|
swung0x48
|
785df78d77
|
[Perf] (P14): one UBO-ring lookup per draw, split residual copy/stamp loops, one context read for GPU-write marks, Magma slice stamps from the owner's counter (rd12 monolith Espryt 88.8 -> 90.3, Magma 69.8 -> 70.3 fps).
|
2026-10-07 16:06:02 -04:00 |
|
swung0x48
|
0bd0abf652
|
[Docs] (P14): handoff names the dispatched CI runs.
|
2026-10-07 15:25:15 -04:00 |
|
swung0x48
|
ff53ba3b2b
|
[Docs] (P14): checkpoint handoff.
|
2026-10-07 15:24:42 -04:00 |
|
swung0x48
|
94705adccd
|
[Perf] (MG_Pipe): inline process applier, a precomputed residual-fill walk, word-wise uniform spans and memo-answered draw bindings (rd12 monolith Espryt 83.5 -> 88.6, Magma 67.0 -> 69.5 fps).
|
2026-10-07 15:21:58 -04:00 |
|
swung0x48
|
81bdfb1f80
|
[Perf] (Espryt): twin lookups skip the bucket SharedPtr copy and the native-context state is one thread-local block (rd12 monolith 81.0 -> 84.1 fps).
|
2026-10-07 15:21:57 -04:00 |
|
swung0x48
|
4fe2edb6fa
|
[Tools] (P14): profile_p14.sh profiles the tcp arm too.
|
2026-10-07 14:58:23 -04:00 |
|
swung0x48
|
032dcd240e
|
[Perf] (Magma): the wire vertex-input layout is kept on its vertex-elements record and buffer handles resolve through a slot-indexed front.
|
2026-10-07 14:58:22 -04:00 |
|
swung0x48
|
c1497bb83e
|
[Perf] (MG_Pipe): a vertex array keeps its buffer and index bindings on the server, a small uniform change crosses as a span, and unchanged context values skip their record (rd12 split arms +5-10%).
|
2026-10-07 14:58:21 -04:00 |
|
swung0x48
|
114bd70122
|
[Tools] (P14): FCL restore deletes the two properties instead of setting them empty.
|
2026-10-07 13:21:25 -04:00 |
|
swung0x48
|
0158a115de
|
[Perf] (Magma): a wire draw that provably continues the open pass skips the attachment resolve and pass-key walk (rd12 monolith 63.2 -> 65.5, inproc 89.8 -> 92.6 fps).
|
2026-10-07 13:21:24 -04:00 |
|
swung0x48
|
8883e496bd
|
[Perf] (MG_Pipe): the residual fill keeps unchanged object pins and a memoised vertex-buffer set keeps its hash (rd12 Espryt monolith +1%).
|
2026-10-07 13:21:23 -04:00 |
|
swung0x48
|
0cc54748f0
|
[Tools] (P14): layers.py can list the entries into one layer.
|
2026-10-07 12:32:18 -04:00 |
|
swung0x48
|
80dc9d45d9
|
[Perf] (MG_Pipe): a per-VAO memo keeps the emitters' handles and buffer set across draws, and an unchanged context-value record skips its hash (rd12 Espryt monolith +1%).
|
2026-10-07 12:32:05 -04:00 |
|
swung0x48
|
d07ec0255b
|
[Tools] (P14): benchmark runs default to no per-frame glFinish, plus FCL and layer-split helpers.
|
2026-10-07 12:15:12 -04:00 |
|
swung0x48
|
4f4297f347
|
[Tools] (P14): opt-in fps log at swap (debug.mobilegl.fps_log) and a debug.mobilegl.transport override for app-hosted libraries.
|
2026-10-07 12:15:11 -04:00 |
|
swung0x48
|
5788a6023e
|
[Perf] (Magma): a wire draw whose image descriptors cannot have moved rebinds its descriptor set with fresh buffer offsets (rd12 monolith 60.5 -> 63.3, inproc 83.7 -> 89.7 fps).
|
2026-10-07 12:15:10 -04:00 |
|
swung0x48
|
afcf8d96f9
|
[Perf] (Espryt): a VAO twin adopts an unchanged buffer set and element buffer instead of re-emitting them (rd12 monolith 75.2 -> 80.5 fps).
|
2026-10-07 12:15:10 -04:00 |
|
swung0x48
|
e6281b26de
|
[Perf] (Magma): wire texture and buffer lookups get direct-mapped fronts and a continued pass stops re-marking its attachments (rd12 monolith 59.6 -> 60.5 fps).
|
2026-10-07 11:25:02 -04:00 |
|
swung0x48
|
eafe1179b3
|
[Tools] (P14): the profiler records the whole run and the analysis cuts the steady tail.
|
2026-10-07 10:50:39 -04:00 |
|
swung0x48
|
4ef9705ee0
|
[Perf] (Magma): wire draws memoise each unit's sampler and skip rebinding an unchanged pipeline, vertex or index binding (rd12 monolith 57.9 -> 60.3 fps).
|
2026-10-07 10:50:38 -04:00 |
|
swung0x48
|
b556ec3134
|
[Perf] (Espryt): a clean framebuffer attachment skips its per-draw resync behind the unit list's gate (rd12 monolith 74.5 -> 77.0 fps).
|
2026-10-07 10:50:37 -04:00 |
|
swung0x48
|
0b0089e599
|
[Tools] (P14): the sampler and profiler find spawn and tcp server processes by their install path, plus a per-component profile split.
|
2026-10-07 10:27:01 -04:00 |
|
swung0x48
|
8346d80999
|
[Perf] (MG_Pipe): lifetime-id slot lookups get a direct-mapped front and buffer binding slots are indexed (rd12 monolith +1.5%).
|
2026-10-07 10:27:00 -04:00 |
|
swung0x48
|
549a34bb1a
|
[Perf] (MG_Remote): the apply loop asks the GPU-fault verdict every 256 records and at each present, not per record (Espryt rd12 inproc 55.5 -> 60.2 fps).
|
2026-10-07 10:26:59 -04:00 |
|
swung0x48
|
2b0857b016
|
[Tools] (P14): sampler sees server processes and GPU busy every tick, arms can name a second build, and a simpleperf profile helper.
|
2026-10-07 10:07:44 -04:00 |
|
swung0x48
|
a9108e1a0b
|
[Perf] (Espryt): a VAO twin whose buffer set alone moved re-points enabled arrays without the 32-slot enable walk (rd12 monolith 70.3 -> 73.5 fps).
|
2026-10-07 10:07:43 -04:00 |
|
swung0x48
|
267211e8b4
|
[Perf] (Magma): wire draws stop rehashing program SPIR-V and stop allocating per draw (rd12 monolith 45.7 -> 56.7 fps).
|
2026-10-07 10:07:42 -04:00 |
|
swung0x48
|
51c1411696
|
[Docs] (P14): code-based perf estimate for every arm, written before the benchmark.
|
2026-10-07 09:18:22 -04:00 |
|
swung0x48
|
d56179d876
|
[Tools] (P14): pinned-clock perf matrix with a per-thread CPU and GPU-busy sampler.
|
2026-10-07 09:18:21 -04:00 |
|
swung0x48
|
f8a9466b93
|
[Fix] (CI): retrace exit detection tolerates a single failed pidof, and artifact cleanup lists jobs in pages the API serves.
|
2026-10-07 02:19:59 -04:00 |
|
swung0x48
|
242663c9ae
|
[Docs] (P13): P13 closes - exit gates, device smoke and the deferred device list are recorded, and the roadmap moves to P14.
|
2026-10-06 22:33:02 -04:00 |
|
swung0x48
|
4bac6255fd
|
[Build] (P13 W7): the server-only link check stays out of verify builds, whose comparator reads both halves by design.
|
2026-10-06 22:20:29 -04:00 |
|
swung0x48
|
f4e98710ff
|
[Docs] (P13 W10): guides and design docs describe the three-build, record-arm-only shape, and three P8 debts close.
|
2026-10-06 22:17:18 -04:00 |
|
swung0x48
|
4379ceed97
|
[CI] (P13): the pipe generator's scanner drops its two retired registry exemptions.
|
2026-10-06 22:17:17 -04:00 |
|
swung0x48
|
87e915382c
|
[Test] (P13 W8): recorder goldens pin the pushed record stream of two fixed GL call sequences, with two negative controls.
|
2026-10-06 22:17:16 -04:00 |
|
swung0x48
|
db8484cbb9
|
[Fix] (P13 W8): the transport-less monolith sends set_context_values like the split build's does, and render-state padding is zeroed so equal states share one CSO.
|
2026-10-06 22:17:16 -04:00 |
|
swung0x48
|
f7360fe210
|
[CI] (P13): the memo-purity gate drops its last allow entry and the fatal census holds at 70 abort sites.
|
2026-10-06 21:58:43 -04:00 |
|
swung0x48
|
45513aef51
|
[Docs] (P13): W9 moves to the post-P13 perf pass as a debt, and the README records the '# P13' gate and the §1.3 cleanup.
|
2026-10-06 21:43:28 -04:00 |
|
swung0x48
|
cd4f2db53c
|
[Docs] (P13): post-P13 perf work takes the dev build as its baseline, recorded in DEBTS and the handoff.
|
2026-10-06 21:42:29 -04:00 |
|
swung0x48
|
de6ab16756
|
[Refactor] (P13): the legacy BufferBackendOps table, Magma's never-populated texture/render-pass/renderbuffer caches and VkClearManager go, and the buffer mock tests drive the resource op table instead (ratchet 36 -> 27).
|
2026-10-06 21:39:39 -04:00 |
|
swung0x48
|
9987e57f64
|
[CI] (P13): the unit cases that drove the deleted frontend-keyed entries are logged and retired from the skip census.
|
2026-10-06 20:55:17 -04:00 |
|
swung0x48
|
fa77b1874f
|
[Refactor] (P13): Espryt's frontend-keyed slot-table entries and the apply-thread refusals go, death notices release twins by handle, and the link ratchet refuses any '# P13' line (49 -> 36 symbols).
|
2026-10-06 20:55:16 -04:00 |
|