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 |
|
swung0x48
|
a838c7879d
|
[Fix] (MG_Remote/Server, DirectGLES/BackendObject): ID-54 bind-once at the native layer - under an active transport BackendObject_DirectGLES skips the native eglMakeCurrent for a surface already current on the apply thread (its own creation bound it; measured 2 -> 1 native binds per process, 0 native releases, owner unchanged), and N-3 the held (dpy, draw, read, ctx) tuple is FORGOTTEN on ReleaseEGLResources, ReleaseEGLSurface of a surface it names, surface (re)creation and backend destruction so a recycled handle value after a destroy is a real bind again; ServerLoop.h's ownership prose states what is measured rather than what was hoped (review v2 item 10, N-3)
|
2026-09-16 10:17:29 -04:00 |
|