From 2cdb9f1ed1835987457d0e759da08bced8856dae Mon Sep 17 00:00:00 2001 From: Ryan Harrison Date: Thu, 3 Sep 2020 18:39:37 +0000 Subject: [PATCH] Remove SPVC toggles and excise remaining references BUG=dawn:521 Change-Id: Ib6428ca366a70d73096f9b4442c1b7fb69a539ba Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28142 Reviewed-by: Austin Eng Commit-Queue: Ryan Harrison --- src/dawn_native/Device.cpp | 1 - src/dawn_native/Toggles.cpp | 10 -- src/dawn_native/Toggles.h | 2 - src/tests/DawnTest.cpp | 112 ------------------ src/tests/DawnTest.h | 8 -- src/tests/end2end/BindGroupTests.cpp | 6 - src/tests/end2end/BufferZeroInitTests.cpp | 16 --- src/tests/end2end/StorageTextureTests.cpp | 72 ----------- .../end2end/VertexBufferRobustnessTests.cpp | 6 +- .../ShaderModuleValidationTests.cpp | 1 - third_party/CMakeLists.txt | 4 - 11 files changed, 3 insertions(+), 235 deletions(-) diff --git a/src/dawn_native/Device.cpp b/src/dawn_native/Device.cpp index 5f48898fc6..5d24f770f6 100644 --- a/src/dawn_native/Device.cpp +++ b/src/dawn_native/Device.cpp @@ -1056,7 +1056,6 @@ namespace dawn_native { void DeviceBase::SetDefaultToggles() { SetToggle(Toggle::LazyClearResourceOnFirstUse, true); - SetToggle(Toggle::UseSpvc, false); } void DeviceBase::ApplyToggleOverrides(const DeviceDescriptor* deviceDescriptor) { diff --git a/src/dawn_native/Toggles.cpp b/src/dawn_native/Toggles.cpp index 290e413050..6bd0625a5b 100644 --- a/src/dawn_native/Toggles.cpp +++ b/src/dawn_native/Toggles.cpp @@ -93,16 +93,6 @@ namespace dawn_native { {Toggle::SkipValidation, {"skip_validation", "Skip expensive validation of Dawn commands.", "https://crbug.com/dawn/271"}}, - {Toggle::UseSpvc, - {"use_spvc", - "Enable use of spvc for shader compilation, instead of accessing spirv_cross " - "directly.", - "https://crbug.com/dawn/288"}}, - {Toggle::UseSpvcParser, - {"use_spvc_parser", - "Enable usage of spvc's internal parsing and IR generation code, instead of " - "spirv_cross's.", - "https://crbug.com/dawn/288"}}, {Toggle::VulkanUseD32S8, {"vulkan_use_d32s8", "Vulkan mandates support of either D32_FLOAT_S8 or D24_UNORM_S8. When available the " diff --git a/src/dawn_native/Toggles.h b/src/dawn_native/Toggles.h index e4dd4793a0..e3821bd2b9 100644 --- a/src/dawn_native/Toggles.h +++ b/src/dawn_native/Toggles.h @@ -34,8 +34,6 @@ namespace dawn_native { UseD3D12RenderPass, UseD3D12ResidencyManagement, SkipValidation, - UseSpvc, - UseSpvcParser, VulkanUseD32S8, MetalDisableSamplerCompare, DisableBaseVertex, diff --git a/src/tests/DawnTest.cpp b/src/tests/DawnTest.cpp index 77585ba8c1..bc04c7cc4a 100644 --- a/src/tests/DawnTest.cpp +++ b/src/tests/DawnTest.cpp @@ -230,72 +230,6 @@ void DawnTestEnvironment::ParseArgs(int argc, char** argv) { continue; } - if (strcmp("--use-spvc", argv[i]) == 0) { - if (mSpvcFlagSeen) { - dawn::WarningLog() << "Multiple flags passed in that force whether or not to use " - "the spvc. This may lead to unexpected behaviour."; - } - ASSERT(!mSpvcFlagSeen); - - mUseSpvc = true; - mSpvcFlagSeen = true; - continue; - } - - if (strcmp("--no-use-spvc", argv[i]) == 0) { - if (mSpvcFlagSeen) { - dawn::WarningLog() << "Multiple flags passed in that force whether or not to use " - "the spvc. This may lead to unexpected behaviour."; - } - ASSERT(!mSpvcFlagSeen); - - mUseSpvc = false; - mSpvcFlagSeen = true; - continue; - } - - if (strcmp("--use-spvc-parser", argv[i]) == 0) { - if (mSpvcParserFlagSeen) { - dawn::WarningLog() << "Multiple flags passed in that force whether or not to use " - "the spvc parser. This may cause unexpected behaviour."; - } - ASSERT(!mSpvcParserFlagSeen); - - if (!mUseSpvc) { - if (mSpvcFlagSeen) { - dawn::ErrorLog() - << "Overriding force disabling of spvc since it is required for using the " - "spvc parser. This indicates a likely misconfiguration."; - } else { - dawn::InfoLog() - << "Enabling spvc since it is required for using the spvc parser."; - } - ASSERT(!mSpvcFlagSeen); - } - - mUseSpvc = true; // It's impossible to use the spvc parser without using spvc, so - // turning on mUseSpvc implicitly. - mUseSpvcParser = true; - mSpvcParserFlagSeen = true; - continue; - } - - if (strcmp("--no-use-spvc-parser", argv[i]) == 0) { - if (mSpvcParserFlagSeen) { - dawn::WarningLog() << "Multiple flags passed in that force whether or not to use " - "the spvc parser. This may cause unexpected behaviour."; - } - ASSERT(!mSpvcParserFlagSeen); - - // Intentionally not changing mUseSpvc, since the dependency is one-way. This will - // not correctly handle the case where spvc is off by default, then there is a spvc - // parser on flag followed by a off flag, but that is already being indicated as a - // misuse. - mUseSpvcParser = false; - mSpvcParserFlagSeen = true; - continue; - } - constexpr const char kVendorIdFilterArg[] = "--adapter-vendor-id="; argLen = sizeof(kVendorIdFilterArg) - 1; if (strncmp(argv[i], kVendorIdFilterArg, argLen) == 0) { @@ -356,12 +290,6 @@ void DawnTestEnvironment::ParseArgs(int argc, char** argv) { " -c, --begin-capture-on-startup: Begin debug capture on startup " "(defaults to no capture)\n" " --skip-validation: Skip Dawn validation\n" - " --use-spvc: Use spvc for accessing spirv-cross\n" - " --no-use-spvc: Do not use spvc for accessing spirv-cross\n" - " --use-spvc-parser: Use spvc's spir-v parsing insteads of spirv-cross's, " - "implies --use-spvc\n" - " --no-use-spvc-parser: Do no use spvc's spir-v parsing insteads of " - "spirv-cross's\n" " --adapter-vendor-id: Select adapter by vendor id to run end2end tests" "on multi-GPU systems \n" " --exclusive-device-type-preference: Comma-delimited list of preferred device " @@ -488,12 +416,6 @@ void DawnTestEnvironment::PrintTestConfigurationAndAdapterInfo() const { << "\n" "SkipDawnValidation: " << (mSkipDawnValidation ? "true" : "false") - << "\n" - "UseSpvc: " - << (mUseSpvc ? "true" : "false") - << "\n" - "UseSpvcParser: " - << (mUseSpvcParser ? "true" : "false") << "\n" "BeginCaptureOnStartup: " << (mBeginCaptureOnStartup ? "true" : "false") @@ -543,14 +465,6 @@ bool DawnTestEnvironment::IsDawnValidationSkipped() const { return mSkipDawnValidation; } -bool DawnTestEnvironment::IsSpvcBeingUsed() const { - return mUseSpvc; -} - -bool DawnTestEnvironment::IsSpvcParserBeingUsed() const { - return mUseSpvcParser; -} - dawn_native::Instance* DawnTestEnvironment::GetInstance() const { return mInstance.get(); } @@ -696,14 +610,6 @@ bool DawnTestBase::IsDawnValidationSkipped() const { return gTestEnv->IsDawnValidationSkipped(); } -bool DawnTestBase::IsSpvcBeingUsed() const { - return gTestEnv->IsSpvcBeingUsed(); -} - -bool DawnTestBase::IsSpvcParserBeingUsed() const { - return gTestEnv->IsSpvcParserBeingUsed(); -} - bool DawnTestBase::IsAsan() const { #if defined(ADDRESS_SANITIZER) return true; @@ -790,24 +696,6 @@ void DawnTestBase::SetUp() { deviceDescriptor.forceEnabledToggles.push_back(kSkipValidationToggle); } - static constexpr char kUseSpvcToggle[] = "use_spvc"; - static constexpr char kUseSpvcParserToggle[] = "use_spvc_parser"; - if (gTestEnv->IsSpvcBeingUsed()) { - ASSERT(gTestEnv->GetInstance()->GetToggleInfo(kUseSpvcToggle) != nullptr); - deviceDescriptor.forceEnabledToggles.push_back(kUseSpvcToggle); - - if (gTestEnv->IsSpvcParserBeingUsed()) { - ASSERT(gTestEnv->GetInstance()->GetToggleInfo(kUseSpvcParserToggle) != nullptr); - deviceDescriptor.forceEnabledToggles.push_back(kUseSpvcParserToggle); - } - - } else { - // Turning on spvc parser should always turn on spvc. - ASSERT(!gTestEnv->IsSpvcParserBeingUsed()); - ASSERT(gTestEnv->GetInstance()->GetToggleInfo(kUseSpvcToggle) != nullptr); - deviceDescriptor.forceDisabledToggles.push_back(kUseSpvcToggle); - } - backendDevice = mBackendAdapter.CreateDevice(&deviceDescriptor); ASSERT_NE(nullptr, backendDevice); diff --git a/src/tests/DawnTest.h b/src/tests/DawnTest.h index 1116b5685b..6e2196d4c5 100644 --- a/src/tests/DawnTest.h +++ b/src/tests/DawnTest.h @@ -191,8 +191,6 @@ class DawnTestEnvironment : public testing::Environment { bool UsesWire() const; bool IsBackendValidationEnabled() const; bool IsDawnValidationSkipped() const; - bool IsSpvcBeingUsed() const; - bool IsSpvcParserBeingUsed() const; dawn_native::Instance* GetInstance() const; bool HasVendorIdFilter() const; uint32_t GetVendorIdFilter() const; @@ -210,10 +208,6 @@ class DawnTestEnvironment : public testing::Environment { bool mUseWire = false; bool mEnableBackendValidation = false; bool mSkipDawnValidation = false; - bool mUseSpvc = false; - bool mSpvcFlagSeen = false; - bool mUseSpvcParser = false; - bool mSpvcParserFlagSeen = false; bool mBeginCaptureOnStartup = false; bool mHasVendorIdFilter = false; uint32_t mVendorIdFilter = 0; @@ -256,8 +250,6 @@ class DawnTestBase { bool UsesWire() const; bool IsBackendValidationEnabled() const; bool IsDawnValidationSkipped() const; - bool IsSpvcBeingUsed() const; - bool IsSpvcParserBeingUsed() const; bool IsAsan() const; diff --git a/src/tests/end2end/BindGroupTests.cpp b/src/tests/end2end/BindGroupTests.cpp index ef635ce5ac..4239e7dda9 100644 --- a/src/tests/end2end/BindGroupTests.cpp +++ b/src/tests/end2end/BindGroupTests.cpp @@ -1095,12 +1095,6 @@ TEST_P(BindGroupTests, ReadonlyStorage) { // used correctly. The test loads a different value from each binding, and writes 1 to a storage // buffer if all values are correct. TEST_P(BindGroupTests, ReallyLargeBindGroup) { - // When we run dawn_end2end_tests with "--use-spvc-parser", extracting the binding type of a - // read-only image will always return shaderc_spvc_binding_type_writeonly_storage_texture. - // TODO(jiawei.shao@intel.com): enable this test when we specify "--use-spvc-parser" after the - // bug in spvc parser is fixed. - DAWN_SKIP_TEST_IF(IsD3D12() && IsSpvcParserBeingUsed()); - std::string interface = "#version 450\n"; std::string body; uint32_t binding = 0; diff --git a/src/tests/end2end/BufferZeroInitTests.cpp b/src/tests/end2end/BufferZeroInitTests.cpp index 46d8e87196..807f4a2dfd 100644 --- a/src/tests/end2end/BufferZeroInitTests.cpp +++ b/src/tests/end2end/BufferZeroInitTests.cpp @@ -401,10 +401,6 @@ class BufferZeroInitTest : public DawnTest { } void TestBufferZeroInitAsIndirectBufferForDispatchIndirect(uint64_t indirectBufferOffset) { - // See https://github.com/google/shaderc/issues/1123 for more details. - // TODO(jiawei.shao@intel.com): enable this test when the related SPVC issue is fixed. - DAWN_SKIP_TEST_IF(IsD3D12() && IsSpvcParserBeingUsed()); - constexpr wgpu::TextureFormat kColorAttachmentFormat = wgpu::TextureFormat::RGBA8Unorm; constexpr wgpu::Color kClearColorGreen = {0.f, 1.f, 0.f, 1.f}; @@ -971,10 +967,6 @@ TEST_P(BufferZeroInitTest, Copy2DArrayTextureToBuffer) { // Test that the buffer will be lazy initialized correctly when its first use is to be bound as a // uniform buffer. TEST_P(BufferZeroInitTest, BoundAsUniformBuffer) { - // See https://github.com/google/shaderc/issues/1123 for more details. - // TODO(jiawei.shao@intel.com): enable this test when the related SPVC issue is fixed. - DAWN_SKIP_TEST_IF(IsD3D12() && IsSpvcParserBeingUsed()); - const char* computeShader = R"( #version 450 layout(set = 0, binding = 0, std140) uniform UBO { @@ -1011,10 +1003,6 @@ TEST_P(BufferZeroInitTest, BoundAsUniformBuffer) { // Test that the buffer will be lazy initialized correctly when its first use is to be bound as a // read-only storage buffer. TEST_P(BufferZeroInitTest, BoundAsReadonlyStorageBuffer) { - // See https://github.com/google/shaderc/issues/1123 for more details. - // TODO(jiawei.shao@intel.com): enable this test when the related SPVC issue is fixed. - DAWN_SKIP_TEST_IF(IsD3D12() && IsSpvcParserBeingUsed()); - const char* computeShader = R"( #version 450 layout(set = 0, binding = 0, std140) readonly buffer SSBO { @@ -1051,10 +1039,6 @@ TEST_P(BufferZeroInitTest, BoundAsReadonlyStorageBuffer) { // Test that the buffer will be lazy initialized correctly when its first use is to be bound as a // storage buffer. TEST_P(BufferZeroInitTest, BoundAsStorageBuffer) { - // See https://github.com/google/shaderc/issues/1123 for more details. - // TODO(jiawei.shao@intel.com): enable this test when the related SPVC issue is fixed. - DAWN_SKIP_TEST_IF(IsD3D12() && IsSpvcParserBeingUsed()); - const char* computeShader = R"( #version 450 layout(set = 0, binding = 0, std140) buffer SSBO { diff --git a/src/tests/end2end/StorageTextureTests.cpp b/src/tests/end2end/StorageTextureTests.cpp index b09f648f3c..cef7c942a3 100644 --- a/src/tests/end2end/StorageTextureTests.cpp +++ b/src/tests/end2end/StorageTextureTests.cpp @@ -703,12 +703,6 @@ TEST_P(StorageTextureTests, BindGroupLayoutWithStorageTextureBindingType) { // Test that read-only storage textures are supported in compute shader. TEST_P(StorageTextureTests, ReadonlyStorageTextureInComputeShader) { - // When we run dawn_end2end_tests with "--use-spvc-parser", extracting the binding type of a - // read-only image will always return shaderc_spvc_binding_type_writeonly_storage_texture. - // TODO(jiawei.shao@intel.com): enable this test when we specify "--use-spvc-parser" after the - // bug in spvc parser is fixed. - DAWN_SKIP_TEST_IF(IsD3D12() && IsSpvcParserBeingUsed()); - for (wgpu::TextureFormat format : utils::kAllTextureFormats) { if (!utils::TextureFormatSupportsStorageTexture(format)) { continue; @@ -743,12 +737,6 @@ TEST_P(StorageTextureTests, ReadonlyStorageTextureInComputeShader) { // Test that read-only storage textures are supported in vertex shader. TEST_P(StorageTextureTests, ReadonlyStorageTextureInVertexShader) { - // When we run dawn_end2end_tests with "--use-spvc-parser", extracting the binding type of a - // read-only image will always return shaderc_spvc_binding_type_writeonly_storage_texture. - // TODO(jiawei.shao@intel.com): enable this test when we specify "--use-spvc-parser" after the - // bug in spvc parser is fixed. - DAWN_SKIP_TEST_IF(IsSpvcParserBeingUsed()); - for (wgpu::TextureFormat format : utils::kAllTextureFormats) { if (!utils::TextureFormatSupportsStorageTexture(format)) { continue; @@ -789,12 +777,6 @@ TEST_P(StorageTextureTests, ReadonlyStorageTextureInVertexShader) { // Test that read-only storage textures are supported in fragment shader. TEST_P(StorageTextureTests, ReadonlyStorageTextureInFragmentShader) { - // When we run dawn_end2end_tests with "--use-spvc-parser", extracting the binding type of a - // read-only image will always return shaderc_spvc_binding_type_writeonly_storage_texture. - // TODO(jiawei.shao@intel.com): enable this test when we specify "--use-spvc-parser" after the - // bug in spvc parser is fixed. - DAWN_SKIP_TEST_IF(IsSpvcParserBeingUsed()); - for (wgpu::TextureFormat format : utils::kAllTextureFormats) { if (!utils::TextureFormatSupportsStorageTexture(format)) { continue; @@ -827,12 +809,6 @@ TEST_P(StorageTextureTests, ReadonlyStorageTextureInFragmentShader) { // Test that write-only storage textures are supported in compute shader. TEST_P(StorageTextureTests, WriteonlyStorageTextureInComputeShader) { - // When we run dawn_end2end_tests with "--use-spvc-parser", extracting the binding type of a - // read-only image will always return shaderc_spvc_binding_type_writeonly_storage_texture. - // TODO(jiawei.shao@intel.com): enable this test when we specify "--use-spvc-parser" after the - // bug in spvc parser is fixed. - DAWN_SKIP_TEST_IF(IsD3D12() && IsSpvcParserBeingUsed()); - for (wgpu::TextureFormat format : utils::kAllTextureFormats) { if (!utils::TextureFormatSupportsStorageTexture(format)) { continue; @@ -860,12 +836,6 @@ TEST_P(StorageTextureTests, WriteonlyStorageTextureInComputeShader) { // Test that reading from one read-only storage texture then writing into another write-only storage // texture in one dispatch are supported in compute shader. TEST_P(StorageTextureTests, ReadWriteDifferentStorageTextureInOneDispatchInComputeShader) { - // When we run dawn_end2end_tests with "--use-spvc-parser", extracting the binding type of a - // read-only image will always return shaderc_spvc_binding_type_writeonly_storage_texture. - // TODO(jiawei.shao@intel.com): enable this test when we specify "--use-spvc-parser" after the - // bug in spvc parser is fixed. - DAWN_SKIP_TEST_IF(IsD3D12() && IsSpvcParserBeingUsed()); - for (wgpu::TextureFormat format : utils::kAllTextureFormats) { if (!utils::TextureFormatSupportsStorageTexture(format)) { continue; @@ -898,12 +868,6 @@ TEST_P(StorageTextureTests, ReadWriteDifferentStorageTextureInOneDispatchInCompu // Test that write-only storage textures are supported in fragment shader. TEST_P(StorageTextureTests, WriteonlyStorageTextureInFragmentShader) { - // When we run dawn_end2end_tests with "--use-spvc-parser", extracting the binding type of a - // read-only image will always return shaderc_spvc_binding_type_writeonly_storage_texture. - // TODO(jiawei.shao@intel.com): enable this test when we specify "--use-spvc-parser" after the - // bug in spvc parser is fixed. - DAWN_SKIP_TEST_IF(IsD3D12() && IsSpvcParserBeingUsed()); - for (wgpu::TextureFormat format : utils::kAllTextureFormats) { if (!utils::TextureFormatSupportsStorageTexture(format)) { continue; @@ -931,12 +895,6 @@ TEST_P(StorageTextureTests, WriteonlyStorageTextureInFragmentShader) { // Verify 2D array read-only storage texture works correctly. TEST_P(StorageTextureTests, Readonly2DArrayStorageTexture) { - // When we run dawn_end2end_tests with "--use-spvc-parser", extracting the binding type of a - // read-only image will always return shaderc_spvc_binding_type_writeonly_storage_texture. - // TODO(jiawei.shao@intel.com): enable this test when we specify "--use-spvc-parser" after the - // bug in spvc parser is fixed. - DAWN_SKIP_TEST_IF(IsSpvcParserBeingUsed()); - constexpr uint32_t kArrayLayerCount = 3u; constexpr wgpu::TextureFormat kTextureFormat = wgpu::TextureFormat::R32Uint; @@ -969,12 +927,6 @@ TEST_P(StorageTextureTests, Readonly2DArrayStorageTexture) { // Verify 2D array write-only storage texture works correctly. TEST_P(StorageTextureTests, Writeonly2DArrayStorageTexture) { - // When we run dawn_end2end_tests with "--use-spvc-parser", extracting the binding type of a - // read-only image will always return shaderc_spvc_binding_type_writeonly_storage_texture. - // TODO(jiawei.shao@intel.com): enable this test when we specify "--use-spvc-parser" after the - // bug in spvc parser is fixed. - DAWN_SKIP_TEST_IF(IsD3D12() && IsSpvcParserBeingUsed()); - constexpr uint32_t kArrayLayerCount = 3u; constexpr wgpu::TextureFormat kTextureFormat = wgpu::TextureFormat::R32Uint; @@ -1037,12 +989,6 @@ class StorageTextureZeroInitTests : public StorageTextureTests { // Verify that the texture is correctly cleared to 0 before its first usage as a read-only storage // texture in a render pass. TEST_P(StorageTextureZeroInitTests, ReadonlyStorageTextureClearsToZeroInRenderPass) { - // When we run dawn_end2end_tests with "--use-spvc-parser", extracting the binding type of a - // read-only image will always return shaderc_spvc_binding_type_writeonly_storage_texture. - // TODO(jiawei.shao@intel.com): enable this test when we specify "--use-spvc-parser" after the - // bug in spvc parser is fixed. - DAWN_SKIP_TEST_IF(IsSpvcParserBeingUsed()); - wgpu::Texture readonlyStorageTexture = CreateTexture(wgpu::TextureFormat::R32Uint, wgpu::TextureUsage::Storage); @@ -1069,12 +1015,6 @@ TEST_P(StorageTextureZeroInitTests, ReadonlyStorageTextureClearsToZeroInRenderPa // Verify that the texture is correctly cleared to 0 before its first usage as a read-only storage // texture in a compute pass. TEST_P(StorageTextureZeroInitTests, ReadonlyStorageTextureClearsToZeroInComputePass) { - // When we run dawn_end2end_tests with "--use-spvc-parser", extracting the binding type of a - // read-only image will always return shaderc_spvc_binding_type_writeonly_storage_texture. - // TODO(jiawei.shao@intel.com): enable this test when we specify "--use-spvc-parser" after the - // bug in spvc parser is fixed. - DAWN_SKIP_TEST_IF(IsSpvcParserBeingUsed()); - wgpu::Texture readonlyStorageTexture = CreateTexture(wgpu::TextureFormat::R32Uint, wgpu::TextureUsage::Storage); @@ -1102,12 +1042,6 @@ TEST_P(StorageTextureZeroInitTests, ReadonlyStorageTextureClearsToZeroInComputeP // Verify that the texture is correctly cleared to 0 before its first usage as a write-only storage // storage texture in a render pass. TEST_P(StorageTextureZeroInitTests, WriteonlyStorageTextureClearsToZeroInRenderPass) { - // When we run dawn_end2end_tests with "--use-spvc-parser", extracting the binding type of a - // read-only image will always return shaderc_spvc_binding_type_writeonly_storage_texture. - // TODO(jiawei.shao@intel.com): enable this test when we specify "--use-spvc-parser" after the - // bug in spvc parser is fixed. - DAWN_SKIP_TEST_IF(IsD3D12() && IsSpvcParserBeingUsed()); - // Prepare the write-only storage texture. constexpr uint32_t kTexelSizeR32Uint = 4u; wgpu::Texture writeonlyStorageTexture = CreateTexture( @@ -1121,12 +1055,6 @@ TEST_P(StorageTextureZeroInitTests, WriteonlyStorageTextureClearsToZeroInRenderP // Verify that the texture is correctly cleared to 0 before its first usage as a write-only storage // texture in a compute pass. TEST_P(StorageTextureZeroInitTests, WriteonlyStorageTextureClearsToZeroInComputePass) { - // When we run dawn_end2end_tests with "--use-spvc-parser", extracting the binding type of a - // read-only image will always return shaderc_spvc_binding_type_writeonly_storage_texture. - // TODO(jiawei.shao@intel.com): enable this test when we specify "--use-spvc-parser" after the - // bug in spvc parser is fixed. - DAWN_SKIP_TEST_IF(IsD3D12() && IsSpvcParserBeingUsed()); - // Prepare the write-only storage texture. constexpr uint32_t kTexelSizeR32Uint = 4u; wgpu::Texture writeonlyStorageTexture = CreateTexture( diff --git a/src/tests/end2end/VertexBufferRobustnessTests.cpp b/src/tests/end2end/VertexBufferRobustnessTests.cpp index 59d090b40c..06052975da 100644 --- a/src/tests/end2end/VertexBufferRobustnessTests.cpp +++ b/src/tests/end2end/VertexBufferRobustnessTests.cpp @@ -19,15 +19,15 @@ #include "utils/ComboRenderPipelineDescriptor.h" #include "utils/WGPUHelpers.h" +// TODO(rharrison): Re-enable as part of https://bugs.chromium.org/p/dawn/issues/detail?id=523 + // Vertex buffer robustness tests that clamping is applied on vertex attributes. This would happen // on backends where vertex pulling is enabled, such as Metal. - class VertexBufferRobustnessTest : public DawnTest { protected: void SetUp() override { DawnTest::SetUp(); - // SPVC must be used currently, since we rely on the robustness pass in it - DAWN_SKIP_TEST_IF(!IsSpvcBeingUsed()); + GTEST_SKIP(); } // Creates a vertex module that tests an expression with given attributes. If successful, the diff --git a/src/tests/unittests/validation/ShaderModuleValidationTests.cpp b/src/tests/unittests/validation/ShaderModuleValidationTests.cpp index 1e570eb421..d7d1d95c09 100644 --- a/src/tests/unittests/validation/ShaderModuleValidationTests.cpp +++ b/src/tests/unittests/validation/ShaderModuleValidationTests.cpp @@ -116,7 +116,6 @@ TEST_F(ShaderModuleValidationTest, NoChainedDescriptor) { } // Test that it is not allowed to use combined texture and sampler. -// TODO(jiawei.shao@intel.com): support extracting combined texture and sampler in spvc. TEST_F(ShaderModuleValidationTest, CombinedTextureAndSampler) { const char* shader = R"( #version 450 diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt index c30ff37980..f0bb8ab930 100644 --- a/third_party/CMakeLists.txt +++ b/third_party/CMakeLists.txt @@ -42,7 +42,6 @@ endif() if (NOT TARGET shaderc) set(SHADERC_SKIP_TESTS ON CACHE BOOL "" FORCE) set(SHADERC_SKIP_INSTALL ON CACHE BOOL "" FORCE) - set(SHADERC_ENABLE_SPVC ON CACHE BOOL "" FORCE) # Change the default value of SHADERC_ENABLE_SHARED_CRT to ON as that's what matches the # CMake defaults better. @@ -50,9 +49,6 @@ if (NOT TARGET shaderc) option(SHADERC_ENABLE_SHARED_CRT "Use the shared CRT instead of the static CRT" ON CACHE BOOL "" FORCE) endif() - # Let SPVC's CMakeLists.txt deal with configuring SPIRV-Cross - set(SPIRV_CROSS_ENABLE_TESTS OFF CACHE BOOL "" FORCE) - message(STATUS "Dawn: using shaderc at ${DAWN_SHADERC_DIR}") add_subdirectory(${DAWN_SHADERC_DIR}) endif()