Skip to content

Re-enable GUI Near Menu test on D3D11 (idx 177)#1698

Open
bkaradzic-microsoft wants to merge 1 commit into
BabylonJS:masterfrom
bkaradzic-microsoft:reenable-test-177
Open

Re-enable GUI Near Menu test on D3D11 (idx 177)#1698
bkaradzic-microsoft wants to merge 1 commit into
BabylonJS:masterfrom
bkaradzic-microsoft:reenable-test-177

Conversation

@bkaradzic-microsoft
Copy link
Copy Markdown
Contributor

Summary

Re-enables validation_native.js test idx 177 GUI Near Menu (#2YZFA0#302) on D3D11 and adds an OpenGL-only exclusion for the residual fragment-shader-compile crash.

What changed

The original exclusion reason was:

"Test crashes on Win32 V8 D3D11 / hangs on OpenGL"

Both halves of that statement are now stale:

  1. Win32 D3D11 (Chakra Release x64): the test now runs to completion with 783 px diff (well under the 2.5% errorRatio threshold) and validates. The original Win32 V8 D3D11 ACCESS_VIOLATION was specific to the V8 cascade and is no longer reproducible on Chakra. Other V8-cascade victims in config.json keep their own exclusion reasons.

  2. OpenGL (Windows ANGLE + Linux native OpenGL): the test no longer "hangs". With the console hook landed in Improve Playground debuggability. #1688 and the bgfx FATAL routed through BgfxCallback, the previous silent hang is now a clean shader-compile failure:

    BGFX FATAL 0x00000001: Failed to compile shader.
    ERROR: 0:266: '=' : cannot convert from 'highp float' to 'bool'
    ERROR: 0:267: '=' : cannot convert from 'highp float' to 'bool'
    ERROR: 0:389: '=' : cannot convert from 'highp float' to 'bool'
    

    This is the same family of GLSL implicit-precision-conversion bug already affecting idx 293/296/299 (mediump float -> int in the PrePassRenderer fragment shader); here the conversion is highp float -> bool in a GUI fragment shader. Tracked separately for the OpenGL backend; for now the test is gated with excludedGraphicsApis: ["OpenGL"].

Verification

# D3D11 (Chakra) sweep covering idx 177:
.\Playground.exe --headless --test-index=150-200 app:///Scripts/validation_native.js
# -> ran=2 passed=2 failed=0 skipped=49, exit 0
# -> "Test 'GUI Near Menu' validated" with 783 px diff

# Windows ANGLE / OpenGL sweep covering idx 177:
.\Playground.exe --headless --test-index=150-200 app:///Scripts/validation_native.js  (OpenGLWindowsDevOnly build)
# -> ran=1 passed=1 failed=0 skipped=50, exit 0
# -> "Skipping 'GUI Near Menu' -- excludedGraphicsApis: OpenGL"

Notes

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com

Original exclusion reason ('Test crashes on Win32 V8 D3D11 / hangs on
OpenGL') no longer reproduces on Chakra D3D11 post BabylonJS#1695:

* Win32 D3D11 (Chakra Release x64): 783 px diff, validated.
* Windows ANGLE / Linux OpenGL: still crashes, but now as a clean BGFX
  FATAL shader-compile error (`'=' : cannot convert from 'highp float'
  to 'bool'`) rather than a silent hang -- same class as the
  PrePassRenderer `mediump float`/`int` issue. Excluded via
  `excludedGraphicsApis: [\"OpenGL\"]` until the GLSL emit path is fixed.

V8-specific regression is no longer part of the active V8 cascade
(other `ACCESS_VIOLATION` cascade victims in config.json are still
guarded by their own reasons).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant