Commit Graph

  • 19a96929aa [Docs] (P15): handoff with the cpuhunt/gpuhunt references, the apply-thread breakdown and the open guilty-check decision. swung0x48 2026-10-08 15:26:52 -04:00
  • 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). swung0x48 2026-10-08 15:26:24 -04:00
  • 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). swung0x48 2026-10-08 12:31:57 -04:00
  • 49c6394dfd [Tools] (config): debug.mobilegl.env sets MOBILEGL_* knobs in an app-hosted Android process, and the device-state line carries them. swung0x48 2026-10-08 10:59:10 -04:00
  • 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). swung0x48 2026-10-08 10:49:29 -04:00
  • 6985e47025 [Tools] (bench): push the frequency sampler with CRs stripped, so a CRLF checkout still runs on the device. swung0x48 2026-10-08 09:32:52 -04:00
  • 3c61689dac [Docs] (P15): two-level CPU target, clock profiles and the measurement-validity rule. swung0x48 2026-10-08 09:31:27 -04:00
  • efa415b00c [Tools] (bench): clock profiles, bench sessions that release the perf stack's frequency caps, and a per-run frequency/thermal validity line. swung0x48 2026-10-08 09:31:26 -04:00
  • 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). swung0x48 2026-10-08 09:31:25 -04:00
  • 4a8ecf9aaf [Docs] (P15): S0 handoff, parity audit corrections and the bsl workload in matrix_p14. swung0x48 2026-10-08 06:59:25 -04:00
  • 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). swung0x48 2026-10-08 06:59:24 -04:00
  • 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). swung0x48 2026-10-08 06:59:24 -04:00
  • 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). swung0x48 2026-10-08 03:40:04 -04:00
  • c7360b47e2 [CI] Apt install steps get 45-minute timeouts; 15 cut off a slow-mirror install. swung0x48 2026-10-08 05:40:20 -04:00
  • 91f04ebc7c [CI] Network setup steps get 15-minute step timeouts and one retry (Vulkan SDK, Android SDK), and the NDK download retries three times. swung0x48 2026-10-08 03:09:04 -04:00
  • 84ec06f3fc [Docs] (P15): swap-interval stage, user decisions, and the FCL probe tools. swung0x48 2026-10-08 00:22:20 -04:00
  • 408b9fcade [Docs] (P15): plan, FCL wait diagnosis and parity-audit seed. swung0x48 2026-10-07 22:59:05 -04:00
  • 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. swung0x48 2026-10-07 23:25:09 -04:00
  • 80c6aa39da [Fix] (CI): the spawn-lane parity gate sanctions the inproc-only .SyncValidation. tail, as it does .Mip3DValidation. swung0x48 2026-10-07 22:20:45 -04:00
  • 92da2486c5 [Fix] (CI): the latch-site gate's DrainRing pattern accepts the drain's poll-head parameter. swung0x48 2026-10-07 22:13:20 -04:00
  • 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). swung0x48 2026-10-07 21:20:11 -04:00
  • 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). swung0x48 2026-10-07 19:49:33 -04:00
  • 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. swung0x48 2026-10-07 19:23:10 -04:00
  • 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). swung0x48 2026-10-07 18:21:12 -04:00
  • ec973fba84 [Fix] (Magma): a hang-watch marker slot is reused once its submission's fence completed, not once the host read its event. swung0x48 2026-10-07 17:53:39 -04:00
  • 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). swung0x48 2026-10-07 17:53:38 -04:00
  • 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). swung0x48 2026-10-07 17:53:37 -04:00
  • 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). swung0x48 2026-10-07 16:26:07 -04:00
  • 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). swung0x48 2026-10-07 16:06:02 -04:00
  • 0bd0abf652 [Docs] (P14): handoff names the dispatched CI runs. swung0x48 2026-10-07 15:25:15 -04:00
  • ff53ba3b2b [Docs] (P14): checkpoint handoff. swung0x48 2026-10-07 15:24:42 -04:00
  • 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). swung0x48 2026-10-07 15:21:58 -04:00
  • 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). swung0x48 2026-10-07 15:21:57 -04:00
  • 4fe2edb6fa [Tools] (P14): profile_p14.sh profiles the tcp arm too. swung0x48 2026-10-07 14:58:23 -04:00
  • 032dcd240e [Perf] (Magma): the wire vertex-input layout is kept on its vertex-elements record and buffer handles resolve through a slot-indexed front. swung0x48 2026-10-07 14:58:22 -04:00
  • 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%). swung0x48 2026-10-07 14:58:21 -04:00
  • 114bd70122 [Tools] (P14): FCL restore deletes the two properties instead of setting them empty. swung0x48 2026-10-07 13:21:25 -04:00
  • 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). swung0x48 2026-10-07 13:21:24 -04:00
  • 8883e496bd [Perf] (MG_Pipe): the residual fill keeps unchanged object pins and a memoised vertex-buffer set keeps its hash (rd12 Espryt monolith +1%). swung0x48 2026-10-07 13:21:23 -04:00
  • 0cc54748f0 [Tools] (P14): layers.py can list the entries into one layer. swung0x48 2026-10-07 12:32:18 -04:00
  • 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%). swung0x48 2026-10-07 12:32:05 -04:00
  • d07ec0255b [Tools] (P14): benchmark runs default to no per-frame glFinish, plus FCL and layer-split helpers. swung0x48 2026-10-07 12:15:12 -04:00
  • 4f4297f347 [Tools] (P14): opt-in fps log at swap (debug.mobilegl.fps_log) and a debug.mobilegl.transport override for app-hosted libraries. swung0x48 2026-10-07 12:15:11 -04:00
  • 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). swung0x48 2026-10-07 12:15:10 -04:00
  • 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). swung0x48 2026-10-07 12:15:10 -04:00
  • 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). swung0x48 2026-10-07 11:25:02 -04:00
  • eafe1179b3 [Tools] (P14): the profiler records the whole run and the analysis cuts the steady tail. swung0x48 2026-10-07 10:50:39 -04:00
  • 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). swung0x48 2026-10-07 10:50:38 -04:00
  • 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). swung0x48 2026-10-07 10:50:37 -04:00
  • 0b0089e599 [Tools] (P14): the sampler and profiler find spawn and tcp server processes by their install path, plus a per-component profile split. swung0x48 2026-10-07 10:27:01 -04:00
  • 8346d80999 [Perf] (MG_Pipe): lifetime-id slot lookups get a direct-mapped front and buffer binding slots are indexed (rd12 monolith +1.5%). swung0x48 2026-10-07 10:27:00 -04:00
  • 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). swung0x48 2026-10-07 10:26:59 -04:00
  • 2b0857b016 [Tools] (P14): sampler sees server processes and GPU busy every tick, arms can name a second build, and a simpleperf profile helper. swung0x48 2026-10-07 10:07:44 -04:00
  • 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). swung0x48 2026-10-07 10:07:43 -04:00
  • 267211e8b4 [Perf] (Magma): wire draws stop rehashing program SPIR-V and stop allocating per draw (rd12 monolith 45.7 -> 56.7 fps). swung0x48 2026-10-07 10:07:42 -04:00
  • 51c1411696 [Docs] (P14): code-based perf estimate for every arm, written before the benchmark. swung0x48 2026-10-07 09:18:22 -04:00
  • d56179d876 [Tools] (P14): pinned-clock perf matrix with a per-thread CPU and GPU-busy sampler. swung0x48 2026-10-07 09:18:21 -04:00
  • f8a9466b93 [Fix] (CI): retrace exit detection tolerates a single failed pidof, and artifact cleanup lists jobs in pages the API serves. swung0x48 2026-10-07 02:19:59 -04:00
  • 242663c9ae [Docs] (P13): P13 closes - exit gates, device smoke and the deferred device list are recorded, and the roadmap moves to P14. swung0x48 2026-10-06 22:33:02 -04:00
  • 4bac6255fd [Build] (P13 W7): the server-only link check stays out of verify builds, whose comparator reads both halves by design. swung0x48 2026-10-06 22:20:29 -04:00
  • f4e98710ff [Docs] (P13 W10): guides and design docs describe the three-build, record-arm-only shape, and three P8 debts close. swung0x48 2026-10-06 22:17:18 -04:00
  • 4379ceed97 [CI] (P13): the pipe generator's scanner drops its two retired registry exemptions. swung0x48 2026-10-06 22:17:17 -04:00
  • 87e915382c [Test] (P13 W8): recorder goldens pin the pushed record stream of two fixed GL call sequences, with two negative controls. swung0x48 2026-10-06 22:17:16 -04:00
  • 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. swung0x48 2026-10-06 22:17:16 -04:00
  • f7360fe210 [CI] (P13): the memo-purity gate drops its last allow entry and the fatal census holds at 70 abort sites. swung0x48 2026-10-06 21:58:43 -04:00
  • 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. swung0x48 2026-10-06 21:43:28 -04:00
  • cd4f2db53c [Docs] (P13): post-P13 perf work takes the dev build as its baseline, recorded in DEBTS and the handoff. swung0x48 2026-10-06 21:42:29 -04:00
  • 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). swung0x48 2026-10-06 21:39:39 -04:00
  • 9987e57f64 [CI] (P13): the unit cases that drove the deleted frontend-keyed entries are logged and retired from the skip census. swung0x48 2026-10-06 20:55:17 -04:00
  • 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). swung0x48 2026-10-06 20:55:16 -04:00
  • 556ff46601 [Docs] (P13 W7): the README records the module targets and the server-only link check. swung0x48 2026-10-06 20:13:29 -04:00
  • 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. swung0x48 2026-10-06 19:50:31 -04:00
  • 3fb0054e79 [Docs] (P13 W6): the handoff records how W6 found and removed the frontend arm and what the last nine ratchet symbols need. swung0x48 2026-10-06 19:32:51 -04:00
  • 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. swung0x48 2026-10-06 19:31:02 -04:00
  • 9f88379141 [CI] (P13 W6): the skip census records the cube-map-view case's capability skip on the Espryt lanes. swung0x48 2026-10-06 19:23:50 -04:00
  • a4c78fe10a [Docs] (P13): the FCL soak table is one table and the death offsets are stated per cluster. swung0x48 2026-10-06 19:23:17 -04:00
  • 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. swung0x48 2026-10-06 19:23:08 -04:00
  • 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. swung0x48 2026-10-06 18:58:24 -04:00
  • 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. swung0x48 2026-10-06 18:57:15 -04:00
  • ec7fc40ba5 [Docs] (P13): the FCL silent death (status=34, SIGRTMIN+2) is recorded as an FCL-side debt with its soak evidence. swung0x48 2026-10-06 18:50:30 -04:00
  • 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. swung0x48 2026-10-06 18:20:50 -04:00
  • 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. swung0x48 2026-10-06 18:08:33 -04:00
  • 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. swung0x48 2026-10-06 17:55:44 -04:00
  • 887547c707 [Test] (P13 W6): the cube-map view readback case skips where GL_ARB_texture_view is not advertised. swung0x48 2026-10-06 17:01:56 -04:00
  • e822c933c9 [CI] (P13 W6b): the frontend-arm unit removals are logged and retired from the skip census. swung0x48 2026-10-06 16:56:32 -04:00
  • 3aed7ae047 [Test] (P13 W6b): the unmigrated-emulation list loses the frontend arm's shadow readback. swung0x48 2026-10-06 16:51:20 -04:00
  • e0113503af [Refactor] (P13 W6b): the frontend-arm code after each record-arm return goes, and the transform-feedback state keeps one role. swung0x48 2026-10-06 16:46:09 -04:00
  • 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. swung0x48 2026-10-06 16:39:52 -04:00
  • 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. swung0x48 2026-10-06 16:21:17 -04:00
  • 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. swung0x48 2026-10-06 16:16:29 -04:00
  • 4c3e469ae4 [Docs] (P13): Magma monolith's record-arm cost on device is recorded as a debt for after P13. swung0x48 2026-10-06 16:12:16 -04:00
  • 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. swung0x48 2026-10-06 15:45:14 -04:00
  • 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. swung0x48 2026-10-06 15:03:11 -04:00
  • a0b9ca0772 [Fix] (P13 W5 S7): Magma's T0 import and its self-test stay transport-only inside the record arm. swung0x48 2026-10-06 14:50:07 -04:00
  • 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. swung0x48 2026-10-06 14:46:52 -04:00
  • acfee266f5 [Fix] (Build): every library gets the vendored glvnd headers its GlvndVendor.cpp files include, so the Android library without MG_Remote builds. swung0x48 2026-10-06 14:45:20 -04:00
  • 942bb6d7dd [Fix] (P13 W5 S7): the verb stamp and read verdicts build only with the poison that asks them. swung0x48 2026-10-06 14:34:27 -04:00
  • bc8595f27a [CI] (P13 W5 S7): the monolith poison-omission control omits the pack state at ReadPixels, a read the record arm still makes. swung0x48 2026-10-06 14:22:18 -04:00
  • 6d73529f70 [Test] (P13 W5 S7): the always-false live-host-writes wire's case skips wherever the record arm gives the bit a producer. swung0x48 2026-10-06 14:19:02 -04:00
  • 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. swung0x48 2026-10-06 14:15:29 -04:00