swung0x48
|
7308668488
|
[Docs] (Anland): kgsl-as-server.md - read with the kernel as the server, routes A and B are about who owns the buffer (6.x + Mesa is A, 5.x is B), plus the split-level analogy to virtio-gpu native context vs virgl / venus; linked from the README
|
2026-09-30 13:00:11 -04:00 |
|
swung0x48
|
134791b4b9
|
[Docs] (Anland): compare today's container Mesa (freedreno / turnip over kgsl) with routes A and B - it is route A's no-change dma-buf tier with the renderer in the app process, Anland's dma-buf ingress was shaped around it, and 5.x's private protocol sat between A and B
|
2026-09-30 12:45:16 -04:00 |
|
swung0x48
|
c24926cafe
|
[Docs] (Anland): add route B - Anland hands the window's Surface to the MobileGL server (the FCL shape: SC mode leaves the parent Surface's queue free, waylandbridge itself receives it over binder), with its MobileGL items B1-B4, the Anland extension, its limits, and the phasing reordered around it
|
2026-09-30 12:24:24 -04:00 |
|
swung0x48
|
c5fa722be7
|
[Docs] (Anland): correct the window model - a toplevel attaches on demand to at most one Android window and several can be attached at once (popups and subsurfaces composite into the parent); P12 does not fit because the Android window and its input belong to Anland, not because of the window count
|
2026-09-30 12:17:56 -04:00 |
|
swung0x48
|
b7aa8d2011
|
[Docs] (Anland): research note - what MobileGL and Anland would each need for MobileGL to render Anland's Linux apps (glibc split client in the container, bionic render server, native AHB ingress into waylandbridge), with the two source-audit reports, their briefs and the notes index entry
|
2026-09-30 11:57:57 -04:00 |
|
swung0x48
|
378020adf3
|
[Fix] (MG_Remote, P11 T0): the T0 POST also checks what the CPU writes through the held lock after the import and its first GPU use, in both directions - Mali-G1-Ultra passed the old single round (the import cleans the CPU cache) while its GPU saw 0/1024 post-import words, so T0 was granted and create-indirect-in-world-align1024 x Magma lost every Flywheel object on inproc/spawn (0.867/0.848); it now fails there and runs T2 (0.999984), and the Redmi passes both rounds and keeps T0
|
2026-09-30 10:21:46 -04:00 |
|
swung0x48
|
648800a2da
|
[Docs] (P8): close the phase - ruling ID-P8-19 (the exit device check and the P12 cross-host rerun), the P8 README and PLAN, the roadmap row and header, MEASUREMENTS row 19, the status page and the last debt
|
2026-09-30 08:25:38 -04:00 |
|
swung0x48
|
b4bee9dd38
|
[Docs] (P8): CONTRACT-P8 (the rules P8 landed, each with its code anchor and its test), rulings ID-P8-14..18 (MD + MF and the create-indirect fixture's alignment, SE, SV, the dev merge, the wave 2 integration gate) and the debts wave 2 hands on
|
2026-09-30 07:55:50 -04:00 |
|
swung0x48
|
494305381e
|
[Merge] (P8): integrate wave 2 package MF - the push flush ladder gets dev's Adreno 830 queued-ring-copy guard (FlushPendingRangesFrom, create-instancing x Espryt x monolith 0.870 -> 0.99998 on the Redmi), and both G5 scripts pin the two reviewed ladder bodies under ID-P8-14
|
2026-09-30 07:12:50 -04:00 |
|
swung0x48
|
fb106a682e
|
[Docs] (P8-MF): the package note - the push-ladder mirror of dev f973008c, create-instancing Espryt monolith 0.870 -> 0.99998 on the Redmi with spawn unchanged, why spawn was unaffected (the same two partial maps behind queued ring copies, the copy already submitted by the server's intervening whole-buffer maps), the red-onces and the gate
|
2026-09-30 07:09:28 -04:00 |
|
swung0x48
|
c8c4397475
|
[Merge] (P8): integrate wave 2 package SV - Magma's 3D native mip blit uses one layer, the depth/stencil mip decline gets its tally row, 1D depth mips decline by name, and the wire arm issues glDispatchComputeIndirect natively
# Conflicts:
# MobileGL/MG_IntegrationTest/CMakeLists.txt
|
2026-09-30 06:11:04 -04:00 |
|
swung0x48
|
377d90d9f1
|
[Merge] (P8): integrate wave 2 package SE - the spawn/tcp default framebuffer publishes its surface to the client, the CPU mip arm declines on a driver-written base, D's case 3 runs on the Espryt split arms, the unmigrated-emulation name list is linted against its call sites, and the P8 notes' citations point at their content again
|
2026-09-30 05:24:11 -04:00 |
|
swung0x48
|
4cfb29a553
|
[Docs] (P8-SV): the note's gate table (G1 0/0, wire-declines 61/66, split_coverage, every lane, retrace 230/236) and the dirty-surface scan finding
|
2026-09-30 05:02:37 -04:00 |
|
swung0x48
|
51e95c9260
|
[Docs] (P8-SE): the note's gate and retrace readings
|
2026-09-30 04:47:27 -04:00 |
|
swung0x48
|
edcb9328e2
|
[Docs] (P8-SE): cite the integration CMakeLists by path - the bare basename resolves to the top-level file
|
2026-09-30 03:55:20 -04:00 |
|
swung0x48
|
e61060fbdf
|
[Docs] (P8-SE): the package note, and the P8 package notes' line citations re-anchored by content at HEAD (A 14, B 29, C 10, D 12, E 18 plus the copy-image-shadow-mirror line, F 4)
|
2026-09-30 03:55:01 -04:00 |
|
swung0x48
|
394d255487
|
[Docs] (P8-SV): the package note - the four items with their before/after, the design, the gates, ten red-once rows, the monolith observation and what was found but not fixed
|
2026-09-30 03:45:40 -04:00 |
|
swung0x48
|
307267c188
|
[Docs] (P8): the monolith defect count is 12 (13 reports, one duplicate between C and D), 9 of them left to P13, not 14 and 11
|
2026-09-30 03:24:47 -04:00 |
|
swung0x48
|
cbbaf77f6d
|
[Docs] (P8): wave 1 integrated - rulings ID-P8-5..13 (the survey, packages A-F, the integration gate, the wave 2 scope and the monolith defects left to P13), the survey note, open questions 9/11/15 answered, the debts and the P8 contract amendments, the P8 README table, PLAN-P8 wave 2 and the status page
|
2026-09-30 03:09:09 -04:00 |
|
swung0x48
|
39cd8fb73b
|
[Merge] (P8): integrate package E - a texture readback the Espryt driver refuses is answered from the split server's staged store, which now follows glCopyImageSubData (FollowCopy, client-box merge, sticky driver-written mark, named decline texture-readback-store-declined); CopyImageStoreReadbackScenario on both backends x every arm plus the extent-scoped StoreRead knob; the dead CopyImageSubData+RENDERBUFFER latch goes (census 79 -> 78)
|
2026-09-30 02:17:51 -04:00 |
|
swung0x48
|
92eab9f3b7
|
[Merge] (P8): integrate package D - the Magma wire arm issues glDraw*Indirect / glMultiDraw*Indirect[Count] natively from the wire store (vkCmdDraw*Indirect[Count]) instead of a CPU expansion behind a GPU-idle wait, with an INDIRECT_COMMAND_READ barrier once per shader write; windr[] PipeStats counters and WireIndirectDrawScenario on both backends x every arm
|
2026-09-30 01:28:20 -04:00 |
|
swung0x48
|
9441071567
|
[Merge] (P8): integrate package C - the Espryt split server refreshes its staged copy of a buffer a shader wrote before a CPU reader consumes it (storage/atomic/buffer-image marks, XFB captures into the copy; restart rewrite, multi-draw rebase, *IndirectCount, CPU-fed indirect fields, XFB scatter and fp64 narrowing read through SplitHostBytesForCpuRead); GpuWrittenDrawInputScenario (12 cases) on the Espryt split arms
|
2026-09-30 00:45:16 -04:00 |
|
swung0x48
|
2f530ad8a2
|
[Merge] (P8): integrate package B - Espryt glGenerateMipmap on the server: the record's generated window (BASE/MAX clip, B1) and RGB16F/RGB32F natively or on the server's CPU from the driver's level (B2), retiring both split generate-mipmap names; GenerateMipmapServerScenario on both backends x monolith/Split/Spawn/Tcp plus the forced-CPU arm
|
2026-09-30 00:01:29 -04:00 |
|
swung0x48
|
c00f5eabae
|
[Docs] (P8-E): the note's gate and retrace readings and two residuals (the extent-scoped tcp knob, the ERROR line before a store answer)
|
2026-09-29 23:51:49 -04:00 |
|
swung0x48
|
8133cd52ae
|
[Merge] (P8): integrate package A - register the monolith-only cases on split/spawn/tcp (P8Coverage.cmake, five server-knob tcp supervisors), gate them with split_coverage.py and its exemption table, pin the tcp supervisor's Vulkan env
|
2026-09-29 23:37:12 -04:00 |
|
swung0x48
|
06f28b0a1b
|
[Docs] (P8-A): the note says what the census measured about the audit's 396 and DoublePrecision on tcp, and the knob-port comment names the split/verify one-port overlap
|
2026-09-29 23:18:08 -04:00 |
|
swung0x48
|
b9feb9d7be
|
[Docs] (P8-B): the package note - the generated window and the server CPU arm, the coverage matrix, seven red-onces and monolith defects M1-M3 recorded for dev
|
2026-09-29 23:16:05 -04:00 |
|
swung0x48
|
e815ce8d33
|
[Docs] (P8-C): the package note - readers and writers of the server's staged copy, the twelve GPU-written draw-input cases, each red-once, the retrace subset and the five monolith defects recorded for dev
|
2026-09-29 22:53:18 -04:00 |
|
swung0x48
|
00d6c2480e
|
[Docs] (P8-E): the package note - the split read never touched a shadow, the store route and FollowCopy, the red-once table, the monolith defect for dev
|
2026-09-29 22:43:02 -04:00 |
|
swung0x48
|
c7a14ed790
|
[Test] (P8-F): give the mip shader-shape decline its own .ShaderMipDecline. tail - spawn_lane_parity.py holds each server-knob tail to exactly one case, and sharing .ShaderMip1. named two
|
2026-09-29 22:37:49 -04:00 |
|
swung0x48
|
d639e54616
|
[Perf] (P8-D, Magma): the wire arm issues glDraw*Indirect / glMultiDraw*Indirect[Count] as vkCmdDraw*Indirect[Count] from the wire store instead of expanding them on the CPU behind a GPU-idle wait (create-indirect split: 321 waits / ~8 s -> 0), with an INDIRECT_COMMAND_READ barrier once per shader write; windr[] PipeStats counters, WireIndirectDrawScenario on both backends x every arm, notes/p8/D.md
|
2026-09-29 22:32:49 -04:00 |
|
swung0x48
|
32f222dbc2
|
[Docs] (P8-A): the package note - the 304-case census per arm, the server-knob lanes and their supervisors, the exemption classes, the red-once record, lane wall times and the findings
|
2026-09-29 22:30:20 -04:00 |
|
swung0x48
|
b71cb9cc2c
|
[Docs] (P8-F): cite MG_Backend/Init.cpp by path - the bare basename is ambiguous
|
2026-09-29 22:15:45 -04:00 |
|
swung0x48
|
efd3533bd1
|
[Docs] (P8-F): the package note - the four items, their evidence, the red-once record and what was found but not fixed
|
2026-09-29 22:15:29 -04:00 |
|
swung0x48
|
8d3e2317a6
|
[Docs] (P8): re-scope the phase - strike the original scope in the roadmap and the P8 README, add PLAN-P8 (six items closed, packages P8-0 and A-G, the rewritten gates) and rulings ID-P8-1..4, and mark P8 in progress on the status page
|
2026-09-29 21:31:15 -04:00 |
|
swung0x48
|
0b55b55d4d
|
[Docs] (P11): the status page lists the decisions waiting on the user - the P8 start and the six debt rulings
|
2026-09-29 21:17:21 -04:00 |
|
swung0x48
|
642ac891af
|
[Docs] (P11): ruling ID-P11-20 - the closing head's gate, lanes and retrace numbers
|
2026-09-29 21:13:12 -04:00 |
|
swung0x48
|
592558f5fc
|
[Docs] (Debts): the debt review - drop the closed E1, DualBlock and GetCaps-blobref rows (open question 24 closed, the blobref rule now a CONTRACT-P5 row-18 invariant), move the unmeasured M2 note to MEASUREMENTS, rewrite HyperOS / P11 RSS / named refusals, split the P12 row, merge the two CI rows, add three B2 rows, and mark each destination as needing a ruling or ready
|
2026-09-29 21:12:28 -04:00 |
|
swung0x48
|
0a117243d5
|
[Docs] (P11): close the phase - rulings ID-P11-17..19 (B2 T0 zero-copy, the stale indexed binding and Magma empty-uniform fixes with the skip-hole, T0 on by default), B2-DEVICE, the P11 README, the roadmap row and header, the status page and the debts P11 hands on
|
2026-09-29 20:33:00 -04:00 |
|
swung0x48
|
344e2f8439
|
[Docs] (P11 B2): T0 is the default (the user, 2026-09-29) - CONTRACT-P11 B2's tier table, unset versus 0, the revision-5 fix-up; the knob rows in design/09
|
2026-09-29 20:15:29 -04:00 |
|
swung0x48
|
b9b14c4775
|
[Docs] (P11): status page - the two handed-on dev bugs are merged, the gate row points at the B1 and M2 rulings
|
2026-09-29 16:14:34 -04:00 |
|
swung0x48
|
37c7aede31
|
[Docs] (P11): ruling ID-P11-16 on B1 (fd: endpoint, token broker pairing at hand-off, app_process helper, per-peer apply affinity, the HyperOS battery requirement, the device pass), the B1 debts, the status page, the phase README and the roadmap row
|
2026-09-29 16:14:18 -04:00 |
|
swung0x48
|
76f75f3a0c
|
[Docs] (P11): ruling ID-P11-15 on the M2 dev merge - the scattered-upload fix completed on the split arms, the trim fence re-audited on the split server, the census and ratchet notes; DEBTS closes the two merged dev bugs and takes M2 leftovers
|
2026-09-29 13:46:37 -04:00 |
|
swung0x48
|
d587d394fe
|
[Docs] (P11): zero-copy stays switchable (ruling ID-P11-14) - MOBILEGL_IPC_ADOPT_TIER 2 (default) keeps today shared-memory push, 0 takes the T0 import, and an unusable T0 falls back to T2 with a named line; the server gets its own allow switch
|
2026-09-29 13:45:57 -04:00 |
|
swung0x48
|
b34eed580d
|
[Docs] (P11): HSPIKE - an app_process helper with no Context gets connected sockets to the server app over Binder under the shell uid and another app uid, token-checked; ruling ID-P11-13 on the single broker mechanism and the ROM caveat
|
2026-09-29 11:42:59 -04:00 |
|
swung0x48
|
35e1c861a3
|
[Docs] (P11): ruling ID-P11-12 on pairing by PairBind nonce and revision 3 -> 4; B0 F2 corrected - the product TCP path already paired by identity, the defect was unix endpoints and the one-shot TCP server; the TCP fixture comment no longer names AcceptPair
|
2026-09-29 10:20:53 -04:00 |
|
swung0x48
|
32b81dae42
|
[Docs] (P11): the two dev bugs P11 handed on are fixed on dev (Espryt scattered uploads 9524c688; Magma rd12 command-buffer growth d20c2d01) and arrive with the next dev merge
|
2026-09-29 09:52:37 -04:00 |
|
swung0x48
|
2fcde6eb9b
|
[Docs] (P11): B0-CROSS-APP - SELinux refuses a foreign context the connect to the server app unix endpoint, past a brokered connect the shared segments work unchanged, default placement makes shm slower than tcp; ruling ID-P11-11 on what B1 must build, and the HyperOS uid freeze as a debt
|
2026-09-29 09:34:26 -04:00 |
|
swung0x48
|
6481691d1e
|
[Docs] (P11): the status page, the roadmap row and the phase README for P11 in progress, and ruling ID-P11-10 on absorbing origin@86dc38a0
|
2026-09-29 08:06:38 -04:00 |
|
swung0x48
|
26de2b60fc
|
[Docs] (P11): rulings ID-P11-1..9 with the integration gate, A-DEVICE (T0 is GO from the app domain on both backends; adoption buys RSS not frame time on the Adreno; split T2 costs RSS and p99), the debts the dev merge closes and the ones P11 hands on, and W2-REMINT marking the monolith re-mint fixed
|
2026-09-29 08:03:09 -04:00 |
|