From cbd3ef4bb9c28c075fd6fbbbeac9c8d75331b9f1 Mon Sep 17 00:00:00 2001 From: Li Hao Date: Thu, 22 Sep 2022 09:52:35 +0000 Subject: [PATCH] Suppress TimestampQueryTests.ResolveTwiceToSameBuffer/D3D12 on Intel Gen12 This is a D3D driver regression on Intel Gen12 GPUs, the test could pass on old driver version and pass with disable_timestamp_query_conversion toggle on latest driver. Bug: dawn:1546 Change-Id: I8cf63824d5147bb78f53a284cada8efdc653a3ce Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/103380 Commit-Queue: Hao Li Reviewed-by: Corentin Wallez Kokoro: Kokoro --- src/dawn/tests/DawnTest.cpp | 7 +++++++ src/dawn/tests/DawnTest.h | 2 ++ src/dawn/tests/end2end/QueryTests.cpp | 4 ++++ 3 files changed, 13 insertions(+) diff --git a/src/dawn/tests/DawnTest.cpp b/src/dawn/tests/DawnTest.cpp index 8dc4d5d3b3..7d4f36beaf 100644 --- a/src/dawn/tests/DawnTest.cpp +++ b/src/dawn/tests/DawnTest.cpp @@ -705,6 +705,13 @@ bool DawnTestBase::IsWARP() const { mParam.adapterProperties.deviceID); } +bool DawnTestBase::IsIntelGen12() const { + return gpu_info::IsIntelGen12LP(mParam.adapterProperties.vendorID, + mParam.adapterProperties.deviceID) || + gpu_info::IsIntelGen12HP(mParam.adapterProperties.vendorID, + mParam.adapterProperties.deviceID); +} + bool DawnTestBase::IsWindows() const { #if DAWN_PLATFORM_IS(WINDOWS) return true; diff --git a/src/dawn/tests/DawnTest.h b/src/dawn/tests/DawnTest.h index 0a95873392..df3961b3b2 100644 --- a/src/dawn/tests/DawnTest.h +++ b/src/dawn/tests/DawnTest.h @@ -235,6 +235,8 @@ class DawnTestBase { bool IsANGLE() const; bool IsWARP() const; + bool IsIntelGen12() const; + bool IsWindows() const; bool IsLinux() const; bool IsMacOS(int32_t majorVersion = -1, int32_t minorVersion = -1) const; diff --git a/src/dawn/tests/end2end/QueryTests.cpp b/src/dawn/tests/end2end/QueryTests.cpp index 5c641ad8f4..6638875f21 100644 --- a/src/dawn/tests/end2end/QueryTests.cpp +++ b/src/dawn/tests/end2end/QueryTests.cpp @@ -1182,6 +1182,10 @@ TEST_P(TimestampQueryTests, ResolveTwiceToSameBuffer) { // the issue is fixed. DAWN_SUPPRESS_TEST_IF(IsWindows() && IsVulkan() && IsIntel()); + // TODO(dawn:1546): Intel D3D driver regression on Gen12 GPUs. The compute shader in two + // ResolveQuerySet execute wrong. + DAWN_SUPPRESS_TEST_IF(IsD3D12() && IsIntelGen12()); + constexpr uint32_t kQueryCount = kMinCount + 2; wgpu::QuerySet querySet = CreateQuerySetForTimestamp(kQueryCount);