Remove DAWN_SKIP_TEST_IF -- Part II

This is the last patch to replace DAWN_SKIP_TEST_IF with
DAWN_SUPPRESS_TEST_IF or DAWN_TEST_UNSUPPORTED_IF. With this patch
DAWN_SKIP_TEST_IF will be completely removed from Dawn.

BUG=dawn:779

Change-Id: I5aec03697877ff9c6fa175f8d16eba951dd94cfa
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/51806
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
This commit is contained in:
Jiawei Shao 2021-05-26 01:04:32 +00:00 committed by Dawn LUCI CQ
parent 84f6730101
commit 44fc6e3ab5
34 changed files with 167 additions and 204 deletions

View File

@ -453,11 +453,6 @@ class DawnTestBase {
} \
} while (0)
// Skip a test when the given condition is satisfied.
// TODO(jiawei.shao@intel.com): Replace this macro with DAWN_TEST_UNSUPPORTED_IF or
// DAWN_SUPPRESS_TEST_IF.
#define DAWN_SKIP_TEST_IF(condition) DAWN_SKIP_TEST_IF_BASE(condition, "skipped", condition)
// Skip a test which requires an extension or a toggle to be present / not present or some WIP
// features.
#define DAWN_TEST_UNSUPPORTED_IF(condition) \

View File

@ -52,7 +52,7 @@ class FirstIndexOffsetTests : public DawnTest {
// WGSL doesn't have the ability to tag attributes as "flat". "flat" is required on u32
// attributes for correct runtime behavior under Vulkan and codegen under OpenGL(ES).
// TODO(tint:451): Remove once resolved by spec/tint
DAWN_SKIP_TEST_IF(IsVulkan() || IsOpenGL() || IsOpenGLES());
DAWN_SUPPRESS_TEST_IF(IsVulkan() || IsOpenGL() || IsOpenGLES());
}
private:

View File

