mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-17 08:38:30 +09:00
[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
This commit is contained in:
@@ -2980,7 +2980,15 @@ namespace MobileGL::MG_Backend::DirectGLES {
|
||||
// is still live; nulling it then would drop the reduced path's own bytes (it did,
|
||||
// and TriangleScenario read the wrong VBO). HasShadow is the discriminator: false
|
||||
// after DropAll, true after an ordinary Adopt.
|
||||
if (!ServerStaged().HasShadow(resource)) {
|
||||
//
|
||||
// TRANSPORT-GUARDED like the other two split hunks in this file (review v2 N-7):
|
||||
// under MONOLITH transport in a disaggregated build the store never copies, Adopt
|
||||
// never sets m_any, HasShadow answers false for everything, and this null would
|
||||
// run on every twin's first ensure - harmless there only because liveHostBase()
|
||||
// prefers MappedData() under monolith, and "under monolith nothing changes" should
|
||||
// be true by construction rather than by luck.
|
||||
if (MG_Config::Transport != MG_Config::TransportMode::Monolith &&
|
||||
!ServerStaged().HasShadow(resource)) {
|
||||
resource->hostBytes = nullptr;
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user