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 |
|
swung0x48
|
556ff46601
|
[Docs] (P13 W7): the README records the module targets and the server-only link check.
|
2026-10-06 20:13:29 -04:00 |
|
swung0x48
|
9fa61b84a5
|
[Build] (P13 W7): the library links from module OBJECT targets along the ratchet's partition, and a server-only link check target must link without the frontend modules.
|
2026-10-06 19:50:31 -04:00 |
|
swung0x48
|
3fb0054e79
|
[Docs] (P13 W6): the handoff records how W6 found and removed the frontend arm and what the last nine ratchet symbols need.
|
2026-10-06 19:32:51 -04:00 |
|
swung0x48
|
922507f8f8
|
[Refactor] (P13 W6f): Magma's pipeline build reads the draw framebuffer record only, and the frontend texture sync behind it goes; link ratchet 58 -> 49.
|
2026-10-06 19:31:02 -04:00 |
|
swung0x48
|
9f88379141
|
[CI] (P13 W6): the skip census records the cube-map-view case's capability skip on the Espryt lanes.
|
2026-10-06 19:23:50 -04:00 |
|
swung0x48
|
a4c78fe10a
|
[Docs] (P13): the FCL soak table is one table and the death offsets are stated per cluster.
|
2026-10-06 19:23:17 -04:00 |
|
swung0x48
|
5011c3d868
|
[Docs] (P13): a matched P12/P13 FCL soak shows the silent death's rate does not depend on the MobileGL library, and the W6 progress is recorded.
|
2026-10-06 19:23:08 -04:00 |
|
swung0x48
|
737ef5e980
|
[CI] (P13 W6e): the W6c-e unit removals are logged and retired from the skip census, and the link ratchet falls to 58 symbols.
|
2026-10-06 18:58:24 -04:00 |
|
swung0x48
|
dab827d54f
|
[Refactor] (P13 W6e): the backends' frontend-framebuffer clear, blit and readback entries go - the verb port owns those slots in every mode - with Magma's frontend render-pass, pending-clear and renderbuffer halves.
|
2026-10-06 18:57:15 -04:00 |
|
swung0x48
|
ec7fc40ba5
|
[Docs] (P13): the FCL silent death (status=34, SIGRTMIN+2) is recorded as an FCL-side debt with its soak evidence.
|
2026-10-06 18:50:30 -04:00 |
|
swung0x48
|
8bc39c79d2
|
[Test] (P13 W6d): the unmigrated-emulation list is empty, the dead storage-view format case goes, and Espryt's bring-up check is the colour-attachment cap alone.
|
2026-10-06 18:20:50 -04:00 |
|
swung0x48
|
8abae647d0
|
[Refactor] (P13 W6d): Espryt's family arm predicates fold to the record arm, checked once at capability bring-up, and the frontend-arm walks they selected go.
|
2026-10-06 18:08:33 -04:00 |
|
swung0x48
|
dc1e95b4c3
|
[Refactor] (P13 W6c): Magma's frontend arm goes - the frontend program source, sampled-set walk, placeholder textures, VAO draw memos, identity tables and fast path - leaving the record arm.
|
2026-10-06 17:55:44 -04:00 |
|
swung0x48
|
887547c707
|
[Test] (P13 W6): the cube-map view readback case skips where GL_ARB_texture_view is not advertised.
|
2026-10-06 17:01:56 -04:00 |
|
swung0x48
|
e822c933c9
|
[CI] (P13 W6b): the frontend-arm unit removals are logged and retired from the skip census.
|
2026-10-06 16:56:32 -04:00 |
|
swung0x48
|
3aed7ae047
|
[Test] (P13 W6b): the unmigrated-emulation list loses the frontend arm's shadow readback.
|
2026-10-06 16:51:20 -04:00 |
|
swung0x48
|
e0113503af
|
[Refactor] (P13 W6b): the frontend-arm code after each record-arm return goes, and the transform-feedback state keeps one role.
|
2026-10-06 16:46:09 -04:00 |
|
swung0x48
|
742d43aeb4
|
[Refactor] (P13 W6b): the data-arm predicate folds out of every backend branch; frontend-arm unit cases go, three adapted, and two GL sampling rules move to an integration scenario.
|
2026-10-06 16:39:52 -04:00 |
|
swung0x48
|
740dd301b9
|
[CI] (P13 W6a): the skip census retires the deleted frontend-arm cases and the AbaControlHandles lane, and records the retired live-host-writes wire's skip.
|
2026-10-06 16:21:17 -04:00 |
|
swung0x48
|
d61a4240ee
|
[Refactor] (P13 W6a): the record arm is the only data arm - MOBILEGL_PIPE_DATA_ARM and its frontend-arm pins go, and the cube-face readback rules move to an integration scenario.
|
2026-10-06 16:16:29 -04:00 |
|
swung0x48
|
4c3e469ae4
|
[Docs] (P13): Magma monolith's record-arm cost on device is recorded as a debt for after P13.
|
2026-10-06 16:12:16 -04:00 |
|
swung0x48
|
c1e985c893
|
[CI] (P13 W5): the verify lane's omitted-fill-point control withholds the pack state at ReadPixels, and the data arm is logged at bring-up.
|
2026-10-06 15:45:14 -04:00 |
|
swung0x48
|
7fb18840dc
|
[Refactor] (P13 W5 S8): MOBILEGL_BUILD_RECORD_ARM is folded away - the record arm is unconditional - and retired_switches keeps it from coming back.
|
2026-10-06 15:03:11 -04:00 |
|
swung0x48
|
a0b9ca0772
|
[Fix] (P13 W5 S7): Magma's T0 import and its self-test stay transport-only inside the record arm.
|
2026-10-06 14:50:07 -04:00 |
|
swung0x48
|
a37212eac9
|
[Fix] (P13 W5 S7): Espryt's T0 re-import after a context loss stays transport-only inside the record arm's twin re-arm.
|
2026-10-06 14:46:52 -04:00 |
|
swung0x48
|
acfee266f5
|
[Fix] (Build): every library gets the vendored glvnd headers its GlvndVendor.cpp files include, so the Android library without MG_Remote builds.
|
2026-10-06 14:45:20 -04:00 |
|
swung0x48
|
942bb6d7dd
|
[Fix] (P13 W5 S7): the verb stamp and read verdicts build only with the poison that asks them.
|
2026-10-06 14:34:27 -04:00 |
|
swung0x48
|
bc8595f27a
|
[CI] (P13 W5 S7): the monolith poison-omission control omits the pack state at ReadPixels, a read the record arm still makes.
|
2026-10-06 14:22:18 -04:00 |
|
swung0x48
|
6d73529f70
|
[Test] (P13 W5 S7): the always-false live-host-writes wire's case skips wherever the record arm gives the bit a producer.
|
2026-10-06 14:19:02 -04:00 |
|
swung0x48
|
e0910ebd85
|
[Fix] (P13 W5 S7): the verify read hook answers the monolith verb port's neutral-pack window from the applied pack, as for a server-stamped verb.
|
2026-10-06 14:15:29 -04:00 |
|
swung0x48
|
8efb7f492a
|
[Refactor] (P13 W5 S7): the barrier-pull counter's role-split and strict checks stay on the transport guard.
|
2026-10-06 14:10:40 -04:00 |
|
swung0x48
|
a71c23bcf3
|
[Refactor] (P13 W5 S7): the verb stamp and the poison read verdicts follow the record-arm guard; the role split and the server window stay transport.
|
2026-10-06 14:09:47 -04:00 |
|
swung0x48
|
1cd35d3922
|
[Refactor] (P13 W5 S7): Magma's wire-object collection, wire-store teardown, depth-resolve entry point and the fast-rebind destroy epoch follow the record-arm guard.
|
2026-10-06 13:57:26 -04:00 |
|
swung0x48
|
e9a353c324
|
[Test] (P13 W5 S7): the pinned monolith frontend arm pins it wherever the record arm is built.
|
2026-10-06 13:53:39 -04:00 |
|
swung0x48
|
557975bf2d
|
[Refactor] (P13 W5 S7): the record verbs' verb-state stamps, the record-reading draw and sampler passes and the image-bindable re-mint follow the record-arm guard.
|
2026-10-06 13:51:25 -04:00 |
|
swung0x48
|
aa5c12b08c
|
[Fix] (P13 W5 S7): Espryt's shared-image arm in the storage sync stays on the transport guard inside the record arm.
|
2026-10-06 13:45:23 -04:00 |
|
swung0x48
|
7ac3ce0376
|
[Fix] (P13 W5 S7): Espryt's shared-image sync stays on the transport guard.
|
2026-10-06 13:44:53 -04:00 |
|
swung0x48
|
956e3847cd
|
[Refactor] (P13 W5 S7): the record arm's remaining transport-guarded blocks (XFB capture landing, staged-texture follows, view-window mips, tracker membership, unit-window checks) follow the record-arm guard.
|
2026-10-06 13:42:45 -04:00 |
|
swung0x48
|
4ec65e801a
|
[Fix] (P13 W5 S7): Espryt's copy-image store follow and its driver-write mark build with the record arm.
|
2026-10-06 13:37:43 -04:00 |
|
swung0x48
|
23593c9f15
|
[Feature] (P13 W5 S7): the record arm is built into every library, so monolith without MG_Remote runs it too.
|
2026-10-06 13:30:09 -04:00 |
|
swung0x48
|
1961029043
|
[Feature] (P13 W5 S7): MOBILEGL_PIPE_PERSISTENT_MPROTECT=0 keeps the tracker's SIGSEGV handler out, and the mprotect arm builds only on Linux and Android.
|
2026-10-06 13:17:25 -04:00 |
|
swung0x48
|
dd7fbbd7d1
|
[Test] (P13 W5 S6): the integration peek answers the data arm and the tracker probe arms wherever the record arm is built.
|
2026-10-06 13:14:58 -04:00 |
|
swung0x48
|
851251671c
|
[CI] (P13 W5 S4): an include-closure probe keeps the record core clear of MG_Remote and the wire serializer.
|
2026-10-06 13:13:39 -04:00 |
|
swung0x48
|
b1978890b4
|
[Refactor] (P13 W5 S5): the data-arm predicates, their latch and MOBILEGL_PIPE_DATA_ARM follow the record arm instead of the transport.
|
2026-10-06 13:00:28 -04:00 |
|
swung0x48
|
ad47dc8c6f
|
[Refactor] (P13 W5 S4c): the XFB lifetime lookup, the deferred-destroy drain and the PBO readback target build without a transport.
|
2026-10-06 12:58:55 -04:00 |
|
swung0x48
|
0b5e7fad82
|
[Fix] (P13 W5 S4c): close the moved DeleteTransformFeedback emitter.
|
2026-10-06 12:52:30 -04:00 |
|
swung0x48
|
8e76f9dcb7
|
[Refactor] (P13 W5 S4c): the verb emitters, the monolith verb port and the client GPU-write set move to MG_Record under MG_Impl/Pipe/Verb.
|
2026-10-06 12:51:02 -04:00 |
|
swung0x48
|
ed7800a550
|
[CI] (P13 W5 S4): the latch-site map follows the record verbs into RecordVerbSink.cpp.
|
2026-10-06 12:37:43 -04:00 |
|
swung0x48
|
e04c6edb76
|
[Refactor] (P13 W5 S4): RecordVerbSink names MG_Pipe's clear constants directly.
|
2026-10-06 12:33:23 -04:00 |
|
swung0x48
|
fe5324c900
|
[Refactor] (P13 W5 S4): the record verbs move from ServerVerbSink to MG_Record::RecordVerbSink, which ServerVerbSink now extends.
|
2026-10-06 12:32:04 -04:00 |
|
swung0x48
|
f4be8c380f
|
[Style] (P13 W5): VertexInputStateFactory.cpp includes its own header first.
|
2026-10-06 12:14:02 -04:00 |
|
swung0x48
|
7f194a8579
|
[Refactor] (P13 W5 S3): the apply side's backend comes through MG_Backend's ApplyRoleBackend hook, which ServerLoop installs.
|
2026-10-06 12:13:37 -04:00 |
|
swung0x48
|
bb45648c41
|
[Refactor] (P13 W5 S3): Magma's wire texture and vertex-input builders and the buffer shadow size follow the record-arm guard.
|
2026-10-06 12:12:09 -04:00 |
|
swung0x48
|
c285f350b1
|
[Refactor] (P13 W5 S4): a build without a transport answers the server-role question false.
|
2026-10-06 12:11:15 -04:00 |
|
swung0x48
|
0f5658f56e
|
[Refactor] (P13 W5 S4): the persistent-map tracker moves to MG_State as MG_Record; the adoption tier's verdict stays in MG_Remote.
|
2026-10-06 12:09:56 -04:00 |
|
swung0x48
|
17e36589fa
|
[Refactor] (P13 W5 S3): the latch twin and Magma's shared-image binding take their guards; the dual-block diagnostics stay transport.
|
2026-10-06 12:03:10 -04:00 |
|
swung0x48
|
b13af729e4
|
[Refactor] (P13 W5 S5): the record arm's three knobs move from IpcTable to RecordArmTable, which every record-arm build parses.
|
2026-10-06 12:01:49 -04:00 |
|
swung0x48
|
b050c60b32
|
[Refactor] (P13 W5 S3): caps source, object death and the Magma wire stores' members follow their real guards.
|
2026-10-06 12:00:37 -04:00 |
|
swung0x48
|
cb81610b2b
|
[Refactor] (P13 W5 S3): the record arm's definitions and its depth-resolve probe source follow the record-arm guard.
|
2026-10-06 11:58:18 -04:00 |
|
swung0x48
|
1956d6cd6f
|
[Refactor] (P13 W5 S3): transport-only hooks get no-op twins where the record arm calls them, and their guards return to the transport.
|
2026-10-06 11:56:18 -04:00 |
|
swung0x48
|
c879776a26
|
[Refactor] (P13 W5 S3): Espryt's shared-image checks stay on the transport guard.
|
2026-10-06 11:53:51 -04:00 |
|
swung0x48
|
8a2ddc8150
|
[Refactor] (P13 W5 S3): Magma's funnels, the texture ops and the staged-texture macros follow the record-arm guard; shared images stay transport.
|
2026-10-06 11:53:24 -04:00 |
|
swung0x48
|
d00d5c9416
|
[Refactor] (P13 W5 S3): the record stores' includes and the slot tables' refusals follow the record-arm guard.
|
2026-10-06 11:50:26 -04:00 |
|