mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-11-07 01:53:24 +09:00
[MG_IntegrationTest, docs] (P7): the census note carries its own gate readings and the right counts
Rework round 4 of 4 after the D2 review (fable, ID-P7-8).
COUNTS. The note said 71 cases per arm where its own table sums to 72, and "+37 entries
per split arm" - a number that matched nothing. The +37 came from differencing against
~/w7/pipe/build-split, the integrator's LIVE build directory, which had already moved past
this package's base (7ed5da52 -> 8c5dd6fc). Measured against the pinned
~/w7/p7-before/ctest-names-split.txt baseline this package adds 76 DirectGLES.{Split,Spawn,Tcp}.
entries per arm: 72 census + 3 TextureViewAlias + 1 TextureUploadShape. The raw diff shows
77; the extra one is CtWireScenario's kCapResidentSubData case from b56d70177, one of the
five P7 commits between that baseline and this package's base, and no CtWire file is
touched here. Both numbers and their provenance are now in the note.
GATES. The note pointed at espryt-d2.md for readings espryt-d2.md did not carry. It now
has its own table the way espryt-d1.md does: four lane totals, G1 .text and nm, the G14
name delta, and the five CI gates.
CMAKE. Drops the MGL_SPLIT_D2_FILTER_<Scenario> indirection, which was copied from the d1
and i1 blocks but never defined for any scenario here - a branch no run takes. Every D2
scenario is registered whole because the census found no case in any of them that needs
excluding; the d1/i1 shape is what to reach for the day one does.
And records that the TcpDevice arm gets the texture-view knob on its CLIENT half only. The
loopback Tcp arm's server is started by the TcpServer.Start fixture, which this package
also gives the knob; the TcpDevice arm's server is a supervisor already running on a
device, started outside this build, whose environment nothing here can reach. If it was
started without the knob every texture-view case in that arm green-skips - exactly what
the loopback arm did before the fixture entry got it. The arm is unconfigured in this repo
(empty endpoint, so it is not created at all), so this is a note for whoever configures it.
This commit is contained in:
@@ -2101,6 +2101,17 @@ if (MOBILEGL_BUILD_DISAGGREGATED)
|
||||
RESOURCE_LOCK mobilegl-tcp)
|
||||
# D2: the texture-view opt-in on both TCP lists too, so the three shared GLES split arms
|
||||
# carry one configuration. See the note over MGL_ITEST_GLES_SPLIT_ENVIRONMENT.
|
||||
#
|
||||
# THE TWO TCP LISTS ARE THE CLIENT'S HALF ONLY, and the two arms differ in whether that is
|
||||
# enough. The loopback Tcp arm's server is started by the TcpServer.Start fixture below,
|
||||
# which this package also gives the knob - so both halves have it. The TcpDevice arm's
|
||||
# server is a supervisor already running ON A DEVICE, started outside this build by whoever
|
||||
# set MOBILEGL_ITEST_TCP_DEVICE_ENDPOINT; nothing here can reach its environment. If that
|
||||
# supervisor was started without MOBILEGL_ESPRYT_ENABLE_TEXTURE_VIEW=1 it will withhold
|
||||
# GL_ARB_texture_view and every texture-view case in the TcpDevice arm will GREEN-SKIP,
|
||||
# exactly as the loopback arm did before the fixture entry got the knob. The arm is
|
||||
# unconfigured in this repo (the endpoint defaults empty, so the arm is not created at all),
|
||||
# so this is a note for whoever configures it rather than a defect today.
|
||||
mgl_itest_join_environment(MGL_ITEST_GLES_TCP_ENVIRONMENT
|
||||
"MOBILEGL_BACKEND_TYPE=DirectGLES" "MOBILEGL_TRANSPORT=spawn"
|
||||
"MOBILEGL_IPC_CONTROL=${MOBILEGL_ITEST_TCP_ENDPOINT}" "MOBILEGL_IPC_DATA=stream"
|
||||
@@ -2759,12 +2770,13 @@ if (MOBILEGL_BUILD_DISAGGREGATED)
|
||||
UniformInitializerScenario # 3 cases
|
||||
Glsl420DeclarationScenario # 6 cases
|
||||
IoBlockNameCollisionScenario) # 2 cases
|
||||
# NO PER-SCENARIO FILTER INDIRECTION, unlike the d1 and i1 blocks above: every scenario here
|
||||
# is registered whole, because the census found no case in any of them that needs excluding.
|
||||
# The d1/i1 shape (a MGL_SPLIT_<pkg>_FILTER_<Scenario> variable consulted per entry) is what
|
||||
# to reach for the day one does; carrying an `if(DEFINED ...)` that is never true today would
|
||||
# be a branch no run takes.
|
||||
foreach(mglItestD2Scenario IN LISTS MGL_SPLIT_D2_SCENARIOS)
|
||||
if(DEFINED MGL_SPLIT_D2_FILTER_${mglItestD2Scenario})
|
||||
mgl_itest_register_split_arms("${MGL_SPLIT_D2_FILTER_${mglItestD2Scenario}}" "")
|
||||
else()
|
||||
mgl_itest_register_split_arms("${mglItestD2Scenario}.*" "")
|
||||
endif()
|
||||
mgl_itest_register_split_arms("${mglItestD2Scenario}.*" "")
|
||||
endforeach()
|
||||
|
||||
# ProgramPipelineScenario BEYOND *StorageBlock*: the i1 block above already registers the two
|
||||
|
||||
@@ -18,9 +18,26 @@ Package D1 owns `PixelStoreSweep`, `DepthStencilReadbackMatrix`, `PackedWordRead
|
||||
| texture family | 7 scenarios | ~~1 case~~ **0** (package D3 fixed the defect) | 0 |
|
||||
| program family | 5 scenarios | 9 cases (one scenario's remainder) | 0 |
|
||||
|
||||
**12 scenarios newly carry `integration-split` / `-spawn` / `-tcp` entries**, 71 cases per arm.
|
||||
Plus `TextureViewAliasScenario` (this package's own, ~~3 of 4 cases~~ **all 4 since D3**). The
|
||||
split-arm registration count recorded for the tier-2 Magma replay went from 33 to 46.
|
||||
**12 scenarios newly carry `integration-split` / `-spawn` / `-tcp` entries**, **72 cases per
|
||||
arm** (the table below sums to 72; an earlier draft said 71 and was simply wrong). With
|
||||
`TextureViewAliasScenario` (this package's own; 3 of its 4 cases registered by D2, **all 4 since
|
||||
D3**) and the `TextureUploadShape` gate's one case, this package adds **76 new
|
||||
`DirectGLES.{Split,Spawn,Tcp}.` entries per arm** — 72 + 3 + 1 — counted from the generated
|
||||
ctest include files against the pinned `~/w7/p7-before/ctest-names-split.txt` baseline (D3's
|
||||
un-exclusion makes it 77 on the integration tree, one per arm).
|
||||
|
||||
The raw diff against that baseline reports **77** per arm at D2's head, not 76. The extra one is
|
||||
`DirectGLES.<arm>.Ct.CtWireScenario.TheServerPublishesTheResidentSubDataCapabilityFromItsOwnTable`,
|
||||
registered by the pre-existing `foreach(ctCase ...)` loop and added by `b56d70177` ("the server
|
||||
publishes kCapResidentSubData off its own wire resource table") — one of the five P7 commits
|
||||
between the `p7-before` baseline and this package's base. No file under `CtWireScenario` is
|
||||
touched here.
|
||||
|
||||
An earlier draft of this note said "+37 entries per split arm". That number came from
|
||||
differencing against `~/w7/pipe/build-split`, which is the integrator's LIVE build directory and
|
||||
had already moved past this package's base (`7ed5da52` -> `8c5dd6fc`); it matched nothing and is
|
||||
withdrawn. The split-arm registration count recorded for the tier-2 Magma replay went from 33 to
|
||||
46.
|
||||
|
||||
**Updated by package D3** (`notes/p34b/espryt-d3.md`): the one excluded case is the only row of
|
||||
this census that has moved, and it moved because the defect behind it was fixed rather than
|
||||
@@ -126,10 +143,32 @@ all in flight. A red there would be wave 2's to fix and would block this package
|
||||
reasons it cannot act on. The tier-2 replay is exactly the right instrument for that: it produces
|
||||
the red list without making it a gate.
|
||||
|
||||
## What was re-run after
|
||||
## Gates
|
||||
|
||||
* `scripts/ci/spawn_lane_parity.py build-split`
|
||||
* the G14 name-only-grows check
|
||||
* `ctest -L unit`
|
||||
Taken on `~/w7/p7-espryt-d2/build-split` (Release, clang, lavapipe ICD) and
|
||||
`~/w7/p7-espryt-d2/build-linux` (the pull configuration) at the head of this package, after the
|
||||
review rework. Lane totals are whole-label runs, not filtered subsets.
|
||||
|
||||
See `espryt-d2.md` for the readings.
|
||||
| gate | reading |
|
||||
|---|---|
|
||||
| `ctest -L unit` | 2418 / 2418 |
|
||||
| `ctest -L integration-split` | 263 / 263 |
|
||||
| `ctest -L integration-spawn` | 179 / 179 |
|
||||
| `ctest -L integration-tcp` | 182 / 182 |
|
||||
| `integration-gpu`, DirectGLES monolith, the touched families | 89 / 89 |
|
||||
| G1 pull `.text` | 10822147 = `0xa52203` |
|
||||
| G1 `nm --defined-only` | identical to `~/w7/p7-before/pull-syms.txt`, 30570 symbols |
|
||||
| G14 ctest name set | 4155 -> 6615; 0 names removed by this package |
|
||||
| `scripts/ci/spawn_lane_parity.py build-split` | rc 0 |
|
||||
| `scripts/ci/fatal_census.py` | rc 0, 0 unmarked |
|
||||
| `scripts/ci/espryt_memo_purity.py --self-test` | PASS, 5 families anchored, 1 allow entry, all consulted |
|
||||
| `scripts/ci/link_seam_purity.py --self-test` | PASS |
|
||||
| `scripts/link_ratchet.py --self-test` | OK |
|
||||
|
||||
The one name the G14 diff reports as removed,
|
||||
`CapsMirrorTest.APlaceholderMirrorConsumesNothing`, is absent from the base build too and is
|
||||
referenced only by a comment in `RemoteClientTest.cpp:590` explaining that it was retired; it
|
||||
predates this package's base.
|
||||
|
||||
Per-slice readings, red-once transcripts and the two findings this package made are in
|
||||
`espryt-d2.md`.
|
||||
|
||||
Reference in New Issue
Block a user