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 <hao.x.li@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
This commit is contained in:
Li Hao 2022-09-22 09:52:35 +00:00 committed by Dawn LUCI CQ
parent 1a27c55aa5
commit cbd3ef4bb9
3 changed files with 13 additions and 0 deletions

View File

@ -705,6 +705,13 @@ bool DawnTestBase::IsWARP() const {
mParam.adapterProperties.deviceID); 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 { bool DawnTestBase::IsWindows() const {
#if DAWN_PLATFORM_IS(WINDOWS) #if DAWN_PLATFORM_IS(WINDOWS)
return true; return true;

View File

@ -235,6 +235,8 @@ class DawnTestBase {
bool IsANGLE() const; bool IsANGLE() const;
bool IsWARP() const; bool IsWARP() const;
bool IsIntelGen12() const;
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;

View File

@ -1182,6 +1182,10 @@ TEST_P(TimestampQueryTests, ResolveTwiceToSameBuffer) {
// the issue is fixed. // the issue is fixed.
DAWN_SUPPRESS_TEST_IF(IsWindows() && IsVulkan() && IsIntel()); 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; constexpr uint32_t kQueryCount = kMinCount + 2;
wgpu::QuerySet querySet = CreateQuerySetForTimestamp(kQueryCount); wgpu::QuerySet querySet = CreateQuerySetForTimestamp(kQueryCount);