diff options
author | android-autoroll <android-autoroll@skia-public.iam.gserviceaccount.com> | 2024-04-25 17:24:59 +0000 |
---|---|---|
committer | android-autoroll <android-autoroll@skia-public.iam.gserviceaccount.com> | 2024-04-25 17:24:59 +0000 |
commit | 9a2d2989030ec5bd4459d038b166d05e05d3f8ac (patch) | |
tree | 692e48baf93e1ee52ae6a1490342488467cf6f76 | |
parent | 8eaa8655eeb3c980d8e8d835442a8189a2fa4ffb (diff) | |
parent | 37d2277bddcc38f9f426b5fa1a0c357787065c75 (diff) | |
download | angle-9a2d2989030ec5bd4459d038b166d05e05d3f8ac.tar.gz |
Roll ANGLE from ab0140b0cb9c to 37d2277bddcc (1 revision)
https://chromium.googlesource.com/angle/angle.git/+log/ab0140b0cb9c..37d2277bddcc
Please enable autosubmit on changes if possible when approving them.
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-android-autoroll
Please CC angle-team@google.com,rmistry@google.com,ynovikov@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Test: Presubmit checks will test this change.
Exempt-From-Owner-Approval: The autoroll bot does not require owner approval.
Bug: b/336411904
Bug: b/336847261
Change-Id: I109bf81e5a5ff42d88cc614e9df46b317e8aca7f
-rw-r--r-- | src/libANGLE/renderer/vulkan/vk_renderer.cpp | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/src/libANGLE/renderer/vulkan/vk_renderer.cpp b/src/libANGLE/renderer/vulkan/vk_renderer.cpp index 4794abf480..da63d68870 100644 --- a/src/libANGLE/renderer/vulkan/vk_renderer.cpp +++ b/src/libANGLE/renderer/vulkan/vk_renderer.cpp @@ -4675,7 +4675,12 @@ void Renderer::initFeatures(const vk::ExtensionNameList &deviceExtensionNames, // http://issuetracker.google.com/287318431 // // On Pixel devices, the issues have been fixed since r44, but on others since r44p1. - const bool isArm44OrLess = isARM && armDriverVersion < ARMDriverVersion(44, 1, 0); + // + // Regressions have been detected using r46 on older architectures though + // http://issuetracker.google.com/336411904 + const bool isExtendedDynamicStateBuggy = + (isARM && armDriverVersion < ARMDriverVersion(44, 1, 0)) || + (isMaliJobManagerBasedGPU && armDriverVersion >= ARMDriverVersion(46, 0, 0)); // Vertex input binding stride is buggy for Windows/Intel drivers before 100.9684. const bool isVertexInputBindingStrideBuggy = @@ -4687,9 +4692,9 @@ void Renderer::initFeatures(const vk::ExtensionNameList &deviceExtensionNames, mVertexInputDynamicStateFeatures.vertexInputDynamicState == VK_TRUE && !(IsWindows() && isIntel)); - ANGLE_FEATURE_CONDITION( - &mFeatures, supportsExtendedDynamicState, - mExtendedDynamicStateFeatures.extendedDynamicState == VK_TRUE && !isArm44OrLess); + ANGLE_FEATURE_CONDITION(&mFeatures, supportsExtendedDynamicState, + mExtendedDynamicStateFeatures.extendedDynamicState == VK_TRUE && + !isExtendedDynamicStateBuggy); // VK_EXT_vertex_input_dynamic_state enables dynamic state for the full vertex input state. As // such, when available use supportsVertexInputDynamicState instead of @@ -4697,15 +4702,17 @@ void Renderer::initFeatures(const vk::ExtensionNameList &deviceExtensionNames, ANGLE_FEATURE_CONDITION(&mFeatures, useVertexInputBindingStrideDynamicState, mFeatures.supportsExtendedDynamicState.enabled && !mFeatures.supportsVertexInputDynamicState.enabled && - !isArm44OrLess && !isVertexInputBindingStrideBuggy); - ANGLE_FEATURE_CONDITION(&mFeatures, useCullModeDynamicState, - mFeatures.supportsExtendedDynamicState.enabled && !isArm44OrLess); + !isExtendedDynamicStateBuggy && !isVertexInputBindingStrideBuggy); + ANGLE_FEATURE_CONDITION( + &mFeatures, useCullModeDynamicState, + mFeatures.supportsExtendedDynamicState.enabled && !isExtendedDynamicStateBuggy); ANGLE_FEATURE_CONDITION(&mFeatures, useDepthCompareOpDynamicState, mFeatures.supportsExtendedDynamicState.enabled); ANGLE_FEATURE_CONDITION(&mFeatures, useDepthTestEnableDynamicState, mFeatures.supportsExtendedDynamicState.enabled); - ANGLE_FEATURE_CONDITION(&mFeatures, useDepthWriteEnableDynamicState, - mFeatures.supportsExtendedDynamicState.enabled && !isArm44OrLess); + ANGLE_FEATURE_CONDITION( + &mFeatures, useDepthWriteEnableDynamicState, + mFeatures.supportsExtendedDynamicState.enabled && !isExtendedDynamicStateBuggy); ANGLE_FEATURE_CONDITION(&mFeatures, useFrontFaceDynamicState, mFeatures.supportsExtendedDynamicState.enabled); ANGLE_FEATURE_CONDITION(&mFeatures, useStencilOpDynamicState, @@ -4713,12 +4720,13 @@ void Renderer::initFeatures(const vk::ExtensionNameList &deviceExtensionNames, ANGLE_FEATURE_CONDITION(&mFeatures, useStencilTestEnableDynamicState, mFeatures.supportsExtendedDynamicState.enabled); - ANGLE_FEATURE_CONDITION( - &mFeatures, supportsExtendedDynamicState2, - mExtendedDynamicState2Features.extendedDynamicState2 == VK_TRUE && !isArm44OrLess); + ANGLE_FEATURE_CONDITION(&mFeatures, supportsExtendedDynamicState2, + mExtendedDynamicState2Features.extendedDynamicState2 == VK_TRUE && + !isExtendedDynamicStateBuggy); - ANGLE_FEATURE_CONDITION(&mFeatures, usePrimitiveRestartEnableDynamicState, - mFeatures.supportsExtendedDynamicState2.enabled && !isArm44OrLess); + ANGLE_FEATURE_CONDITION( + &mFeatures, usePrimitiveRestartEnableDynamicState, + mFeatures.supportsExtendedDynamicState2.enabled && !isExtendedDynamicStateBuggy); ANGLE_FEATURE_CONDITION(&mFeatures, useRasterizerDiscardEnableDynamicState, mFeatures.supportsExtendedDynamicState2.enabled); ANGLE_FEATURE_CONDITION(&mFeatures, useDepthBiasEnableDynamicState, |