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:
parent
84f6730101
commit
44fc6e3ab5
|
@ -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) \
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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"(
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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};
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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());
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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};
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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}}}},
|
||||
|
|
|
@ -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());
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue