swung0x48
|
6cecfcd22f
|
Docs (P15): handoff for the async default and frames in flight.
|
2026-10-08 19:49:55 -04:00 |
|
swung0x48
|
16867c5c64
|
Docs (P15): final wait-class verdicts.
|
2026-10-08 19:49:06 -04:00 |
|
swung0x48
|
0b96a3efbf
|
MOBILEGL_FRAMES_IN_FLIGHT drives both backends and derives the split present credit (default 3 keeps credit 1; the Magma name stays as an alias).
|
2026-10-08 19:49:05 -04:00 |
|
swung0x48
|
2fbcc22410
|
Pipe: fire-and-forget is async - mipmap, copies, XFB span and storage-block rows to kWaitNone, inproc creates and PBO readbacks stop waiting, and the default dual block lets a barriered verb cost one wait (FCL BSL: ~40 sync points/frame).
|
2026-10-08 19:49:04 -04:00 |
|
swung0x48
|
1771381057
|
Docs (P15): wait-class audit for review and the inproc census and credit results.
|
2026-10-08 18:46:44 -04:00 |
|
swung0x48
|
2a1f1df6d1
|
Docs (P15): handoff notes on the inproc serialization and the anland root cause.
|
2026-10-08 18:02:05 -04:00 |
|
swung0x48
|
cc5a4c0a60
|
Bench session retries a slow service restart for up to 30 s before reporting it not restored.
|
2026-10-08 18:02:04 -04:00 |
|
swung0x48
|
7acf3ea8e1
|
Transport: MOBILEGL_IPC_WAIT_STATS logs the run-ahead client's waits per frame by record op, quiesce reason and barriered verb; the per-frame P65ClientPace line drops to debug.
|
2026-10-08 18:02:03 -04:00 |
|
swung0x48
|
db915f76f0
|
Transport: a client parked on the present credit is rung only by the credit, not by every retired drain batch (apply-thread futex wakes 0.056 ms/frame on FCL inproc).
|
2026-10-08 18:02:03 -04:00 |
|
swung0x48
|
657722ff57
|
Pipe: a buffer-only glBindVertexBuffer no longer rebuilds and compares the vertex-elements blob (VAO elements version; red-once: BindVertexBufferSwitchesAndOffsets fails on both backends).
|
2026-10-08 18:02:02 -04:00 |
|
swung0x48
|
58a97bb7b8
|
Bench session stops the anland app at start and relaunches it at stop, so FCL keeps the foreground.
|
2026-10-08 18:02:01 -04:00 |
|
swung0x48
|
e00db8e64f
|
Pipe: every verb names its record op in a verb-indexed table (static_assert: one row per verb), so a verb syncs only when its record does; the barriered fallback that quiesced the applier once per frame at the blit is gone (FCL inproc GL-thread wait 1.65 ms/frame; red-once: blit row removed aborts the run-ahead blit test, missing row fails to compile).
|
2026-10-08 18:02:01 -04:00 |
|
swung0x48
|
19a96929aa
|
[Docs] (P15): handoff with the cpuhunt/gpuhunt references, the apply-thread breakdown and the open guilty-check decision.
|
2026-10-08 15:26:52 -04:00 |
|
swung0x48
|
500b63ea58
|
[Perf] (Magma): a renamed wire store reuses its retired buffers once their submissions complete (FCL inproc apply thread 1.74 -> 1.61 ms/frame at cpuhunt).
|
2026-10-08 15:26:24 -04:00 |
|
swung0x48
|
c8a5abe581
|
[Perf] (pipe): a vertex-elements record identical to the one its VAO already published is not re-created (FCL Espryt, shadow off: host calls 3724 -> 1228/frame).
|
2026-10-08 12:31:57 -04:00 |
|
swung0x48
|
49c6394dfd
|
[Tools] (config): debug.mobilegl.env sets MOBILEGL_* knobs in an app-hosted Android process, and the device-state line carries them.
|
2026-10-08 10:59:10 -04:00 |
|
swung0x48
|
b4e209e12b
|
[Perf] (Espryt): a shadow of each driver VAO's attribute state makes the vertex walk emit only differences (FCL host GLES calls 3717 -> 850/frame, CPU 2.78 -> 2.67 ms at cpuhunt).
|
2026-10-08 10:49:29 -04:00 |
|
swung0x48
|
6985e47025
|
[Tools] (bench): push the frequency sampler with CRs stripped, so a CRLF checkout still runs on the device.
|
2026-10-08 09:32:52 -04:00 |
|
swung0x48
|
3c61689dac
|
[Docs] (P15): two-level CPU target, clock profiles and the measurement-validity rule.
|
2026-10-08 09:31:27 -04:00 |
|
swung0x48
|
efa415b00c
|
[Tools] (bench): clock profiles, bench sessions that release the perf stack's frequency caps, and a per-run frequency/thermal validity line.
|
2026-10-08 09:31:26 -04:00 |
|
swung0x48
|
4e27342e81
|
[Test] (trace): FCL MC 1.21.5 vanilla fixture, a 252-frame window with a dev DirectGLES golden that both backends match (ci:false).
|
2026-10-08 09:31:25 -04:00 |
|
swung0x48
|
4a8ecf9aaf
|
[Docs] (P15): S0 handoff, parity audit corrections and the bsl workload in matrix_p14.
|
2026-10-08 06:59:56 -04:00 |
|
swung0x48
|
748ffc31c5
|
[Perf] (Magma): small busy wire buffers are renamed from a host shadow instead of a staged copy that ends the pass (FCL WriteWireBuffer 0.100 -> 0.077 ms/frame).
|
2026-10-08 06:59:40 -04:00 |
|
swung0x48
|
855b3b5009
|
[Perf] (Magma): converted wire vertex streams are cached across frames and default-framebuffer clears stay standalone (BSL Magma 19.5 -> 77.2 fps, MobileGlues 78.2).
|
2026-10-08 06:59:39 -04:00 |
|
swung0x48
|
4984da923f
|
[Perf] (Magma): wire clears record inside the draw pass, draw passes are cached across frames and blit sets come from per-frame pools (FCL Magma CPU 3.29 -> 2.37 ms/frame).
|
2026-10-08 06:59:38 -04:00 |
|
swung0x48
|
c7360b47e2
|
[CI] Apt install steps get 45-minute timeouts; 15 cut off a slow-mirror install.
|
2026-10-08 05:40:20 -04:00 |
|
swung0x48
|
91f04ebc7c
|
[CI] Network setup steps get 15-minute step timeouts and one retry (Vulkan SDK, Android SDK), and the NDK download retries three times.
|
2026-10-08 03:09:04 -04:00 |
|
swung0x48
|
84ec06f3fc
|
[Docs] (P15): swap-interval stage, user decisions, and the FCL probe tools.
|
2026-10-08 00:22:22 -04:00 |
|
swung0x48
|
408b9fcade
|
[Docs] (P15): plan, FCL wait diagnosis and parity-audit seed.
|
2026-10-08 00:22:22 -04:00 |
|
swung0x48
|
ddfbdab0e8
|
[Fix] (MG_Test): the guilty-reset case waits for the held drain, not for an ack the hold delays, and the supervisor's refusal line is waited for in its log.
|
2026-10-07 23:25:09 -04:00 |
|
swung0x48
|
80c6aa39da
|
[Fix] (CI): the spawn-lane parity gate sanctions the inproc-only .SyncValidation. tail, as it does .Mip3DValidation.
|
2026-10-07 22:20:45 -04:00 |
|
swung0x48
|
92da2486c5
|
[Fix] (CI): the latch-site gate's DrainRing pattern accepts the drain's poll-head parameter.
|
2026-10-07 22:13:20 -04:00 |
|
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 |
|