Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 20 additions & 42 deletions Apps/Playground/Scripts/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -309,8 +309,8 @@
"playgroundId": "#W7E7CF#34",
"replace": "//options//, hardwareScalingLevel = 0.9;",
"referenceImage": "scissor-test-2.png",
"excludeFromAutomaticTesting": true,
"reason": "Suspected to cause later Win32 D3D11 cascade crash; also pixel diff fail on Linux (56223 px diff)"
"excludedGraphicsApis": ["OpenGL"],
"reason": "State-leak cascade fixed in validation_native.js (stencil/scissor reset between tests); pixel diff fail on Linux OpenGL (56223 px) under 0.9 hardware scaling; passes on Win32 D3D11."
},
{
"title": "Scissor test with 1.5 hardware scaling",
Expand Down Expand Up @@ -1194,8 +1194,8 @@
{
"title": "Area Lights - Standard Material",
"playgroundId": "#T7FXR8#67",
"excludeFromAutomaticTesting": true,
"reason": "Test crashes or hangs on Babylon Native",
"excludedGraphicsApis": ["OpenGL"],
"reason": "Renders black on Linux desktop OpenGL (area-light LTC path unsupported); passes on Win32 D3D11.",
"referenceImage": "areaLightsStandardMaterial.png"
},
{
Expand All @@ -1215,8 +1215,8 @@
{
"title": "Area Lights - PBR",
"playgroundId": "#T7FXR8#12",
"excludeFromAutomaticTesting": true,
"reason": "Test crashes or hangs on Babylon Native",
"excludedGraphicsApis": ["OpenGL"],
"reason": "Renders black on Linux desktop OpenGL (area-light LTC path unsupported); passes on Win32 D3D11.",
"referenceImage": "areaLightsPBRMaterial.png"
},
{
Expand Down Expand Up @@ -1514,9 +1514,7 @@
{
"title": "GLTF Node visibility test",
"playgroundId": "#80DN99#6",
"referenceImage": "gltfNodeVisibility.png",
"excludeFromAutomaticTesting": true,
"reason": "Test crashes on Win32 D3D11 Sanitizers"
"referenceImage": "gltfNodeVisibility.png"
},
{
"title": "Asset Containers",
Expand Down Expand Up @@ -2041,8 +2039,8 @@
"playgroundId": "#W7E7CF#38",
"replace": "//options//, hardwareScalingLevel = 0.9;",
"referenceImage": "scissor-test-2.png",
"excludeFromAutomaticTesting": true,
"reason": "Suspected to cause later Win32 D3D11 cascade crash; also pixel diff fail on Linux (56223 px diff)"
"excludedGraphicsApis": ["OpenGL"],
"reason": "State-leak cascade fixed in validation_native.js (stencil/scissor reset between tests); pixel diff fail on Linux OpenGL (56223 px) under 0.9 hardware scaling; passes on Win32 D3D11."
},
{
"title": "Scissor test with 1.5 hardware scaling",
Expand Down Expand Up @@ -2307,8 +2305,6 @@
{
"title": "Export GLTF Extension KHR_texture_transform",
"playgroundId": "#20OAV9#15148",
"excludeFromAutomaticTesting": true,
"reason": "Test crashes or hangs on Babylon Native",
"referenceImage": "exportGltfKHRTextureTransform.png"
},
{
Expand Down Expand Up @@ -2544,9 +2540,7 @@
{
"title": "cube-with-holes-using-stencil-buffer",
"playgroundId": "#CW5PRI#11",
"referenceImage": "cube-with-holes-using-stencil-buffer.png",
"excludeFromAutomaticTesting": true,
"reason": "Disabled to land sync PR; newly-added test in cascade path of Win32 V8 D3D11 ACCESS_VIOLATION (-1073741819). Will be re-enabled in follow-up fix PR."
"referenceImage": "cube-with-holes-using-stencil-buffer.png"
},
{
"title": "water-material",
Expand Down Expand Up @@ -2590,15 +2584,11 @@
{
"title": "simple-render-target-with-blue-spheres",
"playgroundId": "#NRR7F4#0",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails on Win32 D3D11 / Sanitizers (44605 px diff)",
"referenceImage": "simple-render-target-with-blue-spheres.png"
},
{
"title": "pillars-sphere-and-torus-with-PCSS-shadows",
"playgroundId": "#WL4Q8J#0",
"excludeFromAutomaticTesting": true,
"reason": "Pixel difference (~185,225 pixels) on Win32 D3D11 after newly synced from Babylon.js.",
"referenceImage": "pillars-sphere-and-torus-with-PCSS-shadows.png"
},
{
Expand All @@ -2611,23 +2601,17 @@
{
"title": "torus-knot-mirror",
"playgroundId": "#M5GFLR#0",
"excludeFromAutomaticTesting": true,
"reason": "Pixel difference (~182,593 pixels) on Win32 D3D11 after newly synced from Babylon.js.",
"referenceImage": "torus-knot-mirror.png"
},
{
"title": "simple-sphere-in-4-mirrors",
"playgroundId": "#58CFTW#4",
"excludeFromAutomaticTesting": true,
"reason": "Pixel difference (~183,312 pixels) on Linux OpenGL and Win32 D3D11 after newly synced from Babylon.js.",
"referenceImage": "simple-sphere-in-4-mirrors.png"
},
{
"title": "procedural-texture-with-node-material",
"playgroundId": "#IA4X0H#1",
"renderCount": 10,
"excludeFromAutomaticTesting": true,
"reason": "Pixel difference (~102,584 pixels) on Linux OpenGL and Win32 D3D11 after newly synced from Babylon.js.",
"referenceImage": "procedural-texture-with-node-material.png"
},
{
Expand All @@ -2642,9 +2626,7 @@
"title": "simple-custom-shader",
"playgroundId": "#6GFJNR#2",
"renderCount": 5,
"referenceImage": "simple-custom-shader.png",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails on Linux and Win32 D3D11 after newly synced from Babylon.js."
"referenceImage": "simple-custom-shader.png"
},
{
"title": "show-multiple-guis",
Expand Down Expand Up @@ -2717,9 +2699,7 @@
"title": "change-texture-of-material",
"playgroundId": "#7PN9PH#2",
"renderCount": 10,
"referenceImage": "change-texture-of-material.png",
"excludeFromAutomaticTesting": true,
"reason": "Newly added test fails: 35k pixel difference on Linux Clang/GCC JSC and Win32 D3D11."
"referenceImage": "change-texture-of-material.png"
},
{
"title": "screen-space-curvature",
Expand Down Expand Up @@ -3660,15 +3640,15 @@
{
"title": "OpenPBR Thin Film Weight VS IOR - Analytic Lights",
"playgroundId": "#GRQHVV#87",
"excludeFromAutomaticTesting": true,
"reason": "Test crashes or hangs on Babylon Native",
"excludedGraphicsApis": ["OpenGL"],
"reason": "Thin-film renders as background on Linux desktop OpenGL (28798 px diff); passes on Win32 D3D11.",
"referenceImage": "OpenPBR-Thin-Film-Weight-VS-IOR---Analytic-Lights.png"
},
{
"title": "OpenPBR Thin Film Thickness VS IOR - Analytic Lights",
"playgroundId": "#GRQHVV#88",
"excludeFromAutomaticTesting": true,
"reason": "Test crashes or hangs on Babylon Native",
"excludedGraphicsApis": ["OpenGL"],
"reason": "Thin-film renders as background on Linux desktop OpenGL; passes on Win32 D3D11.",
"referenceImage": "OpenPBR-Thin-Film-Thickness-VS-IOR---Analytic-Lights.png"
},
{
Expand Down Expand Up @@ -3702,15 +3682,15 @@
{
"title": "OpenPBR Thin Film and Specular Weight - Analytic Lights",
"playgroundId": "#GRQHVV#95",
"excludeFromAutomaticTesting": true,
"reason": "Test crashes or hangs on Babylon Native",
"excludedGraphicsApis": ["OpenGL"],
"reason": "Thin-film renders as background on Linux desktop OpenGL; passes on Win32 D3D11.",
"referenceImage": "OpenPBR-Thin-Film-and-Specular-Weight---Analytic-Lights.png"
},
{
"title": "OpenPBR Thin Film and Specular Weight Metals - Analytic Lights",
"playgroundId": "#GRQHVV#96",
"excludeFromAutomaticTesting": true,
"reason": "Test crashes or hangs on Babylon Native",
"excludedGraphicsApis": ["OpenGL"],
"reason": "Thin-film renders as background on Linux desktop OpenGL; passes on Win32 D3D11.",
"referenceImage": "OpenPBR-Thin-Film-and-Specular-Weight-Metals---Analytic-Lights.png"
},
{
Expand Down Expand Up @@ -4829,8 +4809,6 @@
{
"title": "WebGPU async pipeline pre-warming",
"playgroundId": "#823Q62#0",
"excludeFromAutomaticTesting": true,
"reason": "Requires WebGL2-only feature (not supported by Babylon Native)",
"referenceImage": "webgpuAsyncPipelinePreWarm.png"
}
]
Expand Down
6 changes: 6 additions & 0 deletions Apps/Playground/Scripts/validation_native.js
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,12 @@
currentScene = null;
engine.setHardwareScalingLevel(1);

// Reset render state that persists on the reused engine so each test starts fresh.
// A test that leaves the stencil test enabled or a scissor rect set would otherwise
// corrupt later tests (e.g. the glow-layer test).
engine.setStencilBuffer(false);
engine.disableScissor();

// This is necessary because of https://github.com/BabylonJS/Babylon.js/pull/15217 so that each test starts fresh.
engine.releaseEffects();

Expand Down