CNA-VGAP-010: No CI workflow builds or tests the OPENGL4 renderer
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
docs/opengl4-renderer.md— Validation section: the recorded runs and the unvalidated platformsmodules/core/include/CNA/GraphicsBackendMaturity.hpp— OpenGL4 declared Supportedmodules/renderers/opengl4/examples/CMakeLists.txt— the OpenGL4_* CTest registrationscmake/TestHelpers.cmake— cna_append_opengl4_gl_error_gate_pattern, the GL-error output gateCMakePresets.json— no preset selects OPENGL4plans/plan_opengl4_modern_graphics.md— GL4-0006: the local OPENGL4;OPENGLES3;OPENGL33 tree and its baselines
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.
Related pages
The same subject is explained at several altitudes. These are the neighbouring pages at each one.
- User guide
- Verification: CI
- Tests and validation
- Test architecture: CI
- Known issues
- Verification gap index