CNA-VGAP-044: CnaTests' Wine test route does not prove which Direct3D implementation served a run

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

✓

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

CnaTests' Wine emulator skips the DXVK engagement gate for discovery and for every discovered case, including GoogleTest cases that create a device, so a passing cross-built run does not show which Direct3D implementation rendered it.

Identifier
CNA-VGAP-044
Category
Verification gap
Subsystem
Testing & evidence
Status
Open
Verified against
CNA c1c316b9 (c1c316b9c7a846ce8002809c151fcd1af14942c9)
Evidence basis
Source-verified: read at TARGET, not executed
Tests touching this area
Yes: see Current tests
Affected contract
CnaTests CTest routes for DIRECTX9 and DIRECTX11 in MinGW cross trees

Expected behaviour

A test counted as Direct3D evidence under Wine shows which translation layer rendered it, as the per-renderer engagement gates do for their own examples.

Actual behaviour at TARGET

UnitTests.cmake gives CnaTests a CROSSCOMPILING_EMULATOR that sets CNA_D3D9_SKIP_DXVK_GATE=1 or CNA_D3D11_SKIP_DXVK_GATE=1; the property applies to discovery and to every discovered case, including GoogleTest cases that create a device. Nothing records which Direct3D implementation (DXVK or Wine's own) served such a case.

Source locations

  • cmake/UnitTests.cmake — set_target_properties(CnaTests PROPERTIES CROSSCOMPILING_EMULATOR ...) with the gate-skip variables

Evidence

Checked by reading at c1c316b9; not executed.

Related: CNA-GAP-059 (the emulator exists only for certain default renderers). The in-code comments justify each skip (pure unit tests create no device); the gap is that the evidence cannot distinguish the implementation that ran.

Focused reproduction

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

Current tests

Renderer example CTests keep their engagement gates; CnaTests cases do not.

Regression test

Keep the gate for CnaTests cases that create a device (or split the device-free cases into their own executable).

Blast radius

How much Direct3D evidence obtained under Wine can be trusted; native Windows runs are unaffected.

Workaround

No workaround is known.

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