Commit Graph
3244 Commits
Author SHA1 Message Date
swung0x48 a8184d04ea Merge commit '08927e79' into codex/p5f-wave2 2026-09-19 22:48:16 -04:00
swung0x48 08927e79eb [MG_IntegrationTest] (Disaggregated): P5f fm - keep each wire scenario registration unique 2026-09-19 22:46:52 -04:00
swung0x48 1ba6536679 Merge commit 'a204b357' into codex/p5f-wave2 2026-09-19 22:46:09 -04:00
swung0x48 54e015ef9f [MG_Backend] (Disaggregated): P5f fm - keep monolith named-blit clipping byte identical 2026-09-19 22:45:52 -04:00
swung0x48 a6144426d0 [MG_Pipe] (Disaggregated): P5f fm - correct texture staging record type 2026-09-19 22:45:29 -04:00
swung0x48 a204b357e7 [MG_Pipe] (Disaggregated): P5f fm - correct texture staging record type 2026-09-19 22:45:02 -04:00
swung0x48 c747fa1fc2 [MG_Backend] (Disaggregated): P5f fm - preserve mipmap view windows and array extents 2026-09-19 22:44:39 -04:00
swung0x48 3e1f1b71f3 Merge commit '01e00bc4' into codex/p5f-wave2 2026-09-19 22:43:51 -04:00
swung0x48 2e3088e6c4 [MG_Pipe] (Disaggregated): P5f fm - retain named null-data mip definitions 2026-09-19 22:43:44 -04:00
swung0x48 2c9b9d2a9f [MG_Backend] (Disaggregated): P5f fm - retire draw attachments after GPU completion 2026-09-19 22:43:35 -04:00
swung0x48 01e00bc495 [MG_Test] (Disaggregated): P5f fm - verify hookless texture staging lifecycle 2026-09-19 22:43:07 -04:00
swung0x48 777f706ca2 [MG_Pipe] (Disaggregated): P5f fm - retain texture staging without buffer backend ops 2026-09-19 22:42:07 -04:00
swung0x48 29ede72346 Merge commit '6a138a52' into codex/p5f-wave2 2026-09-19 22:41:57 -04:00
swung0x48 2d507d5bd4 [MG_IntegrationTest] (Disaggregated): P5f fm - cover bufferless draw and layered copies under role split 2026-09-19 22:41:47 -04:00
swung0x48 6a138a5221 [MG_Backend] (Disaggregated): P5f fm - fence remaining buffer debt and preserve native transfer layouts 2026-09-19 22:40:04 -04:00
swung0x48 d4ae45d6b8 Merge branch 'p5f/fm' of /mnt/c/Users/geekerwan/AndroidStudioProjects/FoldCraftLauncher/.git/modules/MobileGL into codex/p5f-wave2
# Conflicts:
#	MobileGL/MG_Pipe/PipeApply.h
#	MobileGL/MG_Remote/Server/PipeApplier.cpp
2026-09-19 22:36:56 -04:00
swung0x48 eb882ebf18 Merge commit '203f59cc' into codex/p5f-wave2 2026-09-19 22:34:51 -04:00
swung0x48 fec49a54d8 [MG_Backend, MG_IntegrationTest] (Disaggregated): P5f fm - apply bufferless draws and compute from server records 2026-09-19 22:34:28 -04:00
swung0x48 a6223c6509 [MG_Backend] (Disaggregated): P5f fm - order wire image writes and preserve implicit alpha 2026-09-19 22:34:04 -04:00
swung0x48 d9fc45bf4c [MG_Backend] (Disaggregated): P5f fm - use shared image access constant 2026-09-19 22:32:57 -04:00
swung0x48 f37380d0dc [MG_Backend] (Disaggregated): P5f fm - resolve uniform descriptors from server records 2026-09-19 22:32:10 -04:00
swung0x48 2abc561721 p5f fm: cover GPU texture writes and view subresources 2026-09-19 22:29:36 -04:00
swung0x48 277d1a07f0 [MG_Test] (Disaggregated): P5f fm - pin server program overlays and identities 2026-09-19 22:29:33 -04:00
swung0x48 867c5c5efd [MG_Backend] (Disaggregated): P5f fm - expose archive stage and capture-mode queries 2026-09-19 22:27:51 -04:00
swung0x48 31795675f1 p5f fm: build Vulkan samplers from server-owned values 2026-09-19 22:27:43 -04:00
swung0x48 62bf26bf8c [MG_Pipe] (Disaggregated): P5f fm - admit registered server object consumers independently of buffer ops 2026-09-19 22:27:03 -04:00
swung0x48 6ae5944831 [MG_Backend] (Disaggregated): P5f fm - build Magma programs from server archive views 2026-09-19 22:26:23 -04:00
swung0x48 a6283f40f2 [MG_Backend, MG_Impl] (Disaggregated): P5f fm - map texture view attachments through wire identities 2026-09-19 22:23:05 -04:00
swung0x48 203f59ccad [Docs, MG_Backend] (Disaggregated): P5f fe - report carrier retirement and verified gates 2026-09-19 22:20:57 -04:00
swung0x48 4b3afe7840 [MG_Backend] (Disaggregated): P5f fm - retain blit scissor clipping across wire arm 2026-09-19 22:20:53 -04:00
swung0x48 911cc74a57 [MG_Backend, MG_Impl, MG_Remote, CI] (Disaggregated): P5f fm - connect family records and preserve GPU texture writes 2026-09-19 22:18:24 -04:00
swung0x48 31e95b0794 [MG_Backend] (Disaggregated): P5f fe - clarify readback pack-buffer boundary 2026-09-19 22:16:02 -04:00
swung0x48 0ddfd18aac Merge commit '63c2a331' into codex/p5f-wave2 2026-09-19 22:15:14 -04:00
swung0x48 63c2a331a9 [MG_Remote] (Disaggregated): P5f fe - document handle consumers and capture ordering 2026-09-19 22:14:38 -04:00
swung0x48 40f083cfc6 Merge commit '19a4400a' into codex/p5f-wave2 2026-09-19 22:13:37 -04:00
swung0x48 19a4400ae8 [MG_Pipe] (Disaggregated): P5f fe - retain live capture snapshots across make-current 2026-09-19 22:13:14 -04:00
swung0x48 81d20554aa [MG_Test] (Disaggregated): P5f fe - expose capture snapshot loss across make-current 2026-09-19 22:12:36 -04:00
swung0x48 20bbf9647e [MG_Backend, MG_IntegrationTest] (Disaggregated): P5f fm - carry framebuffer copies and exercise Magma wire verbs 2026-09-19 22:11:38 -04:00
swung0x48 8a6e124f12 Merge commit 'b5c60d5a015c68348725ae93297b13a8fff27723' into codex/p5f-wave2 2026-09-19 22:10:26 -04:00
swung0x48 db9f95576e [MG_Test, MG_IntegrationTest] (Disaggregated): P5f fe - close scalar freshness and strict ratchets 2026-09-19 22:09:32 -04:00
swung0x48 b5c60d5a01 [MG_Remote, MG_Test, Docs] (Disaggregated): fix P5f fc wire replies and control-frame guards 2026-09-19 22:03:55 -04:00
swung0x48 a0004db9cb [MG_Pipe, MG_Test] (Disaggregated): P5f fe - derive scalar forwards and ratchet Espryt fatals 2026-09-19 22:02:23 -04:00
swung0x48 4593719a3c [MG_Backend] (Disaggregated): P5f fm - share native depth readback and retain masked clear behavior 2026-09-19 22:01:44 -04:00
swung0x48 036c3a3d5e [MG_Backend, MG_Pipe, MG_Remote] (Disaggregated): P5f fm - route framebuffer verbs through server records 2026-09-19 22:00:14 -04:00
swung0x48 881e050e2c [MG_Pipe, MG_Test] (Disaggregated): P5f fe - verify XFB snapshot fields and preserve spans 2026-09-19 21:58:27 -04:00
swung0x48 07bf8d7ce0 [MG_Pipe, MG_Remote, MG_Backend] (Disaggregated): P5f fe - carry XFB capture snapshots across Begin 2026-09-19 21:57:45 -04:00
swung0x48 fa1e1cc427 Merge commit 'd5ed139cc50f75a6e7f20eb0cff4a36c7e8b46be' into codex/p5f-wave2 2026-09-19 21:52:55 -04:00
swung0x48 85f3104731 [MG_Backend, MG_Remote] (Disaggregated): P5f fe - retire existing-carrier Espryt pulls 2026-09-19 21:52:35 -04:00
swung0x48 7d8c8b04b1 [Docs] (Disaggregated): P5f handoff - where the interrupted session stopped, and how to resume 2026-09-19 21:44:30 -04:00
swung0x48 d5ed139cc5 [MG_Remote, MG_Test] (Disaggregated): P5f fc - the EGL control plane crosses as value frames, not function pointers
The twelve Server* forwarders' one-slot mailbox carried a raw function
pointer plus a void* to a stack-local Args struct (P5c audit row G4);
neither means anything across a process boundary. The slot now carries
one SurfaceControlFrame by value: kind is the op, scalars are the
arguments, and ok/eglMajor/eglMinor come back in the same value. The
blocking handshake, the shadow, the doorbell order and the C2 exit
block are unchanged.

