mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-08 20:28:32 +09:00
[Fix] (Pipe, Purity): end a declared verb honestly, and gate the header MG_State now includes
- MGPipeLeaveVerb() bumps the serial and puts the current verb back to none, so a test that drives a backend helper directly stops declaring where it says it stops and a later unguarded read aborts as "<Field>@<none>" instead of naming an unrelated verb - check_include_closure.py gains a fourth probe: F2 put MGP_NOTE_MUTATION into frontend mutators, so MG_State includes MG_Pipe/PipeMutation.h and that header must never reach back into MG_State, MG_Impl or a backend
This commit is contained in:
@@ -106,6 +106,25 @@ PROBES = [
|
||||
"Why": "P7 ships the reflection artifacts over the wire; the archive header must not "
|
||||
"depend on the compiler front end that produced them.",
|
||||
},
|
||||
{
|
||||
"Name": "mutation-header",
|
||||
"Header": "MobileGL/MG_Pipe/PipeMutation.h",
|
||||
"Tu": "#include <MG_Pipe/PipeMutation.h>\n",
|
||||
"Forbidden": [
|
||||
"MobileGL/MG_Impl/",
|
||||
"MobileGL/MG_State/GLState/Core.h",
|
||||
"MobileGL/MG_Remote/",
|
||||
],
|
||||
"Allow": [],
|
||||
"TextLimits": {},
|
||||
"Why": "P1 finding F2 put MGP_NOTE_MUTATION in frontend mutators, so MG_State now "
|
||||
"includes this header (TextureState.h, SamplerObject.h). It may only DECLARE "
|
||||
"the notice: reaching MG_Impl would pull the fill implementation into the "
|
||||
"state machine that calls it, and reaching GLState/Core.h would close the "
|
||||
"cycle back onto the context. The MGPipeTypes -> BackendObject -> TextureEnum "
|
||||
"reach it inherits from MGPipe.h is D1's known exception, which is why gate A "
|
||||
"asserts MGPipeValueTypes.h rather than MGPipeTypes.h.",
|
||||
},
|
||||
{
|
||||
"Name": "wire-header",
|
||||
"Header": "MobileGL/MG_Remote/Transport/ITransport.h",
|
||||
|
||||
Reference in New Issue
Block a user