CNA-VGAP-030: Model drawing on SOFTWARE, SDL_GPU, WEBGPU, FNA3D and DIRECTX9 is checked in CI at most at the stride draw boundary; the shared Model programs and the whole-corpus L7 rung run in CI for OPENGLES3 only

CNA snapshot 3b43bd86  ·  Known Issues › Verification gaps  ·  source links pinned to 3b43bd86

✓

Evidence basis: source-verified at the pinned commit; tests exist (not executed for this page). Claims on this page were checked by reading the CNA source at commit 3b43bd86; unless a sentence says otherwise, nothing here was built or executed. Nothing on this page was executed unless the Evidence section says so.

The EasyGL Model draw, hierarchy, two-mesh, skinned-playback and .cnj reader programs run verbatim as CTests on SOFTWARE and SDL_GPU, but no workflow runs them; the SOFTWARE whole-corpus L7 campaign is a committed report from an earlier commit.

Identifier
CNA-VGAP-030
Category
Verification gap
Subsystem
Testing & evidence
Status
Open
Verified against
CNA 3b43bd86 (3b43bd8687ed46523d873f9bec4b32bd8481dcb5)
Evidence basis
Source-verified: read at TARGET, not executed
Tests touching this area
Yes: see Current tests
Affected contract
ModelMesh::Draw / Model::Draw on each 3D renderer; the glTF L7 image comparison

Expected behaviour

A renderer that draws Model graphs should have repeatable evidence that it does so correctly, ideally in CI.

Actual behaviour at TARGET

The easygl_model_* sources are compiled unchanged by CMakeLists.txt (Software_ModelDraw_RedQuad and Software_Model_*) and CMakeLists.txt (SdlGpu_EasyGLOracle_model_*); HEADLESS has a Model::Draw check in headless_effects_test.cpp. No workflow runs any of these non-EasyGL registrations: gltf-renderer-stride-ci.yml configures SOFTWARE, SDL_GPU and WEBGPU but runs only ctest -L gltf-conformance, and platform-ci.yml filters ctest to platform tests. What CI does run on those renderers is RendererStrideConformance (a real Model::Draw plus Present per glTF stride that passes on no throw or a named refusal, with no pixel check) and the L0-L6 ladder; FNA3D and DIRECTX9 are configured by no automatic workflow. The l7-corpus job runs the whole-corpus image rung for OPENGLES3 only. The SOFTWARE whole-corpus result is the committed report gltf-l7-software-corpus-report.json, captured on 2026-08-18 at CNA commit b6c180fd.

Source locations

Evidence

Checked by reading each renderer's CMake registrations of the shared Model programs, every workflow's ctest selection and the report header at 3b43bd86; not executed. The report is CNA's own record for its commit, not for 3b43bd86.

Re-verified at c6dec91f: the renderers retired on 2026-10-13 and 2026-10-14 took their Model registrations and their two committed L7 reports with them; the lavapipe cells of the glTF-conformance workflow moved to SDL_GPU and WEBGPU, which run the stride boundary only.

Focused reproduction

No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.

Current tests

L0–L6 oracles and the stride test run per renderer in CI; the EasyGL Model programs run where EasyGL is built.

Regression test

A CI job that runs the SdlGpu_EasyGLOracle_model_* and Software_Model_* CTests (lavapipe serves SDL_GPU) and reruns the SOFTWARE L7 rung against its committed goldens.

Blast radius

Evidence only: regressions in Model drawing on SOFTWARE, SDL_GPU, WEBGPU, FNA3D and DIRECTX9 would not be caught by CI image comparison.

Workaround

No workaround is known.

The same subject is explained at several altitudes. These are the neighbouring pages at each one.