Don't advertise timestamp support on Qualcomm
The Android devices I've tested with Qualcomm GPUs (like the Pixel 4) are exhibiting an issue where resolving timestamp queries after a render pass is causing a crash. Until that issue can be resolved it's safest to simply not advertise timestamp query support on these devices. Bug: dawn:1559 Change-Id: Id76aa5095ffbb7f55579cc428388f55f4528581d Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/104441 Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: Brandon Jones <bajones@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org>
This commit is contained in:
parent
873df0a2f7
commit
da866181ab
|
@ -149,7 +149,10 @@ MaybeError Adapter::InitializeSupportedFeaturesImpl() {
|
|||
mSupportedFeatures.EnableFeature(Feature::PipelineStatisticsQuery);
|
||||
}
|
||||
|
||||
if (mDeviceInfo.properties.limits.timestampComputeAndGraphics == VK_TRUE) {
|
||||
// TODO(dawn:1559) Resolving timestamp queries after a render pass is failing on Qualcomm-based
|
||||
// Android devices.
|
||||
if (mDeviceInfo.properties.limits.timestampComputeAndGraphics == VK_TRUE &&
|
||||
!IsAndroidQualcomm()) {
|
||||
mSupportedFeatures.EnableFeature(Feature::TimestampQuery);
|
||||
}
|
||||
|
||||
|
|
|
@ -750,9 +750,6 @@ TEST_P(TimestampQueryTests, TimestampOnRenderPass) {
|
|||
// devices
|
||||
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;
|
||||
|
||||
// Write timestamp with different query indexes
|
||||
|
@ -1035,9 +1032,6 @@ TEST_P(TimestampQueryTests, TimestampWritesOnRenderPassWithNoPipline) {
|
|||
// the issue is fixed.
|
||||
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);
|
||||
TestTimestampWritesOnRenderPass({{querySet, 0, wgpu::RenderPassTimestampLocation::Beginning},
|
||||
{querySet, 1, wgpu::RenderPassTimestampLocation::End}},
|
||||
|
@ -1053,9 +1047,6 @@ TEST_P(TimestampQueryTests, TimestampWritesOnRenderPassWithOnlyVertexStage) {
|
|||
// the issue is fixed.
|
||||
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);
|
||||
TestTimestampWritesOnRenderPass({{querySet, 0, wgpu::RenderPassTimestampLocation::Beginning},
|
||||
{querySet, 1, wgpu::RenderPassTimestampLocation::End}},
|
||||
|
|
Loading…
Reference in New Issue