From 62bf26bf8cdfd206f633bdf3463610b90e301d39 Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Sat, 19 Sep 2026 22:27:03 -0400 Subject: [PATCH] [MG_Pipe] (Disaggregated): P5f fm - admit registered server object consumers independently of buffer ops --- MobileGL/MG_Pipe/PipeApply.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/MobileGL/MG_Pipe/PipeApply.cpp b/MobileGL/MG_Pipe/PipeApply.cpp index c10c8153..9810edc9 100644 --- a/MobileGL/MG_Pipe/PipeApply.cpp +++ b/MobileGL/MG_Pipe/PipeApply.cpp @@ -44,6 +44,8 @@ // server-role-only fixture: there the direct call is the only reset that exists). #include #include +#include +#include #endif #include @@ -1235,6 +1237,13 @@ namespace MobileGL::MG_Pipe { // site: ApplyUnitWindow validates and writes in one step, so the question has to be // asked in front of it. Bool NoP4aConsumer() { +#if MOBILEGL_BUILD_DISAGGREGATED + if (MG_Config::Transport != MG_Config::TransportMode::Monolith) { + const auto* session = MG_Remote::Server::ServerSession::Active(); + if (session && session->CallMaskIsSet() && MG_Remote::MGCapsServerConsumes( + session->CallMask(), kMGPipeSubsystemTextureResources)) return false; + } +#endif if (g_resourceOps != nullptr) return false; ++g_applier.RefusedNoConsumer; return true;