Suppressions for Mali and Adreno Android devices
Adds suppressions for multiple failures in the end2end tests that are showing up on Pixel devices I'm able to test. Majority (800+) affect the devices with Qualcomm GPUs (Pixel 4, Pixel 2, etc) and 8 affect the newer Tensor devices (Pixel 6). Bug: dawn:1549 Bug: dawn:1550 Change-Id: Ia598734a1752e5f086e4e79c96a799156d84e448 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/103940 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Brandon Jones <bajones@chromium.org>
This commit is contained in:
parent
3a329f2209
commit
f4faccbbbd
|
@ -135,11 +135,13 @@ MaybeError Adapter::InitializeSupportedFeaturesImpl() {
|
||||||
mSupportedFeatures.EnableFeature(Feature::TextureCompressionBC);
|
mSupportedFeatures.EnableFeature(Feature::TextureCompressionBC);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mDeviceInfo.features.textureCompressionETC2 == VK_TRUE) {
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
if (mDeviceInfo.features.textureCompressionETC2 == VK_TRUE && !IsAndroidQualcomm()) {
|
||||||
mSupportedFeatures.EnableFeature(Feature::TextureCompressionETC2);
|
mSupportedFeatures.EnableFeature(Feature::TextureCompressionETC2);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mDeviceInfo.features.textureCompressionASTC_LDR == VK_TRUE) {
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
if (mDeviceInfo.features.textureCompressionASTC_LDR == VK_TRUE && !IsAndroidQualcomm()) {
|
||||||
mSupportedFeatures.EnableFeature(Feature::TextureCompressionASTC);
|
mSupportedFeatures.EnableFeature(Feature::TextureCompressionASTC);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -385,4 +387,13 @@ MaybeError Adapter::ValidateFeatureSupportedWithTogglesImpl(
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Android devices with Qualcomm GPUs have a myriad of known issues. (dawn:1549)
|
||||||
|
bool Adapter::IsAndroidQualcomm() {
|
||||||
|
#if DAWN_PLATFORM_IS(ANDROID)
|
||||||
|
return gpu_info::IsQualcomm(GetVendorId());
|
||||||
|
#else
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace dawn::native::vulkan
|
} // namespace dawn::native::vulkan
|
||||||
|
|
|
@ -41,6 +41,8 @@ class Adapter : public AdapterBase {
|
||||||
|
|
||||||
bool IsDepthStencilFormatSupported(VkFormat format);
|
bool IsDepthStencilFormatSupported(VkFormat format);
|
||||||
|
|
||||||
|
bool IsAndroidQualcomm();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
MaybeError InitializeImpl() override;
|
MaybeError InitializeImpl() override;
|
||||||
MaybeError InitializeSupportedFeaturesImpl() override;
|
MaybeError InitializeSupportedFeaturesImpl() override;
|
||||||
|
|
|
@ -627,6 +627,11 @@ void Device::ApplyDepthStencilFormatToggles() {
|
||||||
if (!supportsS8) {
|
if (!supportsS8) {
|
||||||
ForceSetToggle(Toggle::VulkanUseS8, false);
|
ForceSetToggle(Toggle::VulkanUseS8, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Depth/Stencil reads are failing on Qualcomm-based Android devices.
|
||||||
|
if (ToBackend(GetAdapter())->IsAndroidQualcomm()) {
|
||||||
|
SetToggle(Toggle::DisableDepthStencilRead, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Device::ApplyUseZeroInitializeWorkgroupMemoryExtensionToggle() {
|
void Device::ApplyUseZeroInitializeWorkgroupMemoryExtensionToggle() {
|
||||||
|
|
|
@ -742,6 +742,14 @@ bool DawnTestBase::IsMacOS(int32_t majorVersion, int32_t minorVersion) const {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool DawnTestBase::IsAndroid() const {
|
||||||
|
#if DAWN_PLATFORM_IS(ANDROID)
|
||||||
|
return true;
|
||||||
|
#else
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
bool DawnTestBase::UsesWire() const {
|
bool DawnTestBase::UsesWire() const {
|
||||||
return gTestEnv->UsesWire();
|
return gTestEnv->UsesWire();
|
||||||
}
|
}
|
||||||
|
|
|
@ -240,6 +240,7 @@ class DawnTestBase {
|
||||||
bool IsWindows() const;
|
bool IsWindows() const;
|
||||||
bool IsLinux() const;
|
bool IsLinux() const;
|
||||||
bool IsMacOS(int32_t majorVersion = -1, int32_t minorVersion = -1) const;
|
bool IsMacOS(int32_t majorVersion = -1, int32_t minorVersion = -1) const;
|
||||||
|
bool IsAndroid() const;
|
||||||
|
|
||||||
bool UsesWire() const;
|
bool UsesWire() const;
|
||||||
bool IsBackendValidationEnabled() const;
|
bool IsBackendValidationEnabled() const;
|
||||||
|
|
|
@ -1029,6 +1029,9 @@ TEST_P(CopyTests_T2B, CopyOneRowWithDepth32Float) {
|
||||||
// depth.
|
// depth.
|
||||||
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_depth_read"));
|
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_depth_read"));
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
constexpr wgpu::TextureFormat kFormat = wgpu::TextureFormat::Depth32Float;
|
constexpr wgpu::TextureFormat kFormat = wgpu::TextureFormat::Depth32Float;
|
||||||
constexpr uint32_t kPixelsPerRow = 4u;
|
constexpr uint32_t kPixelsPerRow = 4u;
|
||||||
|
|
||||||
|
|
|
@ -347,6 +347,9 @@ TEST_P(DepthStencilCopyTests, T2TBothAspectsThenCopyNonRenderableNonZeroMipStenc
|
||||||
TEST_P(DepthStencilCopyTests, T2TBothAspectsThenCopyDepth) {
|
TEST_P(DepthStencilCopyTests, T2TBothAspectsThenCopyDepth) {
|
||||||
DAWN_TEST_UNSUPPORTED_IF(!IsValidDepthCopyTextureFormat());
|
DAWN_TEST_UNSUPPORTED_IF(!IsValidDepthCopyTextureFormat());
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
constexpr uint32_t kWidth = 4;
|
constexpr uint32_t kWidth = 4;
|
||||||
constexpr uint32_t kHeight = 4;
|
constexpr uint32_t kHeight = 4;
|
||||||
|
|
||||||
|
@ -367,6 +370,9 @@ TEST_P(DepthStencilCopyTests, T2TBothAspectsThenCopyDepth) {
|
||||||
TEST_P(DepthStencilCopyTests, T2TBothAspectsThenCopyNonZeroMipDepth) {
|
TEST_P(DepthStencilCopyTests, T2TBothAspectsThenCopyNonZeroMipDepth) {
|
||||||
DAWN_TEST_UNSUPPORTED_IF(!IsValidDepthCopyTextureFormat());
|
DAWN_TEST_UNSUPPORTED_IF(!IsValidDepthCopyTextureFormat());
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
wgpu::Texture texture = CreateInitializeDepthStencilTextureAndCopyT2T(
|
wgpu::Texture texture = CreateInitializeDepthStencilTextureAndCopyT2T(
|
||||||
0.1f, 0.3f, 1u, 3u, 8, 8, wgpu::TextureUsage::RenderAttachment, 1);
|
0.1f, 0.3f, 1u, 3u, 8, 8, wgpu::TextureUsage::RenderAttachment, 1);
|
||||||
|
|
||||||
|
@ -533,6 +539,9 @@ class DepthCopyTests : public DepthStencilCopyTests {
|
||||||
|
|
||||||
// Test copying the depth-only aspect into a buffer.
|
// Test copying the depth-only aspect into a buffer.
|
||||||
TEST_P(DepthCopyTests, FromDepthAspect) {
|
TEST_P(DepthCopyTests, FromDepthAspect) {
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
constexpr float kInitDepth = 0.2f;
|
constexpr float kInitDepth = 0.2f;
|
||||||
constexpr uint32_t kBufferCopyOffset = 0;
|
constexpr uint32_t kBufferCopyOffset = 0;
|
||||||
constexpr uint32_t kWidth = 4;
|
constexpr uint32_t kWidth = 4;
|
||||||
|
@ -543,6 +552,9 @@ TEST_P(DepthCopyTests, FromDepthAspect) {
|
||||||
|
|
||||||
// Test copying the depth-only aspect into a buffer at a non-zero offset.
|
// Test copying the depth-only aspect into a buffer at a non-zero offset.
|
||||||
TEST_P(DepthCopyTests, FromDepthAspectToBufferAtNonZeroOffset) {
|
TEST_P(DepthCopyTests, FromDepthAspectToBufferAtNonZeroOffset) {
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
constexpr float kInitDepth = 0.2f;
|
constexpr float kInitDepth = 0.2f;
|
||||||
constexpr uint32_t kWidth = 4;
|
constexpr uint32_t kWidth = 4;
|
||||||
constexpr uint32_t kHeight = 4;
|
constexpr uint32_t kHeight = 4;
|
||||||
|
@ -555,6 +567,9 @@ TEST_P(DepthCopyTests, FromDepthAspectToBufferAtNonZeroOffset) {
|
||||||
|
|
||||||
// Test copying the non-zero mip, depth-only aspect into a buffer.
|
// Test copying the non-zero mip, depth-only aspect into a buffer.
|
||||||
TEST_P(DepthCopyTests, FromNonZeroMipDepthAspect) {
|
TEST_P(DepthCopyTests, FromNonZeroMipDepthAspect) {
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
constexpr float kInitDepth = 0.2f;
|
constexpr float kInitDepth = 0.2f;
|
||||||
constexpr uint32_t kBufferCopyOffset = 0;
|
constexpr uint32_t kBufferCopyOffset = 0;
|
||||||
constexpr uint32_t kWidth = 9;
|
constexpr uint32_t kWidth = 9;
|
||||||
|
@ -732,6 +747,9 @@ class StencilCopyTests : public DepthStencilCopyTests {
|
||||||
// TODO(crbug.com/dawn/1273): Fails on Win11 with D3D12 debug layer and full validation
|
// TODO(crbug.com/dawn/1273): Fails on Win11 with D3D12 debug layer and full validation
|
||||||
DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
|
DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
// Create a stencil texture
|
// Create a stencil texture
|
||||||
constexpr uint32_t kWidth = 4;
|
constexpr uint32_t kWidth = 4;
|
||||||
constexpr uint32_t kHeight = 4;
|
constexpr uint32_t kHeight = 4;
|
||||||
|
|
|
@ -70,6 +70,9 @@ class DepthStencilLoadOpTests : public DawnTestWithParams<DepthStencilLoadOpTest
|
||||||
// Also depends on glTextureView which is not supported on ES.
|
// Also depends on glTextureView which is not supported on ES.
|
||||||
DAWN_SUPPRESS_TEST_IF(IsOpenGL() || IsOpenGLES());
|
DAWN_SUPPRESS_TEST_IF(IsOpenGL() || IsOpenGLES());
|
||||||
|
|
||||||
|
// TODO(dawn:1549) All DepthStencilLoadOp tests fail on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
wgpu::TextureDescriptor descriptor;
|
wgpu::TextureDescriptor descriptor;
|
||||||
descriptor.size = {kRTSize, kRTSize};
|
descriptor.size = {kRTSize, kRTSize};
|
||||||
descriptor.format = GetParam().mFormat;
|
descriptor.format = GetParam().mFormat;
|
||||||
|
@ -361,6 +364,9 @@ class DepthTextureClearTwiceTest : public DawnTestWithParams<DepthTextureClearTw
|
||||||
TEST_P(DepthTextureClearTwiceTest, ClearDepthAspectTwice) {
|
TEST_P(DepthTextureClearTwiceTest, ClearDepthAspectTwice) {
|
||||||
DAWN_SUPPRESS_TEST_IF(!mIsFormatSupported);
|
DAWN_SUPPRESS_TEST_IF(!mIsFormatSupported);
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
constexpr uint32_t kSize = 64;
|
constexpr uint32_t kSize = 64;
|
||||||
constexpr uint32_t kLevelCount = 5;
|
constexpr uint32_t kLevelCount = 5;
|
||||||
|
|
||||||
|
|
|
@ -625,6 +625,9 @@ TEST_P(DepthStencilSamplingTest, SampleExtraComponents) {
|
||||||
// This test fails on ANGLE (both SwiftShader and D3D11).
|
// This test fails on ANGLE (both SwiftShader and D3D11).
|
||||||
DAWN_SUPPRESS_TEST_IF(IsANGLE());
|
DAWN_SUPPRESS_TEST_IF(IsANGLE());
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
wgpu::TextureFormat format = GetParam().mTextureFormat;
|
wgpu::TextureFormat format = GetParam().mTextureFormat;
|
||||||
|
|
||||||
DoSamplingExtraStencilComponentsRenderTest(TestAspectAndSamplerType::StencilAsUint, format,
|
DoSamplingExtraStencilComponentsRenderTest(TestAspectAndSamplerType::StencilAsUint, format,
|
||||||
|
@ -636,6 +639,9 @@ TEST_P(DepthStencilSamplingTest, SampleExtraComponents) {
|
||||||
|
|
||||||
// Test sampling both depth and stencil with a render/compute pipeline works.
|
// Test sampling both depth and stencil with a render/compute pipeline works.
|
||||||
TEST_P(DepthStencilSamplingTest, SampleDepthAndStencilRender) {
|
TEST_P(DepthStencilSamplingTest, SampleDepthAndStencilRender) {
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
wgpu::TextureFormat format = GetParam().mTextureFormat;
|
wgpu::TextureFormat format = GetParam().mTextureFormat;
|
||||||
|
|
||||||
wgpu::SamplerDescriptor samplerDesc;
|
wgpu::SamplerDescriptor samplerDesc;
|
||||||
|
@ -754,6 +760,9 @@ class DepthSamplingTest : public DepthStencilSamplingTest {};
|
||||||
|
|
||||||
// Test that sampling a depth texture with a render/compute pipeline works
|
// Test that sampling a depth texture with a render/compute pipeline works
|
||||||
TEST_P(DepthSamplingTest, SampleDepthOnly) {
|
TEST_P(DepthSamplingTest, SampleDepthOnly) {
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
wgpu::TextureFormat format = GetParam().mTextureFormat;
|
wgpu::TextureFormat format = GetParam().mTextureFormat;
|
||||||
float tolerance = format == wgpu::TextureFormat::Depth16Unorm ? 0.001f : 0.0f;
|
float tolerance = format == wgpu::TextureFormat::Depth16Unorm ? 0.001f : 0.0f;
|
||||||
|
|
||||||
|
@ -778,6 +787,9 @@ TEST_P(DepthSamplingTest, CompareFunctionsRender) {
|
||||||
// Initialization via renderPass loadOp doesn't work on Mac Intel.
|
// Initialization via renderPass loadOp doesn't work on Mac Intel.
|
||||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
wgpu::TextureFormat format = GetParam().mTextureFormat;
|
wgpu::TextureFormat format = GetParam().mTextureFormat;
|
||||||
// Test does not account for precision issues when comparison testing Depth16Unorm.
|
// Test does not account for precision issues when comparison testing Depth16Unorm.
|
||||||
DAWN_TEST_UNSUPPORTED_IF(format == wgpu::TextureFormat::Depth16Unorm);
|
DAWN_TEST_UNSUPPORTED_IF(format == wgpu::TextureFormat::Depth16Unorm);
|
||||||
|
@ -800,6 +812,9 @@ TEST_P(StencilSamplingTest, SampleStencilOnly) {
|
||||||
// This test fails on SwANGLE (although it passes on other ANGLE backends).
|
// This test fails on SwANGLE (although it passes on other ANGLE backends).
|
||||||
DAWN_TEST_UNSUPPORTED_IF(IsANGLE());
|
DAWN_TEST_UNSUPPORTED_IF(IsANGLE());
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
wgpu::TextureFormat format = GetParam().mTextureFormat;
|
wgpu::TextureFormat format = GetParam().mTextureFormat;
|
||||||
|
|
||||||
DoSamplingTest(TestAspectAndSamplerType::StencilAsUint,
|
DoSamplingTest(TestAspectAndSamplerType::StencilAsUint,
|
||||||
|
|
|
@ -308,6 +308,9 @@ TEST_P(DrawIndexedIndirectTest, ValidateMultipleDraws) {
|
||||||
// the offsets that Tint/GLSL produces.
|
// the offsets that Tint/GLSL produces.
|
||||||
DAWN_SUPPRESS_TEST_IF(IsIntel() && IsOpenGL() && IsLinux());
|
DAWN_SUPPRESS_TEST_IF(IsIntel() && IsOpenGL() && IsLinux());
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
// It doesn't make sense to test invalid inputs when validation is disabled.
|
// It doesn't make sense to test invalid inputs when validation is disabled.
|
||||||
DAWN_SUPPRESS_TEST_IF(HasToggleEnabled("skip_validation"));
|
DAWN_SUPPRESS_TEST_IF(HasToggleEnabled("skip_validation"));
|
||||||
|
|
||||||
|
|
|
@ -111,6 +111,9 @@ TEST_P(MaxLimitTests, MaxBufferBindingSize) {
|
||||||
// TODO(crbug.com/dawn/1217): Remove this suppression.
|
// TODO(crbug.com/dawn/1217): Remove this suppression.
|
||||||
DAWN_SUPPRESS_TEST_IF(IsWindows() && IsVulkan() && IsNvidia());
|
DAWN_SUPPRESS_TEST_IF(IsWindows() && IsVulkan() && IsNvidia());
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
for (wgpu::BufferUsage usage : {wgpu::BufferUsage::Storage, wgpu::BufferUsage::Uniform}) {
|
for (wgpu::BufferUsage usage : {wgpu::BufferUsage::Storage, wgpu::BufferUsage::Uniform}) {
|
||||||
uint64_t maxBufferBindingSize;
|
uint64_t maxBufferBindingSize;
|
||||||
std::string shader;
|
std::string shader;
|
||||||
|
|
|
@ -359,6 +359,9 @@ TEST_P(MultisampledRenderingTest, MultisampledRenderingWithDepthTest) {
|
||||||
// Test rendering into a multisampled color attachment and doing MSAA resolve in another render pass
|
// Test rendering into a multisampled color attachment and doing MSAA resolve in another render pass
|
||||||
// works correctly.
|
// works correctly.
|
||||||
TEST_P(MultisampledRenderingTest, ResolveInAnotherRenderPass) {
|
TEST_P(MultisampledRenderingTest, ResolveInAnotherRenderPass) {
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
constexpr bool kTestDepth = false;
|
constexpr bool kTestDepth = false;
|
||||||
wgpu::CommandEncoder commandEncoder = device.CreateCommandEncoder();
|
wgpu::CommandEncoder commandEncoder = device.CreateCommandEncoder();
|
||||||
wgpu::RenderPipeline pipeline = CreateRenderPipelineWithOneOutputForTest(kTestDepth);
|
wgpu::RenderPipeline pipeline = CreateRenderPipelineWithOneOutputForTest(kTestDepth);
|
||||||
|
@ -395,6 +398,9 @@ TEST_P(MultisampledRenderingTest, ResolveIntoMultipleResolveTargets) {
|
||||||
// TODO(dawn:462): Issue in the D3D12 validation layers.
|
// TODO(dawn:462): Issue in the D3D12 validation layers.
|
||||||
DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsNvidia() && IsBackendValidationEnabled());
|
DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsNvidia() && IsBackendValidationEnabled());
|
||||||
|
|
||||||
|
// TODO(dawn:1550) Fails on ARM-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsARM());
|
||||||
|
|
||||||
wgpu::TextureView multisampledColorView2 =
|
wgpu::TextureView multisampledColorView2 =
|
||||||
CreateTextureForRenderAttachment(kColorFormat, kSampleCount).CreateView();
|
CreateTextureForRenderAttachment(kColorFormat, kSampleCount).CreateView();
|
||||||
wgpu::Texture resolveTexture2 = CreateTextureForRenderAttachment(kColorFormat, 1);
|
wgpu::Texture resolveTexture2 = CreateTextureForRenderAttachment(kColorFormat, 1);
|
||||||
|
@ -433,6 +439,9 @@ TEST_P(MultisampledRenderingTest, ResolveIntoMultipleResolveTargets) {
|
||||||
|
|
||||||
// Test doing MSAA resolve on one multisampled texture twice works correctly.
|
// Test doing MSAA resolve on one multisampled texture twice works correctly.
|
||||||
TEST_P(MultisampledRenderingTest, ResolveOneMultisampledTextureTwice) {
|
TEST_P(MultisampledRenderingTest, ResolveOneMultisampledTextureTwice) {
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
constexpr bool kTestDepth = false;
|
constexpr bool kTestDepth = false;
|
||||||
wgpu::CommandEncoder commandEncoder = device.CreateCommandEncoder();
|
wgpu::CommandEncoder commandEncoder = device.CreateCommandEncoder();
|
||||||
wgpu::RenderPipeline pipeline = CreateRenderPipelineWithOneOutputForTest(kTestDepth);
|
wgpu::RenderPipeline pipeline = CreateRenderPipelineWithOneOutputForTest(kTestDepth);
|
||||||
|
@ -511,6 +520,10 @@ TEST_P(MultisampledRenderingTest, ResolveInto2DArrayTexture) {
|
||||||
// TODO(dawn:462): Issue in the D3D12 validation layers.
|
// TODO(dawn:462): Issue in the D3D12 validation layers.
|
||||||
DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
|
DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsBackendValidationEnabled());
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
// TODO(dawn:1550) Fails on ARM-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid());
|
||||||
|
|
||||||
wgpu::TextureView multisampledColorView2 =
|
wgpu::TextureView multisampledColorView2 =
|
||||||
CreateTextureForRenderAttachment(kColorFormat, kSampleCount).CreateView();
|
CreateTextureForRenderAttachment(kColorFormat, kSampleCount).CreateView();
|
||||||
|
|
||||||
|
@ -632,6 +645,9 @@ TEST_P(MultisampledRenderingTest, ResolveIntoMultipleResolveTargetsWithSampleMas
|
||||||
// TODO(crbug.com/dawn/1462): Re-enable on Mac Intel 12.4.
|
// TODO(crbug.com/dawn/1462): Re-enable on Mac Intel 12.4.
|
||||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel() && (IsMacOS(12, 4) || IsMacOS(12, 5)));
|
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel() && (IsMacOS(12, 4) || IsMacOS(12, 5)));
|
||||||
|
|
||||||
|
// TODO(dawn:1550) Fails on ARM-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsARM());
|
||||||
|
|
||||||
wgpu::TextureView multisampledColorView2 =
|
wgpu::TextureView multisampledColorView2 =
|
||||||
CreateTextureForRenderAttachment(kColorFormat, kSampleCount).CreateView();
|
CreateTextureForRenderAttachment(kColorFormat, kSampleCount).CreateView();
|
||||||
wgpu::Texture resolveTexture2 = CreateTextureForRenderAttachment(kColorFormat, 1);
|
wgpu::Texture resolveTexture2 = CreateTextureForRenderAttachment(kColorFormat, 1);
|
||||||
|
@ -671,6 +687,9 @@ TEST_P(MultisampledRenderingTest, ResolveIntoMultipleResolveTargetsWithSampleMas
|
||||||
|
|
||||||
// Test multisampled rendering with depth test works correctly with a non-default sample mask.
|
// Test multisampled rendering with depth test works correctly with a non-default sample mask.
|
||||||
TEST_P(MultisampledRenderingTest, MultisampledRenderingWithDepthTestAndSampleMask) {
|
TEST_P(MultisampledRenderingTest, MultisampledRenderingWithDepthTestAndSampleMask) {
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
constexpr bool kTestDepth = true;
|
constexpr bool kTestDepth = true;
|
||||||
// The second sample is included in the first render pass and it's covered by the triangle.
|
// The second sample is included in the first render pass and it's covered by the triangle.
|
||||||
constexpr uint32_t kSampleMaskGreen = kSecondSampleMaskBit;
|
constexpr uint32_t kSampleMaskGreen = kSecondSampleMaskBit;
|
||||||
|
@ -785,6 +804,9 @@ TEST_P(MultisampledRenderingTest, ResolveInto2DTextureWithSampleMaskAndShaderOut
|
||||||
// Test doing MSAA resolve into multiple resolve targets works correctly with a non-default
|
// Test doing MSAA resolve into multiple resolve targets works correctly with a non-default
|
||||||
// shader-output mask.
|
// shader-output mask.
|
||||||
TEST_P(MultisampledRenderingTest, ResolveIntoMultipleResolveTargetsWithShaderOutputMask) {
|
TEST_P(MultisampledRenderingTest, ResolveIntoMultipleResolveTargetsWithShaderOutputMask) {
|
||||||
|
// TODO(dawn:1550) Fails on ARM-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsARM());
|
||||||
|
|
||||||
// TODO(crbug.com/dawn/673): Work around or enforce via validation that sample variables are not
|
// TODO(crbug.com/dawn/673): Work around or enforce via validation that sample variables are not
|
||||||
// supported on some platforms.
|
// supported on some platforms.
|
||||||
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_sample_variables"));
|
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_sample_variables"));
|
||||||
|
@ -896,6 +918,9 @@ TEST_P(MultisampledRenderingTest, ResolveInto2DTextureWithAlphaToCoverage) {
|
||||||
// alphaToCoverage. The alphaToCoverage mask is computed based on the alpha
|
// alphaToCoverage. The alphaToCoverage mask is computed based on the alpha
|
||||||
// component of the first color render attachment.
|
// component of the first color render attachment.
|
||||||
TEST_P(MultisampledRenderingTest, ResolveIntoMultipleResolveTargetsWithAlphaToCoverage) {
|
TEST_P(MultisampledRenderingTest, ResolveIntoMultipleResolveTargetsWithAlphaToCoverage) {
|
||||||
|
// TODO(dawn:1550) Fails on ARM-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsARM());
|
||||||
|
|
||||||
wgpu::TextureView multisampledColorView2 =
|
wgpu::TextureView multisampledColorView2 =
|
||||||
CreateTextureForRenderAttachment(kColorFormat, kSampleCount).CreateView();
|
CreateTextureForRenderAttachment(kColorFormat, kSampleCount).CreateView();
|
||||||
wgpu::Texture resolveTexture2 = CreateTextureForRenderAttachment(kColorFormat, 1);
|
wgpu::Texture resolveTexture2 = CreateTextureForRenderAttachment(kColorFormat, 1);
|
||||||
|
@ -952,6 +977,10 @@ TEST_P(MultisampledRenderingTest, MultisampledRenderingWithDepthTestAndAlphaToCo
|
||||||
// algorithm.
|
// algorithm.
|
||||||
DAWN_SUPPRESS_TEST_IF(IsSwiftshader() || IsANGLE());
|
DAWN_SUPPRESS_TEST_IF(IsSwiftshader() || IsANGLE());
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
// TODO(dawn:1550) Fails on ARM-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid());
|
||||||
|
|
||||||
constexpr bool kTestDepth = true;
|
constexpr bool kTestDepth = true;
|
||||||
constexpr uint32_t kSampleMask = 0xFFFFFFFF;
|
constexpr uint32_t kSampleMask = 0xFFFFFFFF;
|
||||||
|
|
||||||
|
@ -1013,6 +1042,9 @@ TEST_P(MultisampledRenderingTest, ResolveInto2DTextureWithAlphaToCoverageAndSamp
|
||||||
// algorithm.
|
// algorithm.
|
||||||
DAWN_SUPPRESS_TEST_IF(IsSwiftshader() || IsANGLE());
|
DAWN_SUPPRESS_TEST_IF(IsSwiftshader() || IsANGLE());
|
||||||
|
|
||||||
|
// TODO(dawn:1550) Fails on ARM-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsARM());
|
||||||
|
|
||||||
// TODO(dawn:491): This doesn't work on Metal, because we're using both the shader-output
|
// 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
|
// mask (emulting the sampleMask from RenderPipeline) and alpha-to-coverage at the same
|
||||||
// time. See the issue: https://github.com/gpuweb/gpuweb/issues/959.
|
// time. See the issue: https://github.com/gpuweb/gpuweb/issues/959.
|
||||||
|
@ -1058,6 +1090,9 @@ TEST_P(MultisampledRenderingTest, ResolveInto2DTextureWithAlphaToCoverageAndRast
|
||||||
// algorithm.
|
// algorithm.
|
||||||
DAWN_SUPPRESS_TEST_IF(IsSwiftshader() || IsANGLE());
|
DAWN_SUPPRESS_TEST_IF(IsSwiftshader() || IsANGLE());
|
||||||
|
|
||||||
|
// TODO(dawn:1550) Fails on ARM-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsARM());
|
||||||
|
|
||||||
constexpr bool kTestDepth = false;
|
constexpr bool kTestDepth = false;
|
||||||
constexpr float kMSAACoverage = 0.50f;
|
constexpr float kMSAACoverage = 0.50f;
|
||||||
constexpr uint32_t kSampleMask = 0xFFFFFFFF;
|
constexpr uint32_t kSampleMask = 0xFFFFFFFF;
|
||||||
|
|
|
@ -750,6 +750,9 @@ TEST_P(TimestampQueryTests, TimestampOnRenderPass) {
|
||||||
// devices
|
// devices
|
||||||
DAWN_TEST_UNSUPPORTED_IF(IsMacOS() && IsMetal() && IsApple());
|
DAWN_TEST_UNSUPPORTED_IF(IsMacOS() && IsMetal() && IsApple());
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
constexpr uint32_t kQueryCount = 2;
|
constexpr uint32_t kQueryCount = 2;
|
||||||
|
|
||||||
// Write timestamp with different query indexes
|
// Write timestamp with different query indexes
|
||||||
|
@ -1032,6 +1035,9 @@ TEST_P(TimestampQueryTests, TimestampWritesOnRenderPassWithNoPipline) {
|
||||||
// the issue is fixed.
|
// the issue is fixed.
|
||||||
DAWN_SUPPRESS_TEST_IF(IsWindows() && IsVulkan() && IsIntel());
|
DAWN_SUPPRESS_TEST_IF(IsWindows() && IsVulkan() && IsIntel());
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
wgpu::QuerySet querySet = CreateQuerySetForTimestamp(2);
|
wgpu::QuerySet querySet = CreateQuerySetForTimestamp(2);
|
||||||
TestTimestampWritesOnRenderPass({{querySet, 0, wgpu::RenderPassTimestampLocation::Beginning},
|
TestTimestampWritesOnRenderPass({{querySet, 0, wgpu::RenderPassTimestampLocation::Beginning},
|
||||||
{querySet, 1, wgpu::RenderPassTimestampLocation::End}},
|
{querySet, 1, wgpu::RenderPassTimestampLocation::End}},
|
||||||
|
@ -1047,6 +1053,9 @@ TEST_P(TimestampQueryTests, TimestampWritesOnRenderPassWithOnlyVertexStage) {
|
||||||
// the issue is fixed.
|
// the issue is fixed.
|
||||||
DAWN_SUPPRESS_TEST_IF(IsWindows() && IsVulkan() && IsIntel());
|
DAWN_SUPPRESS_TEST_IF(IsWindows() && IsVulkan() && IsIntel());
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
wgpu::QuerySet querySet = CreateQuerySetForTimestamp(2);
|
wgpu::QuerySet querySet = CreateQuerySetForTimestamp(2);
|
||||||
TestTimestampWritesOnRenderPass({{querySet, 0, wgpu::RenderPassTimestampLocation::Beginning},
|
TestTimestampWritesOnRenderPass({{querySet, 0, wgpu::RenderPassTimestampLocation::Beginning},
|
||||||
{querySet, 1, wgpu::RenderPassTimestampLocation::End}},
|
{querySet, 1, wgpu::RenderPassTimestampLocation::End}},
|
||||||
|
|
|
@ -207,6 +207,9 @@ class ReadOnlyDepthAttachmentTests : public ReadOnlyDepthStencilAttachmentTests
|
||||||
void SetUp() override {
|
void SetUp() override {
|
||||||
ReadOnlyDepthStencilAttachmentTests::SetUp();
|
ReadOnlyDepthStencilAttachmentTests::SetUp();
|
||||||
DAWN_TEST_UNSUPPORTED_IF(!IsFormatSupported());
|
DAWN_TEST_UNSUPPORTED_IF(!IsFormatSupported());
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -296,6 +299,9 @@ class ReadOnlyStencilAttachmentTests : public ReadOnlyDepthStencilAttachmentTest
|
||||||
};
|
};
|
||||||
|
|
||||||
TEST_P(ReadOnlyStencilAttachmentTests, SampleFromAttachment) {
|
TEST_P(ReadOnlyStencilAttachmentTests, SampleFromAttachment) {
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
wgpu::Texture colorTexture =
|
wgpu::Texture colorTexture =
|
||||||
CreateTexture(wgpu::TextureFormat::RGBA8Unorm,
|
CreateTexture(wgpu::TextureFormat::RGBA8Unorm,
|
||||||
wgpu::TextureUsage::RenderAttachment | wgpu::TextureUsage::CopySrc);
|
wgpu::TextureUsage::RenderAttachment | wgpu::TextureUsage::CopySrc);
|
||||||
|
@ -320,6 +326,9 @@ TEST_P(ReadOnlyStencilAttachmentTests, SampleFromAttachment) {
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(ReadOnlyStencilAttachmentTests, NotSampleFromAttachment) {
|
TEST_P(ReadOnlyStencilAttachmentTests, NotSampleFromAttachment) {
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
wgpu::Texture colorTexture =
|
wgpu::Texture colorTexture =
|
||||||
CreateTexture(wgpu::TextureFormat::RGBA8Unorm,
|
CreateTexture(wgpu::TextureFormat::RGBA8Unorm,
|
||||||
wgpu::TextureUsage::RenderAttachment | wgpu::TextureUsage::CopySrc);
|
wgpu::TextureUsage::RenderAttachment | wgpu::TextureUsage::CopySrc);
|
||||||
|
|
|
@ -156,6 +156,9 @@ TEST_P(SubresourceRenderAttachmentTest, DepthTexture) {
|
||||||
// depth.
|
// depth.
|
||||||
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_depth_read"));
|
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_depth_read"));
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
DoTest(Type::Depth);
|
DoTest(Type::Depth);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -604,6 +604,9 @@ TEST_P(TextureZeroInitTest, IndependentDepthStencilLoadAfterDiscard) {
|
||||||
// on some Intel drivers.
|
// on some Intel drivers.
|
||||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
wgpu::TextureDescriptor depthStencilDescriptor = CreateTextureDescriptor(
|
wgpu::TextureDescriptor depthStencilDescriptor = CreateTextureDescriptor(
|
||||||
1, 1, wgpu::TextureUsage::RenderAttachment | wgpu::TextureUsage::CopySrc,
|
1, 1, wgpu::TextureUsage::RenderAttachment | wgpu::TextureUsage::CopySrc,
|
||||||
kDepthStencilFormat);
|
kDepthStencilFormat);
|
||||||
|
@ -767,6 +770,9 @@ TEST_P(TextureZeroInitTest, IndependentDepthStencilCopyAfterDiscard) {
|
||||||
// TODO(enga): Figure out why this fails on Metal Intel.
|
// TODO(enga): Figure out why this fails on Metal Intel.
|
||||||
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
DAWN_SUPPRESS_TEST_IF(IsMetal() && IsIntel());
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
wgpu::TextureDescriptor depthStencilDescriptor = CreateTextureDescriptor(
|
wgpu::TextureDescriptor depthStencilDescriptor = CreateTextureDescriptor(
|
||||||
1, 1, wgpu::TextureUsage::RenderAttachment | wgpu::TextureUsage::CopySrc,
|
1, 1, wgpu::TextureUsage::RenderAttachment | wgpu::TextureUsage::CopySrc,
|
||||||
kDepthStencilFormat);
|
kDepthStencilFormat);
|
||||||
|
|
|
@ -718,6 +718,9 @@ TEST_P(VertexFormatTest, Float16x4) {
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(VertexFormatTest, Float32) {
|
TEST_P(VertexFormatTest, Float32) {
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
std::vector<float> vertexData = {1.3f, +0.0f, -0.0f};
|
std::vector<float> vertexData = {1.3f, +0.0f, -0.0f};
|
||||||
|
|
||||||
DoVertexFormatTest(wgpu::VertexFormat::Float32, vertexData, vertexData);
|
DoVertexFormatTest(wgpu::VertexFormat::Float32, vertexData, vertexData);
|
||||||
|
@ -731,6 +734,9 @@ TEST_P(VertexFormatTest, Float32x2) {
|
||||||
// Fails on NVIDIA's Vulkan drivers on CQ but passes locally.
|
// Fails on NVIDIA's Vulkan drivers on CQ but passes locally.
|
||||||
DAWN_SUPPRESS_TEST_IF(IsVulkan() && IsNvidia());
|
DAWN_SUPPRESS_TEST_IF(IsVulkan() && IsNvidia());
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
std::vector<float> vertexData = {18.23f, -0.0f, +0.0f, +1.0f, 1.3f, -1.0f};
|
std::vector<float> vertexData = {18.23f, -0.0f, +0.0f, +1.0f, 1.3f, -1.0f};
|
||||||
|
|
||||||
DoVertexFormatTest(wgpu::VertexFormat::Float32x2, vertexData, vertexData);
|
DoVertexFormatTest(wgpu::VertexFormat::Float32x2, vertexData, vertexData);
|
||||||
|
|
|
@ -27,6 +27,9 @@ class VertexOnlyRenderPipelineTest : public DawnTest {
|
||||||
void SetUp() override {
|
void SetUp() override {
|
||||||
DawnTest::SetUp();
|
DawnTest::SetUp();
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
vertexBuffer =
|
vertexBuffer =
|
||||||
utils::CreateBufferFromData<float>(device, wgpu::BufferUsage::Vertex,
|
utils::CreateBufferFromData<float>(device, wgpu::BufferUsage::Vertex,
|
||||||
{// The middle back line
|
{// The middle back line
|
||||||
|
|
|
@ -176,6 +176,9 @@ TEST_P(ViewportTest, DefaultViewportDepth) {
|
||||||
// depth.
|
// depth.
|
||||||
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_depth_read"));
|
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_depth_read"));
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
TestViewportDepth(0.0, 1.0, false);
|
TestViewportDepth(0.0, 1.0, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -185,6 +188,9 @@ TEST_P(ViewportTest, ViewportDepth) {
|
||||||
// depth.
|
// depth.
|
||||||
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_depth_read"));
|
DAWN_TEST_UNSUPPORTED_IF(HasToggleEnabled("disable_depth_read"));
|
||||||
|
|
||||||
|
// TODO(dawn:1549) Fails on Qualcomm-based Android devices.
|
||||||
|
DAWN_SUPPRESS_TEST_IF(IsAndroid() && IsQualcomm());
|
||||||
|
|
||||||
TestViewportDepth(0.0, 0.5);
|
TestViewportDepth(0.0, 0.5);
|
||||||
TestViewportDepth(0.5, 1.0);
|
TestViewportDepth(0.5, 1.0);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue