swung0x48
7f5bdd3aa5
[MG_Backend, MG_Remote, MG_Impl, MG_State] (Disaggregated): P5c hd - sinks and twins resolve by the handle the record carried
...
A split-only verb-handle workspace in MGPipeApplierState (written by the sinks before
dispatch, read by the backend within the same verb) carries the record's handles to the
backend entries whose shared function-table signatures cannot grow them without moving
G1. OnBlit resolves ReadFbo/DrawFbo through the FBO twin table by handle (the named arm
of BlitFramebuffer, a loud refusal when the backend does not consume it) and the split
path's ScopedBlitBindings rebinding is deleted; CopyTex resolves MGPCopyFromFramebuffer::Dst;
the mip descriptor check resolves MGPMipPlan::Res; the indirect families resolve their
buffer handles from the records and read the bytes from the server staged shadow with
RequireStagedCoverage. EnsureBufferResourceForHandle answers HasDefinedContent from
Desc.HasDefinedContent OR the staged coverage set (the streaming idiom defines content
through subdata with no new descriptor). The minting GetOrCreate(StatePtr), HandleOf and
the death switch's lifetime-id arms take Fatal{RoleViolation, MGPipeSlots} from the apply
thread, as do the three MGPipeSlots() entry points; the frontend BufferObject legacy
accessors take Fatal{RoleViolation, buffer-legacy-arm}; Magma's four caps reads go to the
server's own backend and the client-mirror fallback arm is a named refusal.
Evidence: unit 2156/2156 (incl. 9 new RemoteF1 + 10 new RemoteGuards death tests pinning
the four Fatal names); monolith smoke green; six production mutations each turned their
named test red and were restored; c1f_redcheck M5 RED then RESTORED GREEN. The mip
descriptor check overlaps tx and is coordinated at the merge (tx's sync rekey wins the
sync body, this handle resolution wins the identity check). CONTRACT-P5C section 3.
2026-09-17 04:55:50 -04:00
swung0x48
851bc70c1d
[MG_Remote] (Disaggregated): CONTRACT-P5C - the wire contract for zeroing the inproc split's 59 direct cross-role memory accesses (P5c package c0c)
...
Texture staged shadow ownership and exact per-level coverage (tx); SEG_EVENT blobref convention with Seg = kSegEvent plus the kEventGlError kind, producer ownership and the consumer segment arm that replaces the monolith guard (ev); handle-keyed sink and twin resolution with MGPipeSlots() ruled a client-only surface (hd); the applier_reset (77) and object_death (78) control records (ct); set_context_values (79) and the residual-value field table retiring every value-class BARRIER_PULLED row (rv); the two Fatal{RoleViolation} guard layers with InBarrierWait wired rather than deleted (gt); FieldOwnership.def and Table 3 amendments; the six E-P5c exit gates.
2026-09-17 01:34:17 -04:00
swung0x48
11ac3de6f9
[Docs] (Disaggregated): plan P5c - audit the inproc split's remaining direct cross-role memory access (59 sites at a79a0af6) and schedule its zeroing before P6 as texture staged shadow, SEG_EVENT producers, handle-keyed resolution, control records, residual-value records and role guards
2026-09-17 00:51:40 -04:00
swung0x48
a79a0af69d
[Docs] (Disaggregated): consolidate the five documents at the P5b close - drop superseded narrative, the -O0 device tables and process history, renumber MEASUREMENTS by phase, correct the catalogue and emit-table counts to the head, and record the Redmi pin profile
2026-09-16 23:08:39 -04:00
swung0x48
ea34bccb63
[Docs] (Disaggregated): close out P5b - record the completed host gate and merged census at 348d22a4, the review addendum's pinned results, and the Redmi exit at 82683d4a (correctness 8/8, first barrier-tax measurement, iris-bsl fixture-limit supplement); next is P6 spawn transport
2026-09-16 22:24:56 -04:00
swung0x48
c77831e0fa
[Docs] (Disaggregated): rewrite the staged-progress log as a concise current-state document and link it from the roadmap's status line
2026-09-16 20:45:35 -04:00
swung0x48
ef35ea0ce5
[Docs] (Disaggregated): move the integrator's running progress log into the tree as CURRENT_STAGED_PROGRESS.md
2026-09-16 20:43:56 -04:00
swung0x48
7cb29d460b
[Fix, Test] (MG_Test/Wire): empty the log before each forked child and read it whole - the library truncates its log per process, so a case that forks three times to drive one refusal through the encoder, the decoder and the sink read the second and third child's diagnostic from an offset past the end and saw nothing
2026-09-16 20:33:38 -04:00
swung0x48
171f186741
[Merge] (Docs, P5b): land the P5b documentation
2026-09-16 20:24:09 -04:00
swung0x48
696acce5d7
[Docs] (Disaggregated): record the P5b inproc verb migration - the class-C census, the five package families and what each removed, and the first Minecraft traces to render on the apply thread
2026-09-16 20:24:08 -04:00
swung0x48
82683d4a83
[Fix] (Remote): honor fence wait budgets and reject invalid readback status
2026-09-16 14:12:14 -04:00
swung0x48
a021e3cc5d
[Fix] (MG_Remote): bound user-index draws by the declared span
2026-09-16 14:08:49 -04:00
swung0x48
348d22a4b9
[Fix] (DirectGLES): verify generated mip storage from pushed descriptors
2026-09-16 13:56:55 -04:00
swung0x48
f018c0ef05
[Feat] (MG_Remote, P5b sync): migrate fence lifecycle and wait replies to the apply thread
2026-09-16 13:46:49 -04:00
swung0x48
56c6e49d1d
[Feat] (MG_Remote): lower named framebuffer blits through scoped wire bindings
2026-09-16 13:44:35 -04:00
swung0x48
12905a7eb8
[Merge] (P5b): land r1 core fixes with multi-tail command-ring retry
2026-09-16 13:41:40 -04:00
swung0x48
db8b347952
[Fix] (Remote): preserve server ownership and wait for ring retirement
2026-09-16 13:39:50 -04:00
swung0x48
cc0d56e464
[Docs] (Disaggregated): record P5 final gate stop and scoped control evidence
2026-09-16 13:39:46 -04:00
swung0x48
9606466ab6
[Merge] (MG_Remote, P5b): combine d1 draw migration with f1 i1 t2 and r2
2026-09-16 13:30:01 -04:00
swung0x48
5443bced9a
[Merge] (P5b): integrate t2 and reconcile all migrated emitter families
2026-09-16 13:27:15 -04:00
swung0x48
2deca994b2
[Merge] (P5b): integrate i1 alongside f1 and r2, preserving the combined slot partition
2026-09-16 13:25:44 -04:00
swung0x48
a523d6195a
Merge branch 'p5b/r2' into p5b/integrate-codex
2026-09-16 13:24:41 -04:00
swung0x48
d50183cb1a
[Fix] (IntegrationTest): assert actual staging backpressure in the small ring lane
2026-09-16 12:34:33 -04:00
swung0x48
6fa6a925bd
[Fix] (CI): make split controls mandatory and isolate runner evidence
2026-09-16 12:34:33 -04:00
swung0x48
fc5b52e456
[Merge] (P5b, t2): merge feat/disaggregated at 37fc4fdb (x2 via x2m, ID-65) into p5b/t2
2026-09-16 12:24:02 -04:00
swung0x48
c831ab0390
[Test] (MG_Test, MG_IntegrationTest, P5b/t2): pin the span order and the accounting fields, the six flipped slots by name, and run the tessellation-capture and buffer-reuse scenarios under inproc
2026-09-16 12:23:57 -04:00
swung0x48
dd293203ca
[Feat] (MG_Remote, P5b/t2): emit the four stream-output span rows, the XFB object bind and the patch parameter, and give each ServerVerbSink body its backend call
2026-09-16 12:23:57 -04:00
swung0x48
c240557fe0
[Feat] (MG_Pipe, MG_Remote, P5b/t2): add kCapBackendOwnsXfbCapture, publish it from the server table EndTransformFeedback slot, and answer the capture-ownership probe from it
2026-09-16 12:23:57 -04:00
swung0x48
fbe17d06d6
[Test] (MG_IntegrationTest, P5b d1): keep GuiBatchScenario out of the d1 split lists - past its draws it stops at Fatal{UnmigratedVerb, "MemoryBarrier"}, which is i1's slot to flip and register
2026-09-16 12:23:35 -04:00
swung0x48
e564939615
[Feat] (MG_Remote, P5b d1): flip the nineteen indexed / instanced / multi-draw / indirect draw slots to class B on draw_vbo - the emitters plan the record from the GL call and the bound element / indirect / parameter buffers, stage a client index array as the kDrawHasUserIndices span, refuse +CLIENT_INDICES / +CLIENT_COMMANDS / +INDEX_OFFSET by name, and the sink dispatches every shape to the backend slot the monolith calls (a base vertex of 0 is DrawElements, never DrawElementsBaseVertex with 0: ANGLE has no glDrawElementsBaseVertex)
2026-09-16 12:10:38 -04:00
swung0x48
e352e9a6c9
[Merge] (P5b, i1): merge feat/disaggregated at 37fc4fdb (x2 via x2m, ID-65) into p5b/i1
2026-09-16 12:10:25 -04:00
swung0x48
a72a96d85f
[Test] (MG_Test, MG_IntegrationTest, P5b): pin i1 seven class-B slots and the served compute program, and arm 24 inproc lane entries whose results only exist if the records crossed
2026-09-16 12:10:09 -04:00
swung0x48
b82c63a9ec
[Feat] (MG_Pipe, DirectGLES, P5b): move GetProgramForDispatch FATAL to BARRIER_PULLED now that compute crosses, and skip the copy-image shadow mirror under a non-monolith transport
2026-09-16 12:10:01 -04:00
swung0x48
734287ac56
[Feat] (MG_Remote, P5b): emit i1 seven image/compute/barrier/copy-image/storage-block slots as class B and give each ServerVerbSink body the backend call the contract names
2026-09-16 12:09:55 -04:00
swung0x48
fe5ac006f8
[Merge] (Remote): bring f1 up to the integrated P5 wire ledger
2026-09-16 11:50:00 -04:00
swung0x48
7ffa4998ab
[Feat] (Remote): migrate f1 clear copy and mipmap verbs under inproc
2026-09-16 11:49:41 -04:00
swung0x48
37fc4fdb0f
[Merge] (MGPipe, P5): land x2 via x2m - the E2 draw-drop control, R-10 maxrec, the small-ring wrap counters (ID-65)
2026-09-16 11:32:23 -04:00
swung0x48
bd11ab189f
[Merge] (MGPipe, P5): land x2 - the E2 draw-drop control, R-10 maxrec and the small-ring wrap counters, resolved against j0 (ID-65)
2026-09-16 11:30:12 -04:00
swung0x48
94ce2ee778
[CI] (apk): pin cmdline-tools and drop the removed 'tools' package so Setup Android SDK stops failing before the build
2026-09-16 11:28:37 -04:00
swung0x48
f567610339
[Merge] (P5b, c0b): merge feat/disaggregated at f5614995 (v1 round 3, ID-62/ID-67) into p5b/c0b
2026-09-16 11:16:09 -04:00
swung0x48
538c3c19ee
[Docs] (MG_Remote): CONTRACT-P5B.md - the wire records, sinks, refusals and rulings for the 25 measured class-C slots
2026-09-16 11:15:45 -04:00
swung0x48
02972f70b6
[Test] (MG_Test, P5b): pin the 76-row catalogue, the 18 stamp rows and the 77 verify payloads, and round-trip each P5b row once through the codec
2026-09-16 11:15:45 -04:00
swung0x48
a164113029
[Feat] (MG_Remote, P5b): decode every P5b row to a WireVerbSink method, stub each ServerVerbSink body with a named UnmigratedVerb Fatal, and partition the emit table class-C list per migration package
2026-09-16 11:15:45 -04:00
swung0x48
4dd4027e80
[Feat] (MG_Pipe, P5b): append the five P5b verb rows at opcodes 72..76, arm draw_vbo with the kDrawIsIndirect second tail, give resource_copy_region its two GL names and the clear discriminants one spelling, and stamp every P5b verb boundary
2026-09-16 11:15:45 -04:00
swung0x48
f561499519
[Merge] (MGPipe, P5): land v1 round 3 - the review residue closed, bind-once per tuple, the R-11 and coverage gates (ID-62, ID-67)
2026-09-16 11:14:27 -04:00
swung0x48
579118a1b3
[Test, CI] (scripts/ci, workflows): E2's draw-drop control requires the SSIM red AND the library's dropped-record count, E3(a) requires its private-log line as well as the pixels, and the smoke red-check finally perturbs the split control (ID-65)
2026-09-16 11:09:21 -04:00
swung0x48
a7b43cbbcd
[Test] (MG_IntegrationTest): exit gate E3(e) drives the small ring past its own capacity and asserts the wrap, and both split arms of TriangleScenario publish R-10's maximum record bytes against the ring's cap (ID-65)
2026-09-16 11:09:15 -04:00
swung0x48
9f52878313
[Feat] (MG_Remote, MG_Util): the wire ledger - maxrec/maxcap/ringwraps/ringpads/ringwaits on the MGPipe stats line and at session teardown, MOBILEGL_IPC_E2_DROP_DRAW beside the clear drop, and E3(a)'s named persistent-map-push-disabled line (ID-65)
2026-09-16 11:09:09 -04:00
swung0x48
b13f2b0283
[Fix, Test] (DirectGLES/BackendObject, MG_Test/Wire): G1 - the two Create*Surface pull arms are the original return statements byte for byte again (the ID-67 note lives in the #if MOBILEGL_BUILD_DISAGGREGATED arm; the first cut resized both symbols by 2 bytes); the park case names the POSTER thread as the caller now that N-9 posts from a helper, so control-runs-on-caller is red for its own reason again; the two C6 null-check gates use RGB8_SNORM, the format the fallback's three-channel widening actually applies to (with RGB8 both arms agreed and the runner caught it)
2026-09-16 10:58:33 -04:00
swung0x48
c9878d69f3
[Test] (MG_Test, Client): align make-current caps controls with ID-67
2026-09-16 10:47:42 -04:00