From 10cb17e079e14f4f9a1bdaea9b46b343c82c4679 Mon Sep 17 00:00:00 2001 From: Ryan Harrison Date: Thu, 3 Dec 2020 16:34:27 +0000 Subject: [PATCH] Disable unit tests with KI when Tint Inspector is being used dawn_unittests --enable-toggles=use_tint_inspector now passes. Bug: tint:578 Change-Id: I1e764fd99a145542fe6b7c6e651b0dec1fb4785f Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/34722 Commit-Queue: Ryan Harrison Reviewed-by: Corentin Wallez Auto-Submit: Ryan Harrison --- .../validation/RenderPipelineValidationTests.cpp | 3 +++ .../validation/StorageTextureValidationTests.cpp | 6 ++++++ src/tests/unittests/validation/ValidationTest.cpp | 9 +++++++++ src/tests/unittests/validation/ValidationTest.h | 1 + 4 files changed, 19 insertions(+) diff --git a/src/tests/unittests/validation/RenderPipelineValidationTests.cpp b/src/tests/unittests/validation/RenderPipelineValidationTests.cpp index 7aee3c34dd..24c3f30299 100644 --- a/src/tests/unittests/validation/RenderPipelineValidationTests.cpp +++ b/src/tests/unittests/validation/RenderPipelineValidationTests.cpp @@ -480,6 +480,9 @@ TEST_F(RenderPipelineValidationTest, TextureViewDimensionCompatibility) { // Test that declaring a storage buffer in the vertex shader without setting pipeline layout won't // cause crash. TEST_F(RenderPipelineValidationTest, StorageBufferInVertexShaderNoLayout) { + // TODO(rharrison): Re-enable once tint:383 is resolved. + DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_inspector")); + wgpu::ShaderModule vsModuleWithStorageBuffer = utils::CreateShaderModuleFromWGSL(device, R"( [[block]] struct Dst { [[offset(0)]] data : [[stride(4)]] array; diff --git a/src/tests/unittests/validation/StorageTextureValidationTests.cpp b/src/tests/unittests/validation/StorageTextureValidationTests.cpp index af7b8adfde..4b0289d87d 100644 --- a/src/tests/unittests/validation/StorageTextureValidationTests.cpp +++ b/src/tests/unittests/validation/StorageTextureValidationTests.cpp @@ -122,6 +122,9 @@ class StorageTextureValidationTests : public ValidationTest { // Validate read-only storage textures can be declared in vertex and fragment shaders, while // writeonly storage textures cannot be used in vertex shaders. TEST_F(StorageTextureValidationTests, RenderPipeline) { + // TODO(rharrison): Re-enable once https://dawn-review.googlesource.com/c/tint/+/34424 lands + DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_inspector")); + // Readonly storage texture can be declared in a vertex shader. { wgpu::ShaderModule vsModule = utils::CreateShaderModuleFromWGSL(device, R"( @@ -194,6 +197,9 @@ TEST_F(StorageTextureValidationTests, RenderPipeline) { // Validate both read-only and write-only storage textures can be declared in // compute shaders. TEST_F(StorageTextureValidationTests, ComputePipeline) { + // TODO(rharrison): Re-enable once https://dawn-review.googlesource.com/c/tint/+/34424 lands + DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_inspector")); + // Read-only storage textures can be declared in a compute shader. { wgpu::ShaderModule csModule = utils::CreateShaderModuleFromWGSL(device, R"( diff --git a/src/tests/unittests/validation/ValidationTest.cpp b/src/tests/unittests/validation/ValidationTest.cpp index b42d093be4..a4695c6fe4 100644 --- a/src/tests/unittests/validation/ValidationTest.cpp +++ b/src/tests/unittests/validation/ValidationTest.cpp @@ -19,6 +19,8 @@ #include "dawn/webgpu.h" #include "dawn_native/NullBackend.h" +#include + void ValidationTest::SetUp() { instance = std::make_unique(); instance->DiscoverDefaultAdapters(); @@ -97,6 +99,13 @@ bool ValidationTest::HasWGSL() const { #endif } +bool ValidationTest::HasToggleEnabled(const char* toggle) const { + auto toggles = dawn_native::GetTogglesUsed(device.Get()); + return std::find_if(toggles.begin(), toggles.end(), [toggle](const char* name) { + return strcmp(toggle, name) == 0; + }) != toggles.end(); +} + wgpu::Device ValidationTest::CreateTestDevice() { return wgpu::Device::Acquire(adapter.CreateDevice()); } diff --git a/src/tests/unittests/validation/ValidationTest.h b/src/tests/unittests/validation/ValidationTest.h index cb1da5bb54..79f9cce4f6 100644 --- a/src/tests/unittests/validation/ValidationTest.h +++ b/src/tests/unittests/validation/ValidationTest.h @@ -76,6 +76,7 @@ class ValidationTest : public testing::Test { }; bool HasWGSL() const; + bool HasToggleEnabled(const char* toggle) const; protected: virtual wgpu::Device CreateTestDevice();