[client] transport: introduce pluggable frame transports
Some checks failed
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / idd (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled

Move shared-memory ownership, LGMP session handling, queue access, and
DMA setup behind a transport interface. The LGMP backend preserves the
existing zero-copy frame and DMA paths while owning its lgmp:* options.

Expose the initialized EGL context through a versioned renderer interop
record for future accelerated decode backends. Add an LGMP-independent,
deterministic test transport for graphics-pipeline validation.
This commit is contained in:
Geoffrey McRae
2026-07-20 05:09:43 +00:00
parent d4b3506e6c
commit 36b33033a1
22 changed files with 2138 additions and 819 deletions

View File

@@ -1174,27 +1174,27 @@ void app_invalidateOverlay(bool renderTwice)
bool app_guestIsLinux(void)
{
return g_state.guestOS == KVMFR_OS_LINUX;
return g_state.guestOS == LG_TRANSPORT_OS_LINUX;
}
bool app_guestIsWindows(void)
{
return g_state.guestOS == KVMFR_OS_WINDOWS;
return g_state.guestOS == LG_TRANSPORT_OS_WINDOWS;
}
bool app_guestIsOSX(void)
{
return g_state.guestOS == KVMFR_OS_OSX;
return g_state.guestOS == LG_TRANSPORT_OS_OSX;
}
bool app_guestIsBSD(void)
{
return g_state.guestOS == KVMFR_OS_BSD;
return g_state.guestOS == LG_TRANSPORT_OS_BSD;
}
bool app_guestIsOther(void)
{
return g_state.guestOS == KVMFR_OS_OTHER;
return g_state.guestOS == LG_TRANSPORT_OS_OTHER;
}
void app_stopVideo(bool stop)