From 5fd5cd270cb95a3e16ed9dd27fb30efc3699fa52 Mon Sep 17 00:00:00 2001 From: Juan Caldas Date: Thu, 21 Aug 2025 16:37:32 -0400 Subject: [PATCH] webgpu: Skip failing tests for WebGPU (#9133) BUGS = [424157731] --- filament/backend/test/test_Blit.cpp | 3 +++ filament/backend/test/test_FeedbackLoops.cpp | 3 +-- filament/backend/test/test_LoadImage.cpp | 4 ++++ filament/backend/test/test_ReadPixels.cpp | 1 + filament/backend/test/test_RenderExternalImage.cpp | 10 ++++++---- filament/backend/test/test_Scissor.cpp | 1 + filament/backend/test/test_StencilBuffer.cpp | 3 +++ 7 files changed, 19 insertions(+), 6 deletions(-) diff --git a/filament/backend/test/test_Blit.cpp b/filament/backend/test/test_Blit.cpp index 5a0f07ec5e..6b58fbff84 100644 --- a/filament/backend/test/test_Blit.cpp +++ b/filament/backend/test/test_Blit.cpp @@ -144,6 +144,7 @@ static void createFaces(DriverApi& dapi, Handle texture, int baseWidt } TEST_F(BlitTest, ColorMagnify) { + SKIP_IF(Backend::WEBGPU, "test cases fail in WebGPU, see b/424157731"); auto& api = getDriverApi(); mCleanup.addPostCall([&]() { executeCommands(); }); @@ -207,6 +208,7 @@ TEST_F(BlitTest, ColorMagnify) { } TEST_F(BlitTest, ColorMinify) { + SKIP_IF(Backend::WEBGPU, "test cases fail in WebGPU, see b/424157731"); auto& api = getDriverApi(); mCleanup.addPostCall([&]() { executeCommands(); }); @@ -262,6 +264,7 @@ TEST_F(BlitTest, ColorMinify) { } TEST_F(BlitTest, ColorResolve) { + SKIP_IF(Backend::WEBGPU, "test cases fail in WebGPU, see b/424157731"); NONFATAL_FAIL_IF(SkipEnvironment(OperatingSystem::APPLE, Backend::VULKAN), "Nothing is drawn, see b/417229577"); auto& api = getDriverApi(); diff --git a/filament/backend/test/test_FeedbackLoops.cpp b/filament/backend/test/test_FeedbackLoops.cpp index e3a33e7d06..7adbb1325e 100644 --- a/filament/backend/test/test_FeedbackLoops.cpp +++ b/filament/backend/test/test_FeedbackLoops.cpp @@ -104,7 +104,6 @@ TEST_F(BackendTest, FeedbackLoops) { SKIP_IF(SkipEnvironment(OperatingSystem::APPLE, Backend::OPENGL), "OpenGL image is upside down due to readPixels failing for texture with uploaded image " "data"); - FAIL_IF(Backend::WEBGPU, "BUG"); auto& api = getDriverApi(); Cleanup cleanup(api); @@ -127,7 +126,7 @@ TEST_F(BackendTest, FeedbackLoops) { TrianglePrimitive const triangle(getDriverApi()); // Create a texture. - auto usage = TextureUsage::COLOR_ATTACHMENT | TextureUsage::SAMPLEABLE; + auto usage = TextureUsage::COLOR_ATTACHMENT | TextureUsage::SAMPLEABLE | TextureUsage::UPLOADABLE; Handle const texture = cleanup.add(api.createTexture( SamplerType::SAMPLER_2D, kNumLevels, kTexFormat, 1, kTexWidth, kTexHeight, 1, usage)); diff --git a/filament/backend/test/test_LoadImage.cpp b/filament/backend/test/test_LoadImage.cpp index 5a5cbf76dc..df982d00fb 100644 --- a/filament/backend/test/test_LoadImage.cpp +++ b/filament/backend/test/test_LoadImage.cpp @@ -231,6 +231,7 @@ public: }; TEST_F(LoadImageTest, UpdateImage2D) { + SKIP_IF(Backend::WEBGPU, "test cases fail in WebGPU, see b/424157731"); FAIL_IF(Backend::VULKAN, "Multiple test cases crash, see b/417481434"); // All of these test cases should result in the same rendered image, and thus the same hash. @@ -391,6 +392,7 @@ TEST_F(LoadImageTest, UpdateImage2D) { } TEST_F(LoadImageTest, UpdateImageSRGB) { + SKIP_IF(Backend::WEBGPU, "test cases fail in WebGPU, see b/424157731"); FAIL_IF(SkipEnvironment(OperatingSystem::APPLE, Backend::VULKAN), "Crashing when reading pixels without a redundant call to makeCurrent right before the" "render pass. b/422798473"); @@ -479,6 +481,7 @@ TEST_F(LoadImageTest, UpdateImageSRGB) { } TEST_F(LoadImageTest, UpdateImageMipLevel) { + SKIP_IF(Backend::WEBGPU, "test cases fail in WebGPU, see b/424157731"); FAIL_IF(SkipEnvironment(OperatingSystem::APPLE, Backend::VULKAN), "Crashing when reading pixels without a redundant call to makeCurrent right before the" "render pass. b/422798473"); @@ -555,6 +558,7 @@ TEST_F(LoadImageTest, UpdateImageMipLevel) { } TEST_F(LoadImageTest, UpdateImage3D) { + SKIP_IF(Backend::WEBGPU, "test cases fail in WebGPU, see b/424157731"); FAIL_IF(SkipEnvironment(OperatingSystem::APPLE, Backend::VULKAN), "Crashing when reading pixels without a redundant call to makeCurrent right before the" "render pass. b/422798473"); diff --git a/filament/backend/test/test_ReadPixels.cpp b/filament/backend/test/test_ReadPixels.cpp index 356ec046d6..8f0388f5f2 100644 --- a/filament/backend/test/test_ReadPixels.cpp +++ b/filament/backend/test/test_ReadPixels.cpp @@ -80,6 +80,7 @@ public: }; TEST_F(ReadPixelsTest, ReadPixels) { + SKIP_IF(Backend::WEBGPU, "test cases fail in WebGPU, see b/424157731"); NONFATAL_FAIL_IF(SkipEnvironment(OperatingSystem::APPLE, Backend::VULKAN), "Two cases fail, see b/417255941 and b/417255943"); // These test scenarios use a known hash of the result pixel buffer to decide pass / fail, diff --git a/filament/backend/test/test_RenderExternalImage.cpp b/filament/backend/test/test_RenderExternalImage.cpp index cad0c896cd..f65b19a461 100644 --- a/filament/backend/test/test_RenderExternalImage.cpp +++ b/filament/backend/test/test_RenderExternalImage.cpp @@ -46,8 +46,9 @@ Shader createShader(DriverApi& api, Cleanup& cleanup, Backend backend) { // Rendering an external image without setting any data should not crash. TEST_F(BackendTest, RenderExternalImageWithoutSet) { - SKIP_IF(Backend::METAL, "External images aren't supported in metal"); - SKIP_IF(Backend::VULKAN, "External images aren't supported in vulkan"); + SKIP_IF(Backend::METAL, "External images aren't supported in Metal"); + SKIP_IF(Backend::VULKAN, "External images aren't supported in Vulkan"); + SKIP_IF(Backend::WEBGPU, "External images aren't supported in WebGPU"); auto& api = getDriverApi(); Cleanup cleanup(api); @@ -109,8 +110,9 @@ TEST_F(BackendTest, RenderExternalImageWithoutSet) { } TEST_F(BackendTest, RenderExternalImage) { - SKIP_IF(Backend::METAL, "External images aren't supported in metal"); - SKIP_IF(Backend::VULKAN, "External images aren't supported in vulkan"); + SKIP_IF(Backend::METAL, "External images aren't supported in Metal"); + SKIP_IF(Backend::VULKAN, "External images aren't supported in Vulkan"); + SKIP_IF(Backend::WEBGPU, "External images aren't supported in WebGPU"); auto& api = getDriverApi(); Cleanup cleanup(api); diff --git a/filament/backend/test/test_Scissor.cpp b/filament/backend/test/test_Scissor.cpp index 92f1218797..8d56a1a8e2 100644 --- a/filament/backend/test/test_Scissor.cpp +++ b/filament/backend/test/test_Scissor.cpp @@ -31,6 +31,7 @@ using namespace filament; using namespace filament::backend; TEST_F(BackendTest, ScissorViewportRegion) { + SKIP_IF(Backend::WEBGPU, "test cases fail in WebGPU, see b/424157731"); NONFATAL_FAIL_IF(SkipEnvironment(OperatingSystem::APPLE, Backend::VULKAN), "Affected area in wrong corner, see b/417229118"); auto& api = getDriverApi(); diff --git a/filament/backend/test/test_StencilBuffer.cpp b/filament/backend/test/test_StencilBuffer.cpp index b8715869bf..6570eb5d2c 100644 --- a/filament/backend/test/test_StencilBuffer.cpp +++ b/filament/backend/test/test_StencilBuffer.cpp @@ -126,6 +126,7 @@ public: }; TEST_F(BasicStencilBufferTest, StencilBuffer) { + SKIP_IF(Backend::WEBGPU, "test cases fail in WebGPU, see b/424157731"); SKIP_IF(SkipEnvironment(OperatingSystem::APPLE, Backend::VULKAN), "Stencil not supported, see b/417230776"); auto& api = getDriverApi(); @@ -152,6 +153,7 @@ TEST_F(BasicStencilBufferTest, StencilBuffer) { } TEST_F(BasicStencilBufferTest, DepthAndStencilBuffer) { + SKIP_IF(Backend::WEBGPU, "test cases fail in WebGPU, see b/424157731"); SKIP_IF(SkipEnvironment(OperatingSystem::APPLE, Backend::VULKAN), "Stencil not supported, see b/417230776"); auto& api = getDriverApi(); @@ -178,6 +180,7 @@ TEST_F(BasicStencilBufferTest, DepthAndStencilBuffer) { } TEST_F(BasicStencilBufferTest, StencilBufferMSAA) { + SKIP_IF(Backend::WEBGPU, "test cases fail in WebGPU, see b/424157731"); SKIP_IF(SkipEnvironment(OperatingSystem::APPLE, Backend::VULKAN), "Stencil not supported, see b/417230776"); SKIP_IF(SkipEnvironment(OperatingSystem::APPLE, Backend::OPENGL), "Stencil isn't applied");