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