@ -230,7 +230,7 @@ TEST_P(GpuMemorySyncTests, ComputePassToRenderPass) {
TEST_P(GpuMemorySyncTests, SampledAndROStorageTextureInComputePass) {
// TODO(crbug.com/dawn/646): diagnose and fix this OpenGL ES backend validation failure.
// "GL_INVALID_OPERATION error generated. Image variable update is not allowed."
DAWN_SKIP_TEST_IF(IsOpenGLES() && IsBackendValidationEnabled());
DAWN_SUPPRESS_TEST_IF(IsOpenGLES() && IsBackendValidationEnabled());
// Create a storage + sampled texture of one texel initialized to 1
wgpu::TextureDescriptor texDesc;
@ -631,7 +631,7 @@ TEST_P(MultipleWriteThenMultipleReadTests, OneBuffer) {
// TODO(crbug.com/dawn/646): diagnose and fix this OpenGL ES failure.
// "Push constant block cannot be expressed as neither std430 nor std140. ES-targets do not
// support GL_ARB_enhanced_layouts."
DAWN_SKIP_TEST_IF(IsOpenGLES());
DAWN_SUPPRESS_TEST_IF(IsOpenGLES());
// Create pipeline, bind group, and a complex buffer for compute pass.
wgpu::ShaderModule csModule = utils::CreateShaderModule(device, R"(

View File

@ -133,14 +133,14 @@ class IOSurfaceValidationTests : public IOSurfaceTestBase {
// Test a successful wrapping of an IOSurface in a texture
TEST_P(IOSurfaceValidationTests, Success) {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
wgpu::Texture texture = WrapIOSurface(&descriptor, defaultIOSurface.get(), 0);
ASSERT_NE(texture.Get(), nullptr);
}
// Test an error occurs if the texture descriptor is invalid
TEST_P(IOSurfaceValidationTests, InvalidTextureDescriptor) {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
wgpu::ChainedStruct chainedDescriptor;
descriptor.nextInChain = &chainedDescriptor;
@ -152,7 +152,7 @@ TEST_P(IOSurfaceValidationTests, InvalidTextureDescriptor) {
// Test an error occurs if the plane is too large
TEST_P(IOSurfaceValidationTests, PlaneTooLarge) {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
ASSERT_DEVICE_ERROR(wgpu::Texture texture =
WrapIOSurface(&descriptor, defaultIOSurface.get(), 1));
ASSERT_EQ(texture.Get(), nullptr);
@ -161,7 +161,7 @@ TEST_P(IOSurfaceValidationTests, PlaneTooLarge) {
// Test an error occurs if the descriptor dimension isn't 2D
// TODO(cwallez@chromium.org): Reenable when 1D or 3D textures are implemented
TEST_P(IOSurfaceValidationTests, DISABLED_InvalidTextureDimension) {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
descriptor.dimension = wgpu::TextureDimension::e2D;
ASSERT_DEVICE_ERROR(wgpu::Texture texture =
@ -171,7 +171,7 @@ TEST_P(IOSurfaceValidationTests, DISABLED_InvalidTextureDimension) {
// Test an error occurs if the descriptor mip level count isn't 1
TEST_P(IOSurfaceValidationTests, InvalidMipLevelCount) {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
descriptor.mipLevelCount = 2;
ASSERT_DEVICE_ERROR(wgpu::Texture texture =
@ -181,7 +181,7 @@ TEST_P(IOSurfaceValidationTests, InvalidMipLevelCount) {
// Test an error occurs if the descriptor depth isn't 1
TEST_P(IOSurfaceValidationTests, InvalidDepth) {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
descriptor.size.depthOrArrayLayers = 2;
ASSERT_DEVICE_ERROR(wgpu::Texture texture =
@ -191,7 +191,7 @@ TEST_P(IOSurfaceValidationTests, InvalidDepth) {
// Test an error occurs if the descriptor sample count isn't 1
TEST_P(IOSurfaceValidationTests, InvalidSampleCount) {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
descriptor.sampleCount = 4;
ASSERT_DEVICE_ERROR(wgpu::Texture texture =
@ -201,7 +201,7 @@ TEST_P(IOSurfaceValidationTests, InvalidSampleCount) {
// Test an error occurs if the descriptor width doesn't match the surface's
TEST_P(IOSurfaceValidationTests, InvalidWidth) {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
descriptor.size.width = 11;
ASSERT_DEVICE_ERROR(wgpu::Texture texture =
@ -211,7 +211,7 @@ TEST_P(IOSurfaceValidationTests, InvalidWidth) {
// Test an error occurs if the descriptor height doesn't match the surface's
TEST_P(IOSurfaceValidationTests, InvalidHeight) {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
descriptor.size.height = 11;
ASSERT_DEVICE_ERROR(wgpu::Texture texture =
@ -221,7 +221,7 @@ TEST_P(IOSurfaceValidationTests, InvalidHeight) {
// Test an error occurs if the descriptor format isn't compatible with the IOSurface's
TEST_P(IOSurfaceValidationTests, InvalidFormat) {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
descriptor.format = wgpu::TextureFormat::R8Unorm;
ASSERT_DEVICE_ERROR(wgpu::Texture texture =
@ -373,7 +373,7 @@ class IOSurfaceUsageTests : public IOSurfaceTestBase {
// Test sampling from a R8 IOSurface
TEST_P(IOSurfaceUsageTests, SampleFromR8IOSurface) {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
ScopedIOSurfaceRef ioSurface =
CreateSinglePlaneIOSurface(1, 1, kCVPixelFormatType_OneComponent8, 1);
@ -384,7 +384,7 @@ TEST_P(IOSurfaceUsageTests, SampleFromR8IOSurface) {
// Test clearing a R8 IOSurface
TEST_P(IOSurfaceUsageTests, ClearR8IOSurface) {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
ScopedIOSurfaceRef ioSurface =
CreateSinglePlaneIOSurface(1, 1, kCVPixelFormatType_OneComponent8, 1);
@ -394,7 +394,7 @@ TEST_P(IOSurfaceUsageTests, ClearR8IOSurface) {
// Test sampling from a RG8 IOSurface
TEST_P(IOSurfaceUsageTests, SampleFromRG8IOSurface) {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
ScopedIOSurfaceRef ioSurface =
CreateSinglePlaneIOSurface(1, 1, kCVPixelFormatType_TwoComponent8, 2);
@ -405,7 +405,7 @@ TEST_P(IOSurfaceUsageTests, SampleFromRG8IOSurface) {
// Test clearing a RG8 IOSurface
TEST_P(IOSurfaceUsageTests, ClearRG8IOSurface) {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
ScopedIOSurfaceRef ioSurface =
CreateSinglePlaneIOSurface(1, 1, kCVPixelFormatType_TwoComponent8, 2);
@ -415,7 +415,7 @@ TEST_P(IOSurfaceUsageTests, ClearRG8IOSurface) {
// Test sampling from a BGRA8 IOSurface
TEST_P(IOSurfaceUsageTests, SampleFromBGRA8IOSurface) {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
ScopedIOSurfaceRef ioSurface = CreateSinglePlaneIOSurface(1, 1, kCVPixelFormatType_32BGRA, 4);
uint32_t data = 0x01020304; // Stored as (A, R, G, B)
@ -425,7 +425,7 @@ TEST_P(IOSurfaceUsageTests, SampleFromBGRA8IOSurface) {
// Test clearing a BGRA8 IOSurface
TEST_P(IOSurfaceUsageTests, ClearBGRA8IOSurface) {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
ScopedIOSurfaceRef ioSurface = CreateSinglePlaneIOSurface(1, 1, kCVPixelFormatType_32BGRA, 4);
uint32_t data = 0x04010203;
@ -434,7 +434,7 @@ TEST_P(IOSurfaceUsageTests, ClearBGRA8IOSurface) {
// Test sampling from an RGBA8 IOSurface
TEST_P(IOSurfaceUsageTests, SampleFromRGBA8IOSurface) {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
ScopedIOSurfaceRef ioSurface = CreateSinglePlaneIOSurface(1, 1, kCVPixelFormatType_32RGBA, 4);
uint32_t data = 0x01020304; // Stored as (A, B, G, R)
@ -444,7 +444,7 @@ TEST_P(IOSurfaceUsageTests, SampleFromRGBA8IOSurface) {
// Test clearing an RGBA8 IOSurface
TEST_P(IOSurfaceUsageTests, ClearRGBA8IOSurface) {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
ScopedIOSurfaceRef ioSurface = CreateSinglePlaneIOSurface(1, 1, kCVPixelFormatType_32RGBA, 4);
uint32_t data = 0x04030201;
@ -453,7 +453,7 @@ TEST_P(IOSurfaceUsageTests, ClearRGBA8IOSurface) {
// Test that texture with color is cleared when isInitialized = false
TEST_P(IOSurfaceUsageTests, UninitializedTextureIsCleared) {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
ScopedIOSurfaceRef ioSurface = CreateSinglePlaneIOSurface(1, 1, kCVPixelFormatType_32RGBA, 4);
uint32_t data = 0x04030201;

View File

@ -24,7 +24,7 @@ class MultisampledRenderingTest : public DawnTest {
DawnTest::SetUp();
// TODO(crbug.com/dawn/738): Test output is wrong with D3D12 + WARP.
DAWN_SKIP_TEST_IF(IsD3D12() && IsWARP());
DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsWARP());
InitTexturesForTest();
}
@ -419,7 +419,7 @@ TEST_P(MultisampledRenderingTest, ResolveInAnotherRenderPass) {
// Test doing MSAA resolve into multiple resolve targets works correctly.
TEST_P(MultisampledRenderingTest, ResolveIntoMultipleResolveTargets) {
// TODO(dawn:462): Investigate backend validation failure.
DAWN_SKIP_TEST_IF(IsD3D12() && IsNvidia() && IsBackendValidationEnabled());
DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsNvidia() && IsBackendValidationEnabled());
wgpu::TextureView multisampledColorView2 =
CreateTextureForRenderAttachment(kColorFormat, kSampleCount).CreateView();
@ -497,7 +497,7 @@ TEST_P(MultisampledRenderingTest, ResolveOneMultisampledTextureTwice) {
// Test using a layer of a 2D texture as resolve target works correctly.
TEST_P(MultisampledRenderingTest, ResolveIntoOneMipmapLevelOf2DTexture) {
// TODO(dawn:462): Investigate backend validation failure.
DAWN_SKIP_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
constexpr uint32_t kBaseMipLevel = 2;
@ -535,7 +535,7 @@ TEST_P(MultisampledRenderingTest, ResolveIntoOneMipmapLevelOf2DTexture) {
// Test using a level or a layer of a 2D array texture as resolve target works correctly.
TEST_P(MultisampledRenderingTest, ResolveInto2DArrayTexture) {
// TODO(dawn:462): Investigate backend validation failure.
DAWN_SKIP_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
wgpu::TextureView multisampledColorView2 =
CreateTextureForRenderAttachment(kColorFormat, kSampleCount).CreateView();
@ -756,15 +756,15 @@ TEST_P(MultisampledRenderingTest, MultisampledRenderingWithDepthTestAndSampleMas
TEST_P(MultisampledRenderingTest, ResolveInto2DTextureWithSampleMaskAndShaderOutputMask) {
// TODO(github.com/KhronosGroup/SPIRV-Cross/issues/1626): SPIRV-Cross produces bad GLSL for
// unsigned SampleMask builtins
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator") && (IsOpenGL() || IsOpenGLES()));
DAWN_SUPPRESS_TEST_IF(HasToggleEnabled("use_tint_generator") && (IsOpenGL() || IsOpenGLES()));
// TODO(crbug.com/dawn/673): Work around or enforce via validation that sample variables are not
// supported on some platforms.
DAWN_SKIP_TEST_IF(HasToggleEnabled("disable_sample_variables"));
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_sample_variables"));
// TODO(cwallez@chromium.org): Fails on Metal / D3D12 because SPIRV-Cross produces bad shaders
// for the SPIR-V outputted by Tint. Reenable once we use Tint's MSL / HLSL generators.
DAWN_SKIP_TEST_IF(IsD3D12() || IsMetal());
DAWN_SUPPRESS_TEST_IF(IsD3D12() || IsMetal());
constexpr bool kTestDepth = false;
wgpu::CommandEncoder commandEncoder = device.CreateCommandEncoder();
@ -818,15 +818,15 @@ TEST_P(MultisampledRenderingTest, ResolveInto2DTextureWithSampleMaskAndShaderOut
TEST_P(MultisampledRenderingTest, ResolveIntoMultipleResolveTargetsWithShaderOutputMask) {
// TODO(github.com/KhronosGroup/SPIRV-Cross/issues/1626): SPIRV-Cross produces bad GLSL for
// unsigned SampleMask builtins
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator") && (IsOpenGL() || IsOpenGLES()));
DAWN_SUPPRESS_TEST_IF(HasToggleEnabled("use_tint_generator") && (IsOpenGL() || IsOpenGLES()));
// TODO(crbug.com/dawn/673): Work around or enforce via validation that sample variables are not
// supported on some platforms.
DAWN_SKIP_TEST_IF(HasToggleEnabled("disable_sample_variables"));
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_sample_variables"));
// TODO(cwallez@chromium.org): Fails on Metal / D3D12 because SPIRV-Cross produces bad shaders
// for the SPIR-V outputted by Tint. Reenable once we use Tint's MSL / HLSL generators.
DAWN_SKIP_TEST_IF(IsD3D12() || IsMetal());
DAWN_SUPPRESS_TEST_IF(IsD3D12() || IsMetal());
wgpu::TextureView multisampledColorView2 =
CreateTextureForRenderAttachment(kColorFormat, kSampleCount).CreateView();
@ -986,7 +986,7 @@ TEST_P(MultisampledRenderingTest, ResolveIntoMultipleResolveTargetsWithAlphaToCo
TEST_P(MultisampledRenderingTest, MultisampledRenderingWithDepthTestAndAlphaToCoverage) {
// This test fails because Swiftshader is off-by-one with its ((a+b)/2 + (c+d)/2)/2 fast resolve
// algorithm.
DAWN_SKIP_TEST_IF(IsSwiftshader() || IsANGLE());
DAWN_SUPPRESS_TEST_IF(IsSwiftshader() || IsANGLE());
constexpr bool kTestDepth = true;
constexpr uint32_t kSampleMask = 0xFFFFFFFF;
@ -1047,12 +1047,12 @@ TEST_P(MultisampledRenderingTest, MultisampledRenderingWithDepthTestAndAlphaToCo
TEST_P(MultisampledRenderingTest, ResolveInto2DTextureWithAlphaToCoverageAndSampleMask) {
// This test fails because Swiftshader is off-by-one with its ((a+b)/2 + (c+d)/2)/2 fast resolve
// algorithm.
DAWN_SKIP_TEST_IF(IsSwiftshader() || IsANGLE());
DAWN_SUPPRESS_TEST_IF(IsSwiftshader() || IsANGLE());
// TODO(dawn:491): This doesn't work on Metal, because we're using both the shader-output
// mask (emulting the sampleMask from RenderPipeline) and alpha-to-coverage at the same
// time. See the issue: https://github.com/gpuweb/gpuweb/issues/959.
DAWN_SKIP_TEST_IF(IsMetal());
DAWN_SUPPRESS_TEST_IF(IsMetal());
constexpr bool kTestDepth = false;
constexpr float kMSAACoverage = 0.50f;
@ -1092,7 +1092,7 @@ TEST_P(MultisampledRenderingTest, ResolveInto2DTextureWithAlphaToCoverageAndSamp
TEST_P(MultisampledRenderingTest, ResolveInto2DTextureWithAlphaToCoverageAndRasterizationMask) {
// This test fails because Swiftshader is off-by-one with its ((a+b)/2 + (c+d)/2)/2 fast resolve
// algorithm.
DAWN_SKIP_TEST_IF(IsSwiftshader() || IsANGLE());
DAWN_SUPPRESS_TEST_IF(IsSwiftshader() || IsANGLE());
constexpr bool kTestDepth = false;
constexpr float kMSAACoverage = 0.50f;

View File

@ -74,7 +74,7 @@ TEST_P(NonzeroBufferCreationTests, BufferCreationWithMappedAtCreation) {
// are done in the Dawn wire and we don't plan to get it work with the toggle
// "nonzero_clear_resources_on_creation_for_testing" (we will have more tests on it in the
// BufferZeroInitTests.
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
constexpr uint32_t kSize = 32u;

View File

@ -59,7 +59,8 @@ TEST_P(NonzeroTextureCreationTests, TextureCreationClears) {
TEST_P(NonzeroTextureCreationTests, Texture3DCreationClears) {
// TODO(crbug.com/dawn/547): 3D texture copies not fully implemented on D3D12.
// TODO(crbug.com/angleproject/5967): This texture readback hits an assert in ANGLE.
DAWN_SKIP_TEST_IF(IsANGLE() || IsD3D12());
DAWN_TEST_UNSUPPORTED_IF(IsD3D12());
DAWN_SUPPRESS_TEST_IF(IsANGLE());
wgpu::TextureDescriptor descriptor;
descriptor.dimension = wgpu::TextureDimension::e3D;
@ -79,7 +80,7 @@ TEST_P(NonzeroTextureCreationTests, Texture3DCreationClears) {
// Test that a depth texture clears 0xFF because toggle is enabled.
TEST_P(NonzeroTextureCreationTests, Depth32TextureCreationDepthClears) {
// Copies from depth textures not fully supported on the OpenGL backend right now.
DAWN_SKIP_TEST_IF(IsOpenGL() || IsOpenGLES());
DAWN_TEST_UNSUPPORTED_IF(IsOpenGL() || IsOpenGLES());
wgpu::TextureDescriptor descriptor;
descriptor.dimension = wgpu::TextureDimension::e2D;
@ -162,7 +163,7 @@ TEST_P(NonzeroTextureCreationTests, MipMapClears) {
TEST_P(NonzeroTextureCreationTests, NonrenderableTextureFormat) {
// TODO(crbug.com/dawn/667): Work around the fact that some platforms do not support reading
// from Snorm textures.
DAWN_SKIP_TEST_IF(HasToggleEnabled("disable_snorm_read"));
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_snorm_read"));
wgpu::TextureDescriptor descriptor;
descriptor.dimension = wgpu::TextureDimension::e2D;

View File

@ -76,7 +76,7 @@ TEST_P(ObjectCachingTest, BindGroupLayoutViewDimension) {
// Test that an error object doesn't try to uncache itself
TEST_P(ObjectCachingTest, ErrorObjectDoesntUncache) {
DAWN_SKIP_TEST_IF(HasToggleEnabled("skip_validation"));
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("skip_validation"));
ASSERT_DEVICE_ERROR(
wgpu::BindGroupLayout bgl = utils::MakeBindGroupLayout(

View File

@ -100,8 +100,8 @@ class OpArrayLengthTest : public DawnTest {
TEST_P(OpArrayLengthTest, Compute) {
// TODO(cwallez@chromium.org): The computations for length() of unsized buffer is broken on
// Nvidia OpenGL. See https://bugs.chromium.org/p/dawn/issues/detail?id=197
DAWN_SKIP_TEST_IF(IsNvidia() && IsOpenGL());
DAWN_SKIP_TEST_IF(IsNvidia() && IsOpenGLES());
DAWN_SUPPRESS_TEST_IF(IsNvidia() && (IsOpenGL() || IsOpenGLES()));
// Create a buffer to hold the result sizes and create a bindgroup for it.
wgpu::BufferDescriptor bufferDesc;
bufferDesc.usage = wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopySrc;
@ -157,8 +157,7 @@ TEST_P(OpArrayLengthTest, Compute) {
TEST_P(OpArrayLengthTest, Fragment) {
// TODO(cwallez@chromium.org): The computations for length() of unsized buffer is broken on
// Nvidia OpenGL. See https://bugs.chromium.org/p/dawn/issues/detail?id=197
DAWN_SKIP_TEST_IF(IsNvidia() && IsOpenGL());
DAWN_SKIP_TEST_IF(IsNvidia() && IsOpenGLES());
DAWN_SUPPRESS_TEST_IF(IsNvidia() && (IsOpenGL() || IsOpenGLES()));
utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, 1, 1);
@ -210,8 +209,8 @@ TEST_P(OpArrayLengthTest, Vertex) {
// TODO(cwallez@chromium.org): The computations for length() of unsized buffer is broken on
// Nvidia OpenGL. Also failing on all GLES (NV, Intel, SwANGLE). See
// https://bugs.chromium.org/p/dawn/issues/detail?id=197
DAWN_SKIP_TEST_IF(IsNvidia() && IsOpenGL());
DAWN_SKIP_TEST_IF(IsOpenGLES());
DAWN_SUPPRESS_TEST_IF(IsNvidia() && IsOpenGL());
DAWN_SUPPRESS_TEST_IF(IsOpenGLES());
utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, 1, 1);

View File

@ -24,7 +24,7 @@ class DepthClampingTest : public DawnTest {
protected:
void SetUp() override {
DawnTest::SetUp();
DAWN_SKIP_TEST_IF(!SupportsExtensions({"depth_clamping"}));
DAWN_TEST_UNSUPPORTED_IF(!SupportsExtensions({"depth_clamping"}));
wgpu::TextureDescriptor renderTargetDescriptor;
renderTargetDescriptor.size = {kRTSize, kRTSize};

View File

@ -114,12 +114,12 @@ TEST_P(QueueWriteBufferTests, ManyWriteBuffer) {
// TODO(https://bugs.chromium.org/p/dawn/issues/detail?id=228): Re-enable
// once the issue with Metal on 10.14.6 is fixed.
DAWN_SKIP_TEST_IF(IsMacOS() && IsIntel() && IsMetal());
DAWN_SUPPRESS_TEST_IF(IsMacOS() && IsIntel() && IsMetal());
// The Vulkan Validation Layers' memory barrier validation keeps track of every range written
// to independently which causes validation of each WriteBuffer to take increasing time, and
// this test to take forever. Skip it when VVLs are enabled.
DAWN_SKIP_TEST_IF(IsVulkan() && IsBackendValidationEnabled());
DAWN_SUPPRESS_TEST_IF(IsVulkan() && IsBackendValidationEnabled());
constexpr uint64_t kSize = 4000 * 1000;
constexpr uint32_t kElements = 250 * 250;

View File

@ -242,7 +242,7 @@ TEST_P(RenderPassLoadOpTests, LoadOpClearOnIntegerFormats) {
TEST_P(RenderPassLoadOpTests, LoadOpClearIntegerFormatsToLargeValues) {
// TODO(http://crbug.com/dawn/537): Implemement a workaround to enable clearing integer formats
// to large values on D3D12.
DAWN_SKIP_TEST_IF(IsD3D12());
DAWN_SUPPRESS_TEST_IF(IsD3D12());
constexpr double kUint32MaxDouble = 4294967295.0;
constexpr uint32_t kUint32Max = static_cast<uint32_t>(kUint32MaxDouble);

View File

@ -276,9 +276,9 @@ class SamplerFilterAnisotropicTest : public DawnTest {
TEST_P(SamplerFilterAnisotropicTest, SlantedPlaneMipmap) {
// TODO(crbug.com/dawn/740): Test output is wrong with D3D12 + WARP.
DAWN_SKIP_TEST_IF(IsD3D12() && IsWARP());
DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsWARP());
DAWN_SKIP_TEST_IF(IsOpenGL() || IsOpenGLES());
DAWN_SUPPRESS_TEST_IF(IsOpenGL() || IsOpenGLES());
const uint16_t maxAnisotropyLists[] = {1, 2, 16, 128};
for (uint16_t t : maxAnisotropyLists) {
TestFilterAnisotropic(t);

View File

@ -87,7 +87,7 @@ TEST_P(ShaderTests, ComputeLog2) {
}
TEST_P(ShaderTests, BadWGSL) {
DAWN_SKIP_TEST_IF(HasToggleEnabled("skip_validation"));
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("skip_validation"));
std::string shader = R"(
I am an invalid shader and should never pass validation!
@ -263,7 +263,7 @@ fn main(input : FragmentIn) -> [[location(0)]] vec4<f32> {
// Tests that shaders I/O structs can be shared between vertex and fragment shaders.
TEST_P(ShaderTests, WGSLSharedStructIO) {
// TODO(tint:714): Not yet implemeneted in tint yet, but intended to work.
DAWN_SKIP_TEST_IF(IsD3D12() || IsVulkan() || IsMetal() || IsOpenGL() || IsOpenGLES());
DAWN_SUPPRESS_TEST_IF(IsD3D12() || IsVulkan() || IsMetal() || IsOpenGL() || IsOpenGLES());
std::string shader = R"(
struct VertexIn {

View File

@ -775,7 +775,7 @@ fn main([[location(0)]] color : vec4<f32>) -> [[location(0)]] vec4<f32> {
TEST_P(StorageTextureTests, ReadonlyStorageTextureInFragmentShader) {
// TODO(crbug.com/dawn/672): Investigate why this test fails on Linux
// NVidia OpenGLES drivers.
DAWN_SKIP_TEST_IF(IsNvidia() && IsLinux() && IsOpenGLES());
DAWN_SUPPRESS_TEST_IF(IsNvidia() && IsLinux() && IsOpenGLES());
for (wgpu::TextureFormat format : utils::kAllTextureFormats) {
if (!utils::TextureFormatSupportsStorageTexture(format)) {
@ -843,7 +843,7 @@ TEST_P(StorageTextureTests, WriteonlyStorageTextureInComputeShader) {
// texture in one dispatch are supported in compute shader.
TEST_P(StorageTextureTests, ReadWriteDifferentStorageTextureInOneDispatchInComputeShader) {
// TODO(crbug.com/dawn/636): diagnose and fix this failure on OpenGL ES
DAWN_SKIP_TEST_IF(IsOpenGLES());
DAWN_SUPPRESS_TEST_IF(IsOpenGLES());
for (wgpu::TextureFormat format : utils::kAllTextureFormats) {
if (!utils::TextureFormatSupportsStorageTexture(format)) {
@ -882,7 +882,7 @@ TEST_P(StorageTextureTests, ReadWriteDifferentStorageTextureInOneDispatchInCompu
TEST_P(StorageTextureTests, WriteonlyStorageTextureInFragmentShader) {
// TODO(crbug.com/dawn/672): Investigate why this test fails on Linux
// NVidia OpenGLES drivers.
DAWN_SKIP_TEST_IF(IsNvidia() && IsLinux() && IsOpenGLES());
DAWN_SUPPRESS_TEST_IF(IsNvidia() && IsLinux() && IsOpenGLES());
for (wgpu::TextureFormat format : utils::kAllTextureFormats) {
if (!utils::TextureFormatSupportsStorageTexture(format)) {
@ -973,7 +973,7 @@ TEST_P(StorageTextureTests, Writeonly2DArrayStorageTexture) {
// texture and a write-only storage texture are synchronized in one pass.
TEST_P(StorageTextureTests, ReadonlyAndWriteonlyStorageTexturePingPong) {
// TODO(crbug.com/dawn/636): diagnose and fix this failure on OpenGL ES
DAWN_SKIP_TEST_IF(IsOpenGLES());
DAWN_SUPPRESS_TEST_IF(IsOpenGLES());
constexpr wgpu::TextureFormat kTextureFormat = wgpu::TextureFormat::R32Uint;
wgpu::Texture storageTexture1 = CreateTexture(

View File

@ -25,7 +25,7 @@ class SwapChainTests : public DawnTest {
public:
void SetUp() override {
DawnTest::SetUp();
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
glfwSetErrorCallback([](int code, const char* message) {
dawn::ErrorLog() << "GLFW error " << code << " " << message;
@ -138,11 +138,11 @@ TEST_P(SwapChainTests, DestroySurfaceAfterGet) {
TEST_P(SwapChainTests, SwitchPresentMode) {
// Fails with "internal drawable creation failed" on the Windows NVIDIA CQ builders but not
// locally.
DAWN_SKIP_TEST_IF(IsWindows() && IsVulkan() && IsNvidia());
DAWN_SUPPRESS_TEST_IF(IsWindows() && IsVulkan() && IsNvidia());
// TODO(jiawei.shao@intel.com): find out why this test sometimes hangs on the latest Linux Intel
// Vulkan drivers.
DAWN_SKIP_TEST_IF(IsLinux() && IsVulkan() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsLinux() && IsVulkan() && IsIntel());
constexpr wgpu::PresentMode kAllPresentModes[] = {
wgpu::PresentMode::Immediate,
@ -218,7 +218,7 @@ TEST_P(SwapChainTests, SwitchingDevice) {
// The Vulkan Validation Layers incorrectly disallow gracefully passing a swapchain between two
// VkDevices using "vkSwapchainCreateInfoKHR::oldSwapchain".
// See https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/2256
DAWN_SKIP_TEST_IF(IsVulkan() && IsBackendValidationEnabled());
DAWN_SUPPRESS_TEST_IF(IsVulkan() && IsBackendValidationEnabled());
wgpu::Device device2 = wgpu::Device::Acquire(GetAdapter().CreateDevice());

View File

@ -26,13 +26,13 @@ class SwapChainValidationTests : public DawnTest {
public:
void SetUp() override {
DawnTest::SetUp();
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_SKIP_TEST_IF(HasToggleEnabled("skip_validation"));
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("skip_validation"));
glfwSetErrorCallback([](int code, const char* message) {
dawn::ErrorLog() << "GLFW error " << code << " " << message;
});
DAWN_SKIP_TEST_IF(!glfwInit());
DAWN_TEST_UNSUPPORTED_IF(!glfwInit());
// The SwapChainValidationTests don't create devices so we don't need to call
// SetupGLFWWindowHintsForBackend. Set GLFW_NO_API anyway to avoid GLFW bringing up a GL

View File

@ -457,7 +457,7 @@ TEST_P(TextureFormatTest, RGBA8Unorm) {
// Test the BGRA8Unorm format
TEST_P(TextureFormatTest, BGRA8Unorm) {
// TODO(crbug.com/dawn/596): BGRA is unsupported on OpenGL ES; add workaround or validation
DAWN_SKIP_TEST_IF(IsOpenGLES());
DAWN_SUPPRESS_TEST_IF(IsOpenGLES());
uint8_t maxValue = std::numeric_limits<uint8_t>::max();
std::vector<uint8_t> textureData = {maxValue, 1, 0, maxValue};
std::vector<float> uncompressedData = {0.0f, 1.0f / maxValue, 1.0f, 1.0f};
@ -593,7 +593,7 @@ TEST_P(TextureFormatTest, RGBA32Float) {
TEST_P(TextureFormatTest, R16Float) {
// TODO(https://crbug.com/swiftshader/147) Rendering INFINITY isn't handled correctly by
// swiftshader
DAWN_SKIP_TEST_IF(IsVulkan() && IsSwiftshader() || IsANGLE());
DAWN_SUPPRESS_TEST_IF(IsVulkan() && IsSwiftshader() || IsANGLE());
DoFloat16Test({wgpu::TextureFormat::R16Float, 2, wgpu::TextureComponentType::Float, 1});
}
@ -602,7 +602,7 @@ TEST_P(TextureFormatTest, R16Float) {
TEST_P(TextureFormatTest, RG16Float) {
// TODO(https://crbug.com/swiftshader/147) Rendering INFINITY isn't handled correctly by
// swiftshader
DAWN_SKIP_TEST_IF(IsVulkan() && IsSwiftshader() || IsANGLE());
DAWN_SUPPRESS_TEST_IF(IsVulkan() && IsSwiftshader() || IsANGLE());
DoFloat16Test({wgpu::TextureFormat::RG16Float, 4, wgpu::TextureComponentType::Float, 2});
}
@ -611,7 +611,7 @@ TEST_P(TextureFormatTest, RG16Float) {
TEST_P(TextureFormatTest, RGBA16Float) {
// TODO(https://crbug.com/swiftshader/147) Rendering INFINITY isn't handled correctly by
// swiftshader
DAWN_SKIP_TEST_IF(IsVulkan() && IsSwiftshader() || IsANGLE());
DAWN_SUPPRESS_TEST_IF(IsVulkan() && IsSwiftshader() || IsANGLE());
DoFloat16Test({wgpu::TextureFormat::RGBA16Float, 8, wgpu::TextureComponentType::Float, 4});
}
@ -642,8 +642,7 @@ TEST_P(TextureFormatTest, RGBA8UnormSrgb) {
TEST_P(TextureFormatTest, BGRA8UnormSrgb) {
// TODO(cwallez@chromium.org): This format doesn't exist in OpenGL, emulate it using
// RGBA8UnormSrgb and swizzling / shader twiddling
DAWN_SKIP_TEST_IF(IsOpenGL());
DAWN_SKIP_TEST_IF(IsOpenGLES());
DAWN_SUPPRESS_TEST_IF(IsOpenGL() || IsOpenGLES());
uint8_t maxValue = std::numeric_limits<uint8_t>::max();
std::vector<uint8_t> textureData = {0, 1, maxValue, 64, 35, 68, 152, 168};

View File

@ -139,7 +139,7 @@ class TextureSubresourceTest : public DawnTest {
// Test different mipmap levels
TEST_P(TextureSubresourceTest, MipmapLevelsTest) {
// TODO(crbug.com/dawn/593): This test requires glTextureView, which is unsupported on GLES.
DAWN_SKIP_TEST_IF(IsOpenGLES());
DAWN_TEST_UNSUPPORTED_IF(IsOpenGLES());
// Create a texture with 2 mipmap levels and 1 layer
wgpu::Texture texture =
@ -168,7 +168,7 @@ TEST_P(TextureSubresourceTest, MipmapLevelsTest) {
// Test different array layers
TEST_P(TextureSubresourceTest, ArrayLayersTest) {
// TODO(crbug.com/dawn/593): This test requires glTextureView, which is unsupported on GLES.
DAWN_SKIP_TEST_IF(IsOpenGLES());
DAWN_TEST_UNSUPPORTED_IF(IsOpenGLES());
// Create a texture with 1 mipmap level and 2 layers
wgpu::Texture texture =
CreateTexture(1, 2,

View File

@ -204,7 +204,7 @@ class TextureViewSamplingTest : public DawnTest {
uint32_t textureViewBaseLayer,
uint32_t textureViewBaseMipLevel) {
// TODO(crbug.com/dawn/593): This test requires glTextureView, which is unsupported on GLES.
DAWN_SKIP_TEST_IF(IsOpenGLES());
DAWN_TEST_UNSUPPORTED_IF(IsOpenGLES());
ASSERT(textureViewBaseLayer < textureArrayLayers);
ASSERT(textureViewBaseMipLevel < textureMipLevels);
@ -237,7 +237,7 @@ class TextureViewSamplingTest : public DawnTest {
uint32_t textureViewBaseLayer,
uint32_t textureViewBaseMipLevel) {
// TODO(crbug.com/dawn/593): This test requires glTextureView, which is unsupported on GLES.
DAWN_SKIP_TEST_IF(IsOpenGLES());
DAWN_TEST_UNSUPPORTED_IF(IsOpenGLES());
ASSERT(textureViewBaseLayer < textureArrayLayers);
ASSERT(textureViewBaseMipLevel < textureMipLevels);
@ -318,7 +318,7 @@ class TextureViewSamplingTest : public DawnTest {
bool isCubeMapArray) {
// TODO(crbug.com/dawn/600): In OpenGL ES, cube map textures cannot be treated as arrays
// of 2D textures. Find a workaround.
DAWN_SKIP_TEST_IF(IsOpenGLES());
DAWN_TEST_UNSUPPORTED_IF(IsOpenGLES());
constexpr uint32_t kMipLevels = 1u;
initTexture(textureArrayLayers, kMipLevels);
@ -355,7 +355,7 @@ class TextureViewSamplingTest : public DawnTest {
// Test drawing a rect with a 2D array texture.
TEST_P(TextureViewSamplingTest, Default2DArrayTexture) {
// TODO(cwallez@chromium.org) understand what the issue is
DAWN_SKIP_TEST_IF(IsVulkan() && IsNvidia());
DAWN_SUPPRESS_TEST_IF(IsVulkan() && IsNvidia());
constexpr uint32_t kLayers = 3;
constexpr uint32_t kMipLevels = 1;
@ -387,7 +387,7 @@ TEST_P(TextureViewSamplingTest, Texture2DViewOn2DArrayTexture) {
// Test sampling from a 2D array texture view created on a 2D array texture.
TEST_P(TextureViewSamplingTest, Texture2DArrayViewOn2DArrayTexture) {
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
Texture2DArrayViewTest(6, 1, 2, 0);
}
@ -403,7 +403,7 @@ TEST_P(TextureViewSamplingTest, Texture2DViewOnOneLevelOf2DArrayTexture) {
// Test sampling from a 2D array texture view created on a mipmap level of a 2D array texture.
TEST_P(TextureViewSamplingTest, Texture2DArrayViewOnOneLevelOf2DArrayTexture) {
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
Texture2DArrayViewTest(6, 6, 2, 4);
}
@ -435,7 +435,7 @@ TEST_P(TextureViewSamplingTest, TextureCubeMapArrayOnWholeTexture) {
TEST_P(TextureViewSamplingTest, TextureCubeMapArrayViewOnPartOfTexture) {
// Test failing on the GPU FYI Mac Pro (AMD), see
// https://bugs.chromium.org/p/dawn/issues/detail?id=58
DAWN_SKIP_TEST_IF(IsMacOS() && IsMetal() && IsAMD());
DAWN_SUPPRESS_TEST_IF(IsMacOS() && IsMetal() && IsAMD());
TextureCubeMapTest(20, 3, 12, true);
}
@ -445,7 +445,7 @@ TEST_P(TextureViewSamplingTest, TextureCubeMapArrayViewOnPartOfTexture) {
TEST_P(TextureViewSamplingTest, TextureCubeMapArrayViewCoveringLastLayer) {
// Test failing on the GPU FYI Mac Pro (AMD), see
// https://bugs.chromium.org/p/dawn/issues/detail?id=58
DAWN_SKIP_TEST_IF(IsMacOS() && IsMetal() && IsAMD());
DAWN_SUPPRESS_TEST_IF(IsMacOS() && IsMetal() && IsAMD());
constexpr uint32_t kTotalLayers = 20;
constexpr uint32_t kBaseLayer = 8;
@ -456,7 +456,7 @@ TEST_P(TextureViewSamplingTest, TextureCubeMapArrayViewCoveringLastLayer) {
TEST_P(TextureViewSamplingTest, TextureCubeMapArrayViewSingleCubeMap) {
// Test failing on the GPU FYI Mac Pro (AMD), see
// https://bugs.chromium.org/p/dawn/issues/detail?id=58
DAWN_SKIP_TEST_IF(IsMacOS() && IsMetal() && IsAMD());
DAWN_SUPPRESS_TEST_IF(IsMacOS() && IsMetal() && IsAMD());
TextureCubeMapTest(20, 7, 6, true);
}

View File

@ -35,7 +35,7 @@ class TextureZeroInitTest : public DawnTest {
protected:
void SetUp() override {
DawnTest::SetUp();
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
}
wgpu::TextureDescriptor CreateTextureDescriptor(uint32_t mipLevelCount,
uint32_t arrayLayerCount,
@ -587,7 +587,7 @@ TEST_P(TextureZeroInitTest, RenderingLoadingDepthStencil) {
// Test that clear state is tracked independently for depth/stencil textures.
TEST_P(TextureZeroInitTest, IndependentDepthStencilLoadAfterDiscard) {
// TODO(enga): Figure out why this fails on Metal Intel.
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
wgpu::TextureDescriptor depthStencilDescriptor = CreateTextureDescriptor(
1, 1, wgpu::TextureUsage::RenderAttachment | wgpu::TextureUsage::CopySrc,
@ -746,10 +746,10 @@ TEST_P(TextureZeroInitTest, IndependentDepthStencilLoadAfterDiscard) {
// Lazy clear of the stencil aspect via copy should not touch depth.
TEST_P(TextureZeroInitTest, IndependentDepthStencilCopyAfterDiscard) {
// TODO(crbug.com/dawn/439): Implement stencil copies on other platforms
DAWN_SKIP_TEST_IF(!(IsMetal() || IsVulkan() || IsD3D12()));
DAWN_SUPPRESS_TEST_IF(!(IsMetal() || IsVulkan() || IsD3D12()));
// TODO(enga): Figure out why this fails on Metal Intel.
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
wgpu::TextureDescriptor depthStencilDescriptor = CreateTextureDescriptor(
1, 1, wgpu::TextureUsage::RenderAttachment | wgpu::TextureUsage::CopySrc,
@ -895,7 +895,7 @@ TEST_P(TextureZeroInitTest, RenderPassSampledTextureClear) {
// subresource is correctly cleared.
TEST_P(TextureZeroInitTest, TextureBothSampledAndAttachmentClear) {
// TODO(crbug.com/dawn/593): This test uses glTextureView() which is not supported on OpenGL ES.
DAWN_SKIP_TEST_IF(IsOpenGLES());
DAWN_TEST_UNSUPPORTED_IF(IsOpenGLES());
// Create a 2D array texture, layer 0 will be used as attachment, layer 1 as sampled.
wgpu::TextureDescriptor texDesc;
@ -1015,7 +1015,7 @@ TEST_P(TextureZeroInitTest, ComputePassSampledTextureClear) {
TEST_P(TextureZeroInitTest, NonRenderableTextureClear) {
// TODO(crbug.com/dawn/667): Work around the fact that some platforms do not support reading
// from Snorm textures.
DAWN_SKIP_TEST_IF(HasToggleEnabled("disable_snorm_read"));
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_snorm_read"));
wgpu::TextureDescriptor descriptor =
CreateTextureDescriptor(1, 1, wgpu::TextureUsage::CopySrc, kNonrenderableColorFormat);
@ -1048,7 +1048,7 @@ TEST_P(TextureZeroInitTest, NonRenderableTextureClear) {
TEST_P(TextureZeroInitTest, NonRenderableTextureClearUnalignedSize) {
// TODO(crbug.com/dawn/667): Work around the fact that some platforms do not support reading
// from Snorm textures.
DAWN_SKIP_TEST_IF(HasToggleEnabled("disable_snorm_read"));
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_snorm_read"));
wgpu::TextureDescriptor descriptor =
CreateTextureDescriptor(1, 1, wgpu::TextureUsage::CopySrc, kNonrenderableColorFormat);
@ -1084,7 +1084,7 @@ TEST_P(TextureZeroInitTest, NonRenderableTextureClearUnalignedSize) {
TEST_P(TextureZeroInitTest, NonRenderableTextureClearWithMultiArrayLayers) {
// TODO(crbug.com/dawn/667): Work around the fact that some platforms do not support reading
// from Snorm textures.
DAWN_SKIP_TEST_IF(HasToggleEnabled("disable_snorm_read"));
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_snorm_read"));
wgpu::TextureDescriptor descriptor =
CreateTextureDescriptor(1, 2, wgpu::TextureUsage::CopySrc, kNonrenderableColorFormat);
@ -1337,7 +1337,7 @@ TEST_P(TextureZeroInitTest, PreservesInitializedMip) {
// the uninitialized layer does not clear the initialized layer.
TEST_P(TextureZeroInitTest, PreservesInitializedArrayLayer) {
// TODO(crbug.com/dawn/593): This test uses glTextureView() which is not supported on OpenGL ES.
DAWN_SKIP_TEST_IF(IsOpenGLES());
DAWN_TEST_UNSUPPORTED_IF(IsOpenGLES());
wgpu::TextureDescriptor sampleTextureDescriptor = CreateTextureDescriptor(
1, 2,
@ -1421,7 +1421,7 @@ TEST_P(TextureZeroInitTest, PreservesInitializedArrayLayer) {
TEST_P(TextureZeroInitTest, CopyTextureToBufferNonRenderableUnaligned) {
// TODO(crbug.com/dawn/667): Work around the fact that some platforms do not support reading
// from Snorm textures.
DAWN_SKIP_TEST_IF(HasToggleEnabled("disable_snorm_read"));
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_snorm_read"));
wgpu::TextureDescriptor descriptor;
descriptor.size.width = kUnalignedSize;
@ -1702,8 +1702,8 @@ class CompressedTextureZeroInitTest : public TextureZeroInitTest {
void SetUp() override {
DawnTest::SetUp();
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(!IsBCFormatSupported());
}
std::vector<const char*> GetRequiredExtensions() override {
@ -1846,7 +1846,7 @@ TEST_P(CompressedTextureZeroInitTest, FullMipCopy) {
// Test that 1 lazy clear count happens when we copy to half the texture
TEST_P(CompressedTextureZeroInitTest, HalfCopyBufferToTexture) {
// TODO(crbug.com/dawn/643): diagnose and fix this failure on OpenGL.
DAWN_SKIP_TEST_IF(IsOpenGL() || IsOpenGLES());
DAWN_SUPPRESS_TEST_IF(IsOpenGL() || IsOpenGLES());
wgpu::TextureDescriptor textureDescriptor;
textureDescriptor.usage =
@ -1866,7 +1866,7 @@ TEST_P(CompressedTextureZeroInitTest, HalfCopyBufferToTexture) {
// (with physical size different from the virtual mip size)
TEST_P(CompressedTextureZeroInitTest, FullCopyToNonZeroMipLevel) {
// TODO(crbug.com/dawn/593): This test uses glTextureView() which is not supported on OpenGL ES.
DAWN_SKIP_TEST_IF(IsOpenGLES());
DAWN_TEST_UNSUPPORTED_IF(IsOpenGLES());
wgpu::TextureDescriptor textureDescriptor;
textureDescriptor.usage =
@ -1891,7 +1891,7 @@ TEST_P(CompressedTextureZeroInitTest, FullCopyToNonZeroMipLevel) {
// (with physical size different from the virtual mip size)
TEST_P(CompressedTextureZeroInitTest, HalfCopyToNonZeroMipLevel) {
// TODO(crbug.com/dawn/643): diagnose and fix this failure on OpenGL.
DAWN_SKIP_TEST_IF(IsOpenGL() || IsOpenGLES());
DAWN_SUPPRESS_TEST_IF(IsOpenGL() || IsOpenGLES());
wgpu::TextureDescriptor textureDescriptor;
textureDescriptor.usage =
@ -1915,7 +1915,7 @@ TEST_P(CompressedTextureZeroInitTest, HalfCopyToNonZeroMipLevel) {
// Test that 0 lazy clear count happens when we copy buffer to nonzero array layer
TEST_P(CompressedTextureZeroInitTest, FullCopyToNonZeroArrayLayer) {
// TODO(crbug.com/dawn/593): This test uses glTextureView() which is not supported on OpenGL ES.
DAWN_SKIP_TEST_IF(IsOpenGLES());
DAWN_TEST_UNSUPPORTED_IF(IsOpenGLES());
wgpu::TextureDescriptor textureDescriptor;
textureDescriptor.usage =
@ -1935,7 +1935,7 @@ TEST_P(CompressedTextureZeroInitTest, FullCopyToNonZeroArrayLayer) {
// Test that 1 lazy clear count happens when we copy buffer to half texture to a nonzero array layer
TEST_P(CompressedTextureZeroInitTest, HalfCopyToNonZeroArrayLayer) {
// TODO(crbug.com/dawn/643): diagnose and fix this failure on OpenGL.
DAWN_SKIP_TEST_IF(IsOpenGL() || IsOpenGLES());
DAWN_SUPPRESS_TEST_IF(IsOpenGL() || IsOpenGLES());
wgpu::TextureDescriptor textureDescriptor;
textureDescriptor.usage =
@ -1955,7 +1955,7 @@ TEST_P(CompressedTextureZeroInitTest, HalfCopyToNonZeroArrayLayer) {
// full copy texture to texture, 0 lazy clears are needed
TEST_P(CompressedTextureZeroInitTest, FullCopyTextureToTextureMipLevel) {
// TODO(crbug.com/dawn/593): This test uses glTextureView() which is not supported on OpenGL ES.
DAWN_SKIP_TEST_IF(IsOpenGLES());
DAWN_TEST_UNSUPPORTED_IF(IsOpenGLES());
// create srcTexture and fill it with data
wgpu::TextureDescriptor srcDescriptor = CreateTextureDescriptor(
@ -2002,7 +2002,7 @@ TEST_P(CompressedTextureZeroInitTest, FullCopyTextureToTextureMipLevel) {
// half copy texture to texture, lazy clears are needed for noncopied half
TEST_P(CompressedTextureZeroInitTest, HalfCopyTextureToTextureMipLevel) {
// TODO(crbug.com/dawn/643): diagnose and fix this failure on OpenGL.
DAWN_SKIP_TEST_IF(IsOpenGL() || IsOpenGLES());
DAWN_SUPPRESS_TEST_IF(IsOpenGL() || IsOpenGLES());
// create srcTexture with data
wgpu::TextureDescriptor srcDescriptor = CreateTextureDescriptor(

View File

@ -400,7 +400,7 @@ class VertexFormatTest : public DawnTest {
TEST_P(VertexFormatTest, Uint8x2) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<uint8_t> vertexData = {
std::numeric_limits<uint8_t>::max(),
@ -427,7 +427,7 @@ TEST_P(VertexFormatTest, Uint8x2) {
TEST_P(VertexFormatTest, Uint8x4) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<uint8_t> vertexData = {
std::numeric_limits<uint8_t>::max(),
@ -450,7 +450,7 @@ TEST_P(VertexFormatTest, Uint8x4) {
TEST_P(VertexFormatTest, Sint8x2) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<int8_t> vertexData = {
std::numeric_limits<int8_t>::max(),
@ -477,7 +477,7 @@ TEST_P(VertexFormatTest, Sint8x2) {
TEST_P(VertexFormatTest, Sint8x4) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<int8_t> vertexData = {
std::numeric_limits<int8_t>::max(),
@ -500,7 +500,7 @@ TEST_P(VertexFormatTest, Sint8x4) {
TEST_P(VertexFormatTest, Unorm8x2) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<uint8_t> vertexData = {
std::numeric_limits<uint8_t>::max(),
@ -530,7 +530,7 @@ TEST_P(VertexFormatTest, Unorm8x2) {
TEST_P(VertexFormatTest, Unorm8x4) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<uint8_t> vertexData = {std::numeric_limits<uint8_t>::max(),
std::numeric_limits<uint8_t>::min(),
@ -551,7 +551,7 @@ TEST_P(VertexFormatTest, Unorm8x4) {
TEST_P(VertexFormatTest, Snorm8x2) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<int8_t> vertexData = {
std::numeric_limits<int8_t>::max(),
@ -583,7 +583,7 @@ TEST_P(VertexFormatTest, Snorm8x2) {
TEST_P(VertexFormatTest, Snorm8x4) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<int8_t> vertexData = {std::numeric_limits<int8_t>::max(),
std::numeric_limits<int8_t>::min(),
@ -604,7 +604,7 @@ TEST_P(VertexFormatTest, Snorm8x4) {
TEST_P(VertexFormatTest, Uint16x2) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<uint16_t> vertexData = {std::numeric_limits<uint16_t>::max(),
0,
@ -619,7 +619,7 @@ TEST_P(VertexFormatTest, Uint16x2) {
TEST_P(VertexFormatTest, Uint16x4) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<uint16_t> vertexData = {
std::numeric_limits<uint16_t>::max(),
@ -642,7 +642,7 @@ TEST_P(VertexFormatTest, Uint16x4) {
TEST_P(VertexFormatTest, Sint16x2) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<int16_t> vertexData = {std::numeric_limits<int16_t>::max(),
0,
@ -657,7 +657,7 @@ TEST_P(VertexFormatTest, Sint16x2) {
TEST_P(VertexFormatTest, Sint16x4) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<int16_t> vertexData = {
std::numeric_limits<int16_t>::max(),
@ -680,7 +680,7 @@ TEST_P(VertexFormatTest, Sint16x4) {
TEST_P(VertexFormatTest, Unorm16x2) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<uint16_t> vertexData = {std::numeric_limits<uint16_t>::max(),
std::numeric_limits<uint16_t>::min(),
@ -695,7 +695,7 @@ TEST_P(VertexFormatTest, Unorm16x2) {
TEST_P(VertexFormatTest, Unorm16x4) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<uint16_t> vertexData = {std::numeric_limits<uint16_t>::max(),
std::numeric_limits<uint16_t>::min(),
@ -716,7 +716,7 @@ TEST_P(VertexFormatTest, Unorm16x4) {
TEST_P(VertexFormatTest, Snorm16x2) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<int16_t> vertexData = {std::numeric_limits<int16_t>::max(),
std::numeric_limits<int16_t>::min(),
@ -731,7 +731,7 @@ TEST_P(VertexFormatTest, Snorm16x2) {
TEST_P(VertexFormatTest, Snorm16x4) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<int16_t> vertexData = {std::numeric_limits<int16_t>::max(),
std::numeric_limits<int16_t>::min(),
@ -752,10 +752,10 @@ TEST_P(VertexFormatTest, Snorm16x4) {
TEST_P(VertexFormatTest, Float16x2) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
// Fails on NVIDIA's Vulkan drivers on CQ but passes locally.
DAWN_SKIP_TEST_IF(IsVulkan() && IsNvidia());
DAWN_SUPPRESS_TEST_IF(IsVulkan() && IsNvidia());
std::vector<uint16_t> vertexData =
Float32ToFloat16(std::vector<float>({14.8f, -0.0f, 22.5f, 1.3f, +0.0f, -24.8f}));
@ -766,10 +766,10 @@ TEST_P(VertexFormatTest, Float16x2) {
TEST_P(VertexFormatTest, Float16x4) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
// Fails on NVIDIA's Vulkan drivers on CQ but passes locally.
DAWN_SKIP_TEST_IF(IsVulkan() && IsNvidia());
DAWN_SUPPRESS_TEST_IF(IsVulkan() && IsNvidia());
std::vector<uint16_t> vertexData = Float32ToFloat16(std::vector<float>(
{+0.0f, -16.8f, 18.2f, -0.0f, 12.5f, 1.3f, 14.8f, -12.4f, 22.5f, -48.8f, 47.4f, -24.8f}));
@ -780,7 +780,7 @@ TEST_P(VertexFormatTest, Float16x4) {
TEST_P(VertexFormatTest, Float32) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<float> vertexData = {1.3f, +0.0f, -0.0f};
@ -794,10 +794,10 @@ TEST_P(VertexFormatTest, Float32) {
TEST_P(VertexFormatTest, Float32x2) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
// Fails on NVIDIA's Vulkan drivers on CQ but passes locally.
DAWN_SKIP_TEST_IF(IsVulkan() && IsNvidia());
DAWN_SUPPRESS_TEST_IF(IsVulkan() && IsNvidia());
std::vector<float> vertexData = {18.23f, -0.0f, +0.0f, +1.0f, 1.3f, -1.0f};
@ -807,10 +807,10 @@ TEST_P(VertexFormatTest, Float32x2) {
TEST_P(VertexFormatTest, Float32x3) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
// Fails on NVIDIA's Vulkan drivers on CQ but passes locally.
DAWN_SKIP_TEST_IF(IsVulkan() && IsNvidia());
DAWN_SUPPRESS_TEST_IF(IsVulkan() && IsNvidia());
std::vector<float> vertexData = {
+0.0f, -1.0f, -0.0f, 1.0f, 1.3f, 99.45f, 23.6f, -81.2f, 55.0f,
@ -822,7 +822,7 @@ TEST_P(VertexFormatTest, Float32x3) {
TEST_P(VertexFormatTest, Float32x4) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<float> vertexData = {
19.2f, -19.3f, +0.0f, 1.0f, -0.0f, 1.0f, 1.3f, -1.0f, 13.078f, 21.1965f, -1.1f, -1.2f,
@ -834,7 +834,7 @@ TEST_P(VertexFormatTest, Float32x4) {
TEST_P(VertexFormatTest, Uint32) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<uint32_t> vertexData = {std::numeric_limits<uint32_t>::max(),
std::numeric_limits<uint16_t>::max(),
@ -846,7 +846,7 @@ TEST_P(VertexFormatTest, Uint32) {
TEST_P(VertexFormatTest, Uint32x2) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<uint32_t> vertexData = {std::numeric_limits<uint32_t>::max(), 32,
std::numeric_limits<uint16_t>::max(), 64,
@ -858,7 +858,7 @@ TEST_P(VertexFormatTest, Uint32x2) {
TEST_P(VertexFormatTest, Uint32x3) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<uint32_t> vertexData = {std::numeric_limits<uint32_t>::max(), 32, 64,
std::numeric_limits<uint16_t>::max(), 164, 128,
@ -870,7 +870,7 @@ TEST_P(VertexFormatTest, Uint32x3) {
TEST_P(VertexFormatTest, Uint32x4) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<uint32_t> vertexData = {std::numeric_limits<uint32_t>::max(), 32, 64, 5460,
std::numeric_limits<uint16_t>::max(), 164, 128, 0,
@ -882,7 +882,7 @@ TEST_P(VertexFormatTest, Uint32x4) {
TEST_P(VertexFormatTest, Sint32) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<int32_t> vertexData = {std::numeric_limits<int32_t>::max(),
std::numeric_limits<int32_t>::min(),
@ -894,7 +894,7 @@ TEST_P(VertexFormatTest, Sint32) {
TEST_P(VertexFormatTest, Sint32x2) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<int32_t> vertexData = {
std::numeric_limits<int32_t>::max(), std::numeric_limits<int32_t>::min(),
@ -907,7 +907,7 @@ TEST_P(VertexFormatTest, Sint32x2) {
TEST_P(VertexFormatTest, Sint32x3) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<int32_t> vertexData = {
std::numeric_limits<int32_t>::max(), std::numeric_limits<int32_t>::min(), 64,
@ -920,7 +920,7 @@ TEST_P(VertexFormatTest, Sint32x3) {
TEST_P(VertexFormatTest, Sint32x4) {
// TODO(cwallez@chromium.org): Failing because of a SPIRV-Cross issue.
// See http://crbug.com/dawn/259
DAWN_SKIP_TEST_IF(IsMetal() && IsIntel());
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
std::vector<int32_t> vertexData = {
std::numeric_limits<int32_t>::max(), std::numeric_limits<int32_t>::min(), 64, -5460,

View File

@ -267,7 +267,7 @@ TEST_P(VertexStateTest, Basic) {
// Test a stride of 0 works
TEST_P(VertexStateTest, ZeroStride) {
// This test was failing only on AMD but the OpenGL backend doesn't gather PCI info yet.
DAWN_SKIP_TEST_IF(IsLinux() && IsOpenGL());
DAWN_SUPPRESS_TEST_IF(IsLinux() && IsOpenGL());
utils::ComboVertexStateDescriptor vertexState;
MakeVertexState({{0, InputStepMode::Vertex, {{0, 0, VertexFormat::Float32x4}}}}, &vertexState);
@ -286,7 +286,7 @@ TEST_P(VertexStateTest, ZeroStride) {
// Test attributes defaults to (0, 0, 0, 1) if the input state doesn't have all components
TEST_P(VertexStateTest, AttributeExpanding) {
// This test was failing only on AMD but the OpenGL backend doesn't gather PCI info yet.
DAWN_SKIP_TEST_IF(IsLinux() && IsOpenGL());
DAWN_SUPPRESS_TEST_IF(IsLinux() && IsOpenGL());
// R32F case
{
@ -326,7 +326,7 @@ TEST_P(VertexStateTest, AttributeExpanding) {
// Test a stride larger than the attributes
TEST_P(VertexStateTest, StrideLargerThanAttributes) {
// This test was failing only on AMD but the OpenGL backend doesn't gather PCI info yet.
DAWN_SKIP_TEST_IF(IsLinux() && IsOpenGL());
DAWN_SUPPRESS_TEST_IF(IsLinux() && IsOpenGL());
utils::ComboVertexStateDescriptor vertexState;
MakeVertexState({{8 * sizeof(float), InputStepMode::Vertex, {{0, 0, VertexFormat::Float32x4}}}},

View File

@ -48,7 +48,7 @@ class WindowSurfaceInstanceTests : public testing::Test {
glfwSetErrorCallback([](int code, const char* message) {
dawn::ErrorLog() << "GLFW error " << code << " " << message;
});
DAWN_SKIP_TEST_IF(!glfwInit());
DAWN_TEST_UNSUPPORTED_IF(!glfwInit());
dawnProcSetProcs(&dawn_native::GetProcs());

View File

@ -407,7 +407,7 @@ void ShaderRobustnessPerf::SetUp() {
DawnPerfTestWithParams<ShaderRobustnessParams>::SetUp();
// TODO(crbug.com/dawn/786): D3D12_Microsoft_Basic_Render_Driver_CPU
DAWN_SKIP_TEST_IF(IsD3D12() && IsWARP());
DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsWARP());
const size_t dataASize = mDimAOuter * mDimInner;
std::vector<float> dataA(dataASize);

View File

@ -36,7 +36,7 @@ class D3D12DescriptorHeapTests : public DawnTest {
protected:
void SetUp() override {
DawnTest::SetUp();
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
mD3DDevice = reinterpret_cast<Device*>(device.Get());
mSimpleVSModule = utils::CreateShaderModule(device, R"(
@ -123,7 +123,7 @@ class DummyStagingDescriptorAllocator {
// Verify the shader visible view heaps switch over within a single submit.
TEST_P(D3D12DescriptorHeapTests, SwitchOverViewHeap) {
DAWN_SKIP_TEST_IF(!mD3DDevice->IsToggleEnabled(
DAWN_TEST_UNSUPPORTED_IF(!mD3DDevice->IsToggleEnabled(
dawn_native::Toggle::UseD3D12SmallShaderVisibleHeapForTesting));
utils::ComboRenderPipelineDescriptor renderPipelineDescriptor;
@ -223,7 +223,7 @@ TEST_P(D3D12DescriptorHeapTests, NoSwitchOverSamplerHeap) {
// Verify shader-visible heaps can be recycled for multiple submits.
TEST_P(D3D12DescriptorHeapTests, PoolHeapsInMultipleSubmits) {
// Use small heaps to count only pool-allocated switches.
DAWN_SKIP_TEST_IF(!mD3DDevice->IsToggleEnabled(
DAWN_TEST_UNSUPPORTED_IF(!mD3DDevice->IsToggleEnabled(
dawn_native::Toggle::UseD3D12SmallShaderVisibleHeapForTesting));
ShaderVisibleDescriptorAllocator* allocator =
@ -264,7 +264,7 @@ TEST_P(D3D12DescriptorHeapTests, PoolHeapsInMultipleSubmits) {
// Verify shader-visible heaps do not recycle in a pending submit.
TEST_P(D3D12DescriptorHeapTests, PoolHeapsInPendingSubmit) {
// Use small heaps to count only pool-allocated switches.
DAWN_SKIP_TEST_IF(!mD3DDevice->IsToggleEnabled(
DAWN_TEST_UNSUPPORTED_IF(!mD3DDevice->IsToggleEnabled(
dawn_native::Toggle::UseD3D12SmallShaderVisibleHeapForTesting));
constexpr uint32_t kNumOfSwitches = 5;
@ -296,7 +296,7 @@ TEST_P(D3D12DescriptorHeapTests, PoolHeapsInPendingSubmit) {
// once no longer pending.
TEST_P(D3D12DescriptorHeapTests, PoolHeapsInPendingAndMultipleSubmits) {
// Use small heaps to count only pool-allocated switches.
DAWN_SKIP_TEST_IF(!mD3DDevice->IsToggleEnabled(
DAWN_TEST_UNSUPPORTED_IF(!mD3DDevice->IsToggleEnabled(
dawn_native::Toggle::UseD3D12SmallShaderVisibleHeapForTesting));
constexpr uint32_t kNumOfSwitches = 5;
@ -434,7 +434,7 @@ TEST_P(D3D12DescriptorHeapTests, EncodeManyUBO) {
// has its own UBO with a "color value" in the range [1... heapSize]. After |heapSize| draws,
// the result is the arithmetic sum of the sequence after the framebuffer is blended by
// accumulation. By checking for this sum, we ensure each bindgroup was encoded correctly.
DAWN_SKIP_TEST_IF(!mD3DDevice->IsToggleEnabled(
DAWN_TEST_UNSUPPORTED_IF(!mD3DDevice->IsToggleEnabled(
dawn_native::Toggle::UseD3D12SmallShaderVisibleHeapForTesting));
utils::BasicRenderPass renderPass =
@ -508,11 +508,11 @@ TEST_P(D3D12DescriptorHeapTests, EncodeManyUBO) {
// The first descriptor's memory will be reused when the second submit encodes |heapSize|
// descriptors.
TEST_P(D3D12DescriptorHeapTests, EncodeUBOOverflowMultipleSubmit) {
DAWN_SKIP_TEST_IF(!mD3DDevice->IsToggleEnabled(
DAWN_TEST_UNSUPPORTED_IF(!mD3DDevice->IsToggleEnabled(
dawn_native::Toggle::UseD3D12SmallShaderVisibleHeapForTesting));
// TODO(crbug.com/dawn/742): Test output is wrong with D3D12 + WARP.
DAWN_SKIP_TEST_IF(IsD3D12() && IsWARP());
DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsWARP());
utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, kRTSize, kRTSize);
@ -596,7 +596,7 @@ TEST_P(D3D12DescriptorHeapTests, EncodeUBOOverflowMultipleSubmit) {
// Shader-visible heaps should switch out once then re-encode the first descriptor at a new offset
// in the heap.
TEST_P(D3D12DescriptorHeapTests, EncodeReuseUBOOverflow) {
DAWN_SKIP_TEST_IF(!mD3DDevice->IsToggleEnabled(
DAWN_TEST_UNSUPPORTED_IF(!mD3DDevice->IsToggleEnabled(
dawn_native::Toggle::UseD3D12SmallShaderVisibleHeapForTesting));
utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, kRTSize, kRTSize);
@ -657,7 +657,7 @@ TEST_P(D3D12DescriptorHeapTests, EncodeReuseUBOOverflow) {
// Shader-visible heaps should switch out once then re-encode the
// first descriptor at the same offset in the heap.
TEST_P(D3D12DescriptorHeapTests, EncodeReuseUBOMultipleSubmits) {
DAWN_SKIP_TEST_IF(!mD3DDevice->IsToggleEnabled(
DAWN_TEST_UNSUPPORTED_IF(!mD3DDevice->IsToggleEnabled(
dawn_native::Toggle::UseD3D12SmallShaderVisibleHeapForTesting));
utils::BasicRenderPass renderPass = utils::CreateBasicRenderPass(device, kRTSize, kRTSize);
@ -737,7 +737,7 @@ TEST_P(D3D12DescriptorHeapTests, EncodeReuseUBOMultipleSubmits) {
// Verify encoding many sampler and ubo worth of bindgroups.
// Shader-visible heaps should switch out |kNumOfViewHeaps| times.
TEST_P(D3D12DescriptorHeapTests, EncodeManyUBOAndSamplers) {
DAWN_SKIP_TEST_IF(!mD3DDevice->IsToggleEnabled(
DAWN_TEST_UNSUPPORTED_IF(!mD3DDevice->IsToggleEnabled(
dawn_native::Toggle::UseD3D12SmallShaderVisibleHeapForTesting));
// Create a solid filled texture.

View File

@ -38,7 +38,7 @@ class D3D12ResidencyTestBase : public DawnTest {
protected:
void SetUp() override {
DawnTest::SetUp();
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
// Restrict Dawn's budget to create an artificial budget.
dawn_native::d3d12::Device* d3dDevice =
@ -114,7 +114,7 @@ class D3D12DescriptorResidencyTests : public D3D12ResidencyTestBase {};
// Check that resources existing on suballocated heaps are made resident and evicted correctly.
TEST_P(D3D12ResourceResidencyTests, OvercommitSmallResources) {
// TODO(http://crbug.com/dawn/416): Tests fails on Intel HD 630 bot.
DAWN_SKIP_TEST_IF(IsIntel() && IsBackendValidationEnabled());
DAWN_SUPPRESS_TEST_IF(IsIntel() && IsBackendValidationEnabled());
// Create suballocated buffers to fill half the budget.
std::vector<wgpu::Buffer> bufferSet1 = AllocateBuffers(
@ -332,7 +332,7 @@ TEST_P(D3D12ResourceResidencyTests, SetExternalReservation) {
TEST_P(D3D12DescriptorResidencyTests, SwitchedViewHeapResidency) {
// TODO(crbug.com/dawn/739):
// unknown file: error: SEH exception with code 0x87d thrown in the test body.
DAWN_SKIP_TEST_IF(IsD3D12() && IsWARP() && IsBackendValidationEnabled());
DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsWARP() && IsBackendValidationEnabled());
utils::ComboRenderPipelineDescriptor renderPipelineDescriptor;

View File

@ -23,7 +23,7 @@ class D3D12ResourceHeapTests : public DawnTest {
protected:
void SetUp() override {
DawnTest::SetUp();
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
}
std::vector<const char*> GetRequiredExtensions() override {
@ -45,10 +45,10 @@ class D3D12ResourceHeapTests : public DawnTest {
// Verify that creating a small compressed textures will be 4KB aligned.
TEST_P(D3D12ResourceHeapTests, AlignSmallCompressedTexture) {
DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
DAWN_TEST_UNSUPPORTED_IF(!IsBCFormatSupported());
// TODO(http://crbug.com/dawn/282): Investigate GPU/driver rejections of small alignment.
DAWN_SKIP_TEST_IF(IsIntel() || IsNvidia() || IsWARP());
DAWN_SUPPRESS_TEST_IF(IsIntel() || IsNvidia() || IsWARP());
wgpu::TextureDescriptor descriptor;
descriptor.dimension = wgpu::TextureDimension::e2D;

View File

@ -21,7 +21,7 @@ class InternalResourceUsageTests : public DawnTest {};
// Verify it is an error to create a buffer with a buffer usage that should only be used
// internally.
TEST_P(InternalResourceUsageTests, InternalBufferUsage) {
DAWN_SKIP_TEST_IF(HasToggleEnabled("skip_validation"));
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("skip_validation"));
wgpu::BufferDescriptor descriptor;
descriptor.size = 4;
@ -33,7 +33,7 @@ TEST_P(InternalResourceUsageTests, InternalBufferUsage) {
// Verify it is an error to create a texture with a texture usage that should only be used
// internally.
TEST_P(InternalResourceUsageTests, InternalTextureUsage) {
DAWN_SKIP_TEST_IF(HasToggleEnabled("skip_validation"));
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("skip_validation"));
wgpu::TextureDescriptor descriptor;
descriptor.format = wgpu::TextureFormat::RGBA8Unorm;

View File

@ -22,7 +22,7 @@ class MetalAutoreleasePoolTests : public DawnTest {
private:
void SetUp() override {
DawnTest::SetUp();
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
mMtlDevice = reinterpret_cast<Device*>(device.Get());
}

View File

@ -87,9 +87,9 @@ class QueryInternalShaderTests : public DawnTest {};
// ns for testing).
TEST_P(QueryInternalShaderTests, TimestampComputeShader) {
// TODO(crbug.com/dawn/741): Test output is wrong with D3D12 + WARP.
DAWN_SKIP_TEST_IF(IsD3D12() && IsWARP());
DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsWARP());
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
constexpr uint32_t kTimestampCount = 10u;
// A gpu frequency on Intel D3D12 (ticks/second)

View File

@ -27,7 +27,7 @@ namespace {
public:
void SetUp() override {
DawnTest::SetUp();
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
mDeviceVk = reinterpret_cast<dawn_native::vulkan::Device*>(device.Get());
}

View File

@ -35,7 +35,7 @@ namespace dawn_native { namespace vulkan {
class VulkanImageWrappingTestBase : public DawnTest {
public:
void SetUp() override {
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
gbmDevice = CreateGbmDevice();
deviceVk = reinterpret_cast<dawn_native::vulkan::Device*>(device.Get());

View File

@ -33,7 +33,7 @@ namespace dawn_native { namespace vulkan {
public:
void SetUp() override {
DawnTest::SetUp();
DAWN_SKIP_TEST_IF(UsesWire());
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
deviceVk = reinterpret_cast<dawn_native::vulkan::Device*>(device.Get());
}
@ -222,9 +222,7 @@ namespace dawn_native { namespace vulkan {
public:
void SetUp() override {
VulkanImageWrappingTestBase::SetUp();
if (UsesWire()) {
return;
}
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
CreateBindExportImage(deviceVk, 1, 1, VK_FORMAT_R8G8B8A8_UNORM, &defaultImage,
&defaultAllocation, &defaultAllocationSize,
@ -260,7 +258,6 @@ namespace dawn_native { namespace vulkan {
// Test no error occurs if the import is valid
TEST_P(VulkanImageWrappingValidationTests, SuccessfulImport) {
DAWN_SKIP_TEST_IF(UsesWire());
wgpu::Texture texture =
WrapVulkanImage(device, &defaultDescriptor, defaultFd, defaultAllocationSize,
defaultMemoryTypeIndex, {}, true, true);
@ -270,7 +267,6 @@ namespace dawn_native { namespace vulkan {
// Test an error occurs if the texture descriptor is invalid
TEST_P(VulkanImageWrappingValidationTests, InvalidTextureDescriptor) {
DAWN_SKIP_TEST_IF(UsesWire());
wgpu::ChainedStruct chainedDescriptor;
defaultDescriptor.nextInChain = &chainedDescriptor;
@ -282,7 +278,6 @@ namespace dawn_native { namespace vulkan {
// Test an error occurs if the descriptor dimension isn't 2D
TEST_P(VulkanImageWrappingValidationTests, InvalidTextureDimension) {
DAWN_SKIP_TEST_IF(UsesWire());
defaultDescriptor.dimension = wgpu::TextureDimension::e1D;
ASSERT_DEVICE_ERROR(wgpu::Texture texture = WrapVulkanImage(
@ -293,7 +288,6 @@ namespace dawn_native { namespace vulkan {
// Test an error occurs if the descriptor mip level count isn't 1
TEST_P(VulkanImageWrappingValidationTests, InvalidMipLevelCount) {
DAWN_SKIP_TEST_IF(UsesWire());
defaultDescriptor.mipLevelCount = 2;
ASSERT_DEVICE_ERROR(wgpu::Texture texture = WrapVulkanImage(
@ -304,7 +298,6 @@ namespace dawn_native { namespace vulkan {
// Test an error occurs if the descriptor depth isn't 1
TEST_P(VulkanImageWrappingValidationTests, InvalidDepth) {
DAWN_SKIP_TEST_IF(UsesWire());
defaultDescriptor.size.depthOrArrayLayers = 2;
ASSERT_DEVICE_ERROR(wgpu::Texture texture = WrapVulkanImage(
@ -315,7 +308,6 @@ namespace dawn_native { namespace vulkan {
// Test an error occurs if the descriptor sample count isn't 1
TEST_P(VulkanImageWrappingValidationTests, InvalidSampleCount) {
DAWN_SKIP_TEST_IF(UsesWire());
defaultDescriptor.sampleCount = 4;
ASSERT_DEVICE_ERROR(wgpu::Texture texture = WrapVulkanImage(
@ -326,7 +318,6 @@ namespace dawn_native { namespace vulkan {
// Test an error occurs if we try to export the signal semaphore twice
TEST_P(VulkanImageWrappingValidationTests, DoubleSignalSemaphoreExport) {
DAWN_SKIP_TEST_IF(UsesWire());
wgpu::Texture texture =
WrapVulkanImage(device, &defaultDescriptor, defaultFd, defaultAllocationSize,
defaultMemoryTypeIndex, {}, true, true);
@ -341,7 +332,6 @@ namespace dawn_native { namespace vulkan {
// Test an error occurs if we try to export the signal semaphore from a normal texture
TEST_P(VulkanImageWrappingValidationTests, NormalTextureSignalSemaphoreExport) {
DAWN_SKIP_TEST_IF(UsesWire());
wgpu::Texture texture = device.CreateTexture(&defaultDescriptor);
ASSERT_NE(texture.Get(), nullptr);
@ -353,7 +343,6 @@ namespace dawn_native { namespace vulkan {
// Test an error occurs if we try to export the signal semaphore from a destroyed texture
TEST_P(VulkanImageWrappingValidationTests, DestroyedTextureSignalSemaphoreExport) {
DAWN_SKIP_TEST_IF(UsesWire());
wgpu::Texture texture = device.CreateTexture(&defaultDescriptor);
ASSERT_NE(texture.Get(), nullptr);
texture.Destroy();
@ -370,9 +359,7 @@ namespace dawn_native { namespace vulkan {
public:
void SetUp() override {
VulkanImageWrappingTestBase::SetUp();
if (UsesWire()) {
return;
}
DAWN_TEST_UNSUPPORTED_IF(UsesWire());
// Create another device based on the original
backendAdapter =
@ -469,8 +456,6 @@ namespace dawn_native { namespace vulkan {
// Clear an image in |secondDevice|
// Verify clear color is visible in |device|
TEST_P(VulkanImageWrappingUsageTests, ClearImageAcrossDevices) {
DAWN_SKIP_TEST_IF(UsesWire());
// Import the image on |secondDevice|
wgpu::Texture wrappedTexture =
WrapVulkanImage(secondDevice, &defaultDescriptor, defaultFd, defaultAllocationSize,
@ -500,8 +485,6 @@ namespace dawn_native { namespace vulkan {
// Clear an image in |secondDevice|
// Verify clear color is not visible in |device| if we import the texture as not cleared
TEST_P(VulkanImageWrappingUsageTests, UninitializedTextureIsCleared) {
DAWN_SKIP_TEST_IF(UsesWire());
// Import the image on |secondDevice|
wgpu::Texture wrappedTexture =
WrapVulkanImage(secondDevice, &defaultDescriptor, defaultFd, defaultAllocationSize,
@ -532,8 +515,6 @@ namespace dawn_native { namespace vulkan {
// Issue a copy of the imported texture inside |device| to |copyDstTexture|
// Verify the clear color from |secondDevice| is visible in |copyDstTexture|
TEST_P(VulkanImageWrappingUsageTests, CopyTextureToTextureSrcSync) {
DAWN_SKIP_TEST_IF(UsesWire());
// Import the image on |secondDevice|
wgpu::Texture wrappedTexture =
WrapVulkanImage(secondDevice, &defaultDescriptor, defaultFd, defaultAllocationSize,
@ -575,8 +556,6 @@ namespace dawn_native { namespace vulkan {
// If texture destination isn't synchronized, |secondDevice| could copy color B
// into the texture first, then |device| writes color A
TEST_P(VulkanImageWrappingUsageTests, CopyTextureToTextureDstSync) {
DAWN_SKIP_TEST_IF(UsesWire());
// Import the image on |device|
wgpu::Texture wrappedTexture = WrapVulkanImage(
device, &defaultDescriptor, defaultFd, defaultAllocationSize, defaultMemoryTypeIndex,
@ -627,8 +606,6 @@ namespace dawn_native { namespace vulkan {
// Issue a copy of the imported texture inside |device| to |copyDstBuffer|
// Verify the clear color from |secondDevice| is visible in |copyDstBuffer|
TEST_P(VulkanImageWrappingUsageTests, CopyTextureToBufferSrcSync) {
DAWN_SKIP_TEST_IF(UsesWire());
// Import the image on |secondDevice|
wgpu::Texture wrappedTexture =
WrapVulkanImage(secondDevice, &defaultDescriptor, defaultFd, defaultAllocationSize,
@ -683,8 +660,6 @@ namespace dawn_native { namespace vulkan {
// If texture destination isn't synchronized, |secondDevice| could copy color B
// into the texture first, then |device| writes color A
TEST_P(VulkanImageWrappingUsageTests, CopyBufferToTextureDstSync) {
DAWN_SKIP_TEST_IF(UsesWire());
// Import the image on |device|
wgpu::Texture wrappedTexture = WrapVulkanImage(
device, &defaultDescriptor, defaultFd, defaultAllocationSize, defaultMemoryTypeIndex,
@ -746,8 +721,6 @@ namespace dawn_native { namespace vulkan {
// Issue second copy to |secondCopyDstTexture|
// Verify the clear color from |secondDevice| is visible in both copies
TEST_P(VulkanImageWrappingUsageTests, DoubleTextureUsage) {
DAWN_SKIP_TEST_IF(UsesWire());
// Import the image on |secondDevice|
wgpu::Texture wrappedTexture =
WrapVulkanImage(secondDevice, &defaultDescriptor, defaultFd, defaultAllocationSize,
@ -798,8 +771,6 @@ namespace dawn_native { namespace vulkan {
// Copy C->D on device 1 (wait on C from previous op)
// Verify D has same color as A
TEST_P(VulkanImageWrappingUsageTests, ChainTextureCopy) {
DAWN_SKIP_TEST_IF(UsesWire());
// Close |defaultFd| since this test doesn't import it anywhere
close(defaultFd);
@ -912,8 +883,6 @@ namespace dawn_native { namespace vulkan {
// Tests a larger image is preserved when importing
TEST_P(VulkanImageWrappingUsageTests, LargerImage) {
DAWN_SKIP_TEST_IF(UsesWire());
close(defaultFd);
wgpu::TextureDescriptor descriptor;