[CI] (Disaggregated): P7's packed-float mip gate flips to green, by name

5310ff62 generates the R11F_G11F_B10F chain with a real GPU shader blit and gives
F1WireScenario.GenerateMipmapPackedFloatPixels pixel assertions, so the entry now
passes under strict split state and `Magma:mipmap-native-format@P7` survives in no
source file. The old arm would therefore have failed its own `test rc -ne 0`.

Both halves of the arm are retired in one commit, because either alone is a lie:
CMakeLists' fm loop drops the special case that gave this slot the
`integration-magma-p7-known-red` label, so the entry is discovered by the ordinary
`integration-magma-split` lane - the same label, environment and pixels assertion
as GenerateMipmapPixels and GenerateMipmapDepthPixels next to it, and the same
label the dual-block census lane already re-runs.

The lane membership alone would not be the old gate's equal: a lane counts its
entries' exit codes, not their absence. So the CI step keeps its shape and inverts
its expectation - the same single named entry, discovered and run by name under
MOBILEGL_IPC_STRICT_ERRORS=1 and MOBILEGL_IPC_ROLE_SPLIT_STATE=1, now asserted
through split_log_paths.py's require_green, which rejects a skip, a missing entry
and a failure alike. No assertion is skipped away or weakened: the pixels are
checked by the test, and the named-refusal check the log carried is what the GPU
blit retired.
This commit is contained in:
2026-09-20 20:34:35 -04:00
parent 3542f64f8c
commit e4ae19643d
3 changed files with 24 additions and 24 deletions
+17 -16
View File
@@ -1638,7 +1638,12 @@ jobs:
${{ runner.temp }}/magma-cache-syncval
if-no-files-found: ignore
- name: Magma P7 native mip format debt stays a named refusal
# The packed-float chain is generated by a real GPU shader blit, so this entry sits in the
# integration-magma-split lane with its siblings (CMakeLists.txt's fm loop) and carries
# their pixels assertion. Its named check survives the flip in the only direction that has
# evidence behind it: the case must EXECUTE, PASS, and never skip - a lane-level exit code
# alone would not separate "generated" from "quietly absent".
- name: Magma P7 packed-float mip generation executes green under strict split state
working-directory: build-split
env:
MOBILEGL_ITEST_REQUIRE_GPU: "1"
@@ -1646,21 +1651,17 @@ jobs:
MOBILEGL_IPC_ROLE_SPLIT_STATE: "1"
MOBILEGL_TRANSPORT: "inproc"
run: |
private_log=MobileGL/MG_IntegrationTest/p5f-fm-GenerateMipmapPackedFloatPixels.log
rm -f "${private_log}"
rc=0
ctest -L integration-magma-p7-known-red --no-tests=error --output-on-failure \
--output-junit "${RUNNER_TEMP}/magma-p7.xml" || rc=$?
test "${rc}" -ne 0
python3 - "${RUNNER_TEMP}/magma-p7.xml" "${private_log}" <<'PY'
import pathlib, sys, xml.etree.ElementTree as ET
cases = list(ET.parse(sys.argv[1]).getroot().iter("testcase"))
assert len(cases) == 1, "the P7 probe must execute exactly one named case"
case = cases[0]
assert case.get("name", "").endswith("GenerateMipmapPackedFloatPixels"), case.attrib
assert case.find("skipped") is None and case.find("failure") is not None, "the P7 probe must fail, never skip"
log = pathlib.Path(sys.argv[2]).read_text()
assert 'Fatal{UnmigratedVerb, "Magma:mipmap-native-format@P7"}' in log, "missing named native-format refusal"
p7_case='^DirectVulkan\.Split\.Fm\.F1WireScenario\.GenerateMipmapPackedFloatPixels$'
ctest -R "${p7_case}" --show-only=json-v1 > "${RUNNER_TEMP}/magma-p7-lane.json"
ctest -R "${p7_case}" --no-tests=error --output-on-failure \
--output-junit "${RUNNER_TEMP}/magma-p7.xml"
python3 - "${GITHUB_WORKSPACE}/MobileGL/MG_IntegrationTest/Harness/split_log_paths.py" \
"${RUNNER_TEMP}/magma-p7-lane.json" "${RUNNER_TEMP}/magma-p7.xml" <<'PY'
import importlib.util, json, sys
spec = importlib.util.spec_from_file_location("slp", sys.argv[1])
slp = importlib.util.module_from_spec(spec); spec.loader.exec_module(slp)
name = "DirectVulkan.Split.Fm.F1WireScenario.GenerateMipmapPackedFloatPixels"
slp.require_green(json.load(open(sys.argv[2])), sys.argv[3], [name])
PY
# Client vertex/index inputs are copied into owned wire buffer resources.
+4 -7
View File
@@ -2433,19 +2433,16 @@ if (MOBILEGL_BUILD_DISAGGREGATED)
"MOBILEGL_BACKEND_TYPE=DirectVulkan" "MOBILEGL_TRANSPORT=inproc"
"MOBILEGL_ITEST_REQUIRE_GPU=1" "MGITEST_SPLIT_LANE=1"
${MGL_ITEST_CAPABILITY_ENV} ${MGL_ITEST_COMMON_ENV})
# Every entry here is green, R11F_G11F_B10F packed-float mip generation included: the GPU
# shader blit retires the named native-format refusal, so GenerateMipmapPackedFloatPixels
# carries its siblings' label and their pixels assertion.
foreach(fmSlot ComputeImageStoreThroughViewPreservesOtherRootLayer EnabledVertexBufferDrawKeepsNamedP7Fatal SrgbDrawTracksFramebufferConversion Texture1DFramebufferClearPixels VertexIdSamplerAndScalarUniformPixels ComputeImageStoreFramebufferPixels PartialTextureUploadPreservesGpuClearPixels TextureViewClearTargetsItsRootMipAndLayer ClearBufferfiPixels ClearBufferfvPixels ClearBufferivPixels ClearBufferuivPixels ClearNamedFramebufferfiPixels ClearNamedFramebufferfvPixels ClearNamedFramebufferivPixels ClearNamedFramebufferuivPixels CopyTexImage2DPixels CopyTexSubImage2DPixels GenerateMipmapPixels GenerateMipmapPackedFloatPixels GenerateMipmapDepthPixels)
set(MGL_ITEST_FM_LABEL "integration-magma-split")
if (fmSlot STREQUAL "GenerateMipmapPackedFloatPixels")
# R11F_G11F_B10F mip blits already fail on the baseline Magma lane.
# Preserve a separately named negative probe for this P7 native-format debt.
set(MGL_ITEST_FM_LABEL "integration-magma-p7-known-red")
endif()
gtest_discover_tests(MobileGLIntegrationTest
TEST_PREFIX "DirectVulkan.Split.Fm."
TEST_FILTER "F1WireScenario.${fmSlot}"
DISCOVERY_TIMEOUT 30
PROPERTIES
LABELS "${MGL_ITEST_FM_LABEL}"
LABELS "integration-magma-split"
TIMEOUT ${MGL_ITEST_TIMEOUT}
ENVIRONMENT "${MGL_ITEST_MAGMA_WIRE_ENVIRONMENT}\;MOBILEGL_LOG_FILE_PATH=${CMAKE_CURRENT_BINARY_DIR}/p5f-fm-${fmSlot}.log")
endforeach()
@@ -43,5 +43,7 @@
# The expanded Magma lane also covers application VBO/EBO/UBO/SSBO and persistent
# map consumers. The former VBO fatal case now asserts rendered pixels; no new
# field-Fatal expectations or skip exemptions accompany that retirement.
# Its named P7 native-format probe has a separate, enforced known-red CI lane.
# The former P7 native-format probe now asserts generated pixels too: R11F_G11F_B10F mip
# generation goes through the GPU shader blit, so that entry carries the ordinary Magma
# lane label and the lane's named green step, not a known-red arm.
# Every new Fatal or Admitted in this census remains a regression.