CNA-VGAP-010: No CI workflow builds or tests the OPENGL4 renderer

CNA snapshot 009d40f5  ·  Known Issues › Verification gaps  ·  source links pinned to 009d40f5

✓

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 009d40f5; unless a sentence says otherwise, nothing here was built or executed. Nothing on this page was executed unless the Evidence section says so.

OPENGL4, declared Supported and merged at this snapshot with several hundred family CTests, is named by none of the 20 workflows, so its evidence is CNA's recorded runs on one Radeon 780M under Mesa, and Windows and macOS are unvalidated.

Identifier
CNA-VGAP-010
Category
Verification gap
Subsystem
Build & CI
Status
Open
Verified against
CNA 009d40f5 (009d40f5dd085c4e674d3479675fac84b12b3e0a)
Evidence basis
Source-verified: read at TARGET, not executed
Tests touching this area
Yes: see Current tests
Affected contract
The OPENGL4 renderer identity (GraphicsBackendMaturity::Supported) and its CTest suites

Expected behaviour

A renderer declared Supported has its build and tests exercised automatically, so that a regression is caught when it is introduced. CNA's workflows do this for OPENGLES3, OPENGL33, VULKAN, SDL_RENDERER, HEADLESS, SOFTWARE, STUB, the Windows Direct3D/Direct2D/GDI families, METAL and the browser renderers.

Actual behaviour at TARGET

No file under .github/workflows and no preset in CMakePresets.json names OPENGL4. The only evidence is CNA's own record in docs/opengl4-renderer.md: ctest -R '^OpenGL4_' 407/407 on Wayland (EGL) and 406/406 on X11 (GLX), CnaGraphicsTests 2,833/0/57, CnaRendererTests 338/0/10, CnaGraphicsExtTests 960/0/7 and a sanitizer run, all measured on one AMD Radeon 780M (Mesa radeonsi) through tools/platform/run_gpu_tests_private.sh, with "Windows and macOS remain unvalidated". The renderer's GL-error output gate (cmake/TestHelpers.cmake), its forced GL 4.1 floor test, the 346 EasyGL example sources rebuilt against it and the OPENGL4;OPENGLES3;OPENGL33 same-binary tree (GL4-0006) all run only where someone runs them by hand.

Source locations

Evidence

Checked by reading at 009d40f5 (every workflow file and CMakePresets.json searched for each of the 25 public identities); nothing executed. OPENGL4 is not alone: no workflow names WEBGPU, SDL_GPU, FNA3D, PORTABLEGL, FREEDIRECT or DIRECTX9 either, as the verification page states. This entry is scoped to OPENGL4, which the TARGET commit itself merged ("integrate opengl4-modern-graphics") and whose GL corpus and presentation code it shares with EasyGL through headers such as GlStockShaderSources.hpp and GlPresentationSurfaceState.hpp, so an EasyGL change that CI does check can still break OPENGL4 unobserved. Whether OPENGL4's suites pass on a CI host's Mesa software driver was not established.

Focused reproduction

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

Current tests

OpenGL4_* CTests, the EasyGL parity corpus rebuilt against OpenGL4 (OpenGL4_EasyGLParity_*) and the shared suites under CNA_GRAPHICS_RENDERER=OPENGL4; all run only locally.

Regression test

A workflow job that configures CNA_GRAPHICS_RENDERER=OPENGL4 (for example on the SDL-free X11 lane under Xvfb and Mesa, like platform-ci.yml's OPENGL33 job) and runs ctest -R '^OpenGL4_' plus CnaGraphicsTests with the GL-error gate active.

Blast radius

OPENGL4 users and maintainers. Regressions in the renderer, in the GL headers it shares with EasyGL, or in shared graphics code surface only when someone runs its suites by hand on a GPU host; Windows and macOS builds have never been validated. Runtime behaviour at TARGET is unaffected.

Workaround

Before relying on OPENGL4, run its suites locally (tools/platform/run_gpu_tests_private.sh with -R '^OpenGL4_') on the target driver.

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

Tests and validation
Test architecture: CI