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 |
|
swung0x48
|
74060e8b5d
|
[Fix, Test] (DirectGLES/BackendObject, MG_Remote/Server, MG_Test/Wire): ID-67 - the native skip in BackendObject_DirectGLES::MakeEGLCurrent is keyed on the VIRTUAL (dpy, draw, read, ctx) tuple, not the surface: the surface's own creation bind is adopted by the first tuple, an identical tuple is a native no-op and publishes no caps snapshot (the client's mirror generation does not move), and a DIFFERENT tuple onto the same surface binds natively again (DirectGLES's invalidations describe the frontend context that changed) and republishes (R-12 arm (a)); ServerLoop tallies MakeCurrentRepublishCount and the control asserts 1 bind + 1 republish for a different tuple and 0 + 0 for a repeat at the EGL table and the tally; the EGL fixture gives the session its backend so the republish is real
|
2026-09-16 10:43:33 -04:00 |
|
swung0x48
|
edcdf771db
|
[Merge] (Docs, P5): land the P5 sections of README, ROADMAP, ARCHITECTURE and MEASUREMENTS
|
2026-09-16 10:36:11 -04:00 |
|
swung0x48
|
a48bc46ec1
|
[Docs] (Disaggregated): document the landed P5 inproc milestone
|
2026-09-16 10:32:58 -04:00 |
|
swung0x48
|
fbeea876b3
|
[Merge] (MGPipe, P5): land c1f - the client's missing gates and controls (ID-64)
|
2026-09-16 10:31:33 -04:00 |
|
swung0x48
|
1646049ac9
|
[Fix, Test] (DirectGLES/Managers, MG_Test/Wire): M-3's two whole-store refusals key on the DESCRIPTOR's HasDefinedContent - content the application supplied (glBufferData(size, data)) must be fully staged by the draw, a gap is a missing record and Fatal{StageSnapshotTooNarrow} by name; a store the application orphaned (glBufferData(size, NULL)) has undefined bytes by its own declaration, so the streaming idiom (orphan, partial glBufferSubData, draw) uploads the staged bytes plus zero-fill exactly as the monolith arm uploads MappedData(); round 2 refused both shapes and aborted six LargeArenaAdoption / ResourceSubsystemControl joint entries by name (hidden under c1 round 2's BlobMissing abort until c1 round 3); two positive gates run the idiom end to end in a forked child through each reader and red on their own string when the refusal is made unconditional again
|
2026-09-16 10:31:29 -04:00 |
|
swung0x48
|
13043e3ff4
|
[Test] (MG_Test/Wire): ServerLoopTest round 3 - an EGL fixture brings the server's REAL DirectGLES backend up on the apply thread through the twelve forwarders alone and counts native eglMakeCurrent at the EGL function table; the review-v2 N-5 gates each red on their own string: C7 one native bind / zero native releases / owner unchanged, N-3 destroy-recreate with the same handle values binds again, ID-49 the reply is the tight extent whatever DstSize the client sent, M-3 sparse shadow through pool-reuse and through respecify dies by name, M-1 a queued range outside the staged coverage dies by name at the drain, m-5 a twin surviving context loss drops its freed base, M-2 the ensure uploads the server shadow not MappedData (item 10), M-6 ShutdownSplitRoles after an early Start failure drops the backend, codex-11 the effective mask via an absent cpu, C6 the seven reads answered by two objects; N-9 the park case bounds its own post and the tally case names its tally
|
2026-09-16 10:17:29 -04:00 |
|
swung0x48
|
49fecc1686
|
[Fix] (DirectGLES/Managers, MG_Backend/Init, MG_Remote/Server): N-7 m-5's freed-base null is transport-guarded like the other two split hunks so monolith transport in a split build changes nothing by construction; N-8 the second consumer-mask check compares MGPipeGetResourceOps() against the table step 2 saw and refuses a replaced table as Fatal{ConsumerMaskLie, resource ops table replaced} (the re-run alone could not see a client-registered table); ServerVerbSink::ReadbackScratchBytes for ID-49's tight-size gate
|
2026-09-16 10:17:29 -04:00 |
|