- protocol.fbs: append-only - SurfaceOpKind gains SetSwapInterval=8,
  ReleaseResources=9, SetWindowHandle=10; WindowKind gains MetalLayer=6;
  SurfaceOp gains readSurface and context (the MakeCurrent four-tuple).
  protocol_generated.h regenerated with the pinned flatc.
- Server/SurfaceControlFrame.{h,cpp}: the frame (trivially copyable by
  static_assert) and the op enum - ten wire kinds plus four inproc-only
  kinds (InitCapabilities is answered by CapsSnapshot on the wire,
  SwapBuffers/InitWindowSurface have no production caller - f0-egl F8,
  kept for the inproc test lane).
- Protocol/SurfaceOpCodec.{h,cpp}: the frame <-> SurfaceOp/SurfaceReply
  codec, the explicit WindowBackend <-> WindowKind table, and the wire
  entry ServerApplyWireSurfaceOp whose refusals are named:
  Fatal{UnmigratedSurface, "AndroidNativeWindow@P12"} and
  Fatal{ProtocolCorruption, "SurfaceOp"}.
- ServerLoop: RunOnApplyThread(fn, void*) -> RunSurfaceControlFrame(frame)
  plus the dispatch ApplySurfaceControlFrame; the old per-forwarder Args
  bodies moved into the dispatch unchanged (C7/ID-54, N-3, R-12 included).
  RunProbeOnApplyThreadForTesting is the test seam through the same
  channel (the hook lives in a member, never in the slot).
- Tests: RemoteClientTest/ServerLoopTest migrated to the probe seam; new
  SurfaceControlFrameTest suite (mapping tables, wire round-trips, the
  two named refusals) plus ServerLoopTest's AVoidForwarderCrossesAsOne-
  DispatchedFrame (the frame channel's red-once handle) and
  ServerLoopEglTest's TheInitializeDisplayReplyArrivesThroughTheFrame.
2026-09-19 20:30:21 -04:00