aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-autoroll <android-autoroll@skia-public.iam.gserviceaccount.com>2024-04-25 17:24:59 +0000
committerandroid-autoroll <android-autoroll@skia-public.iam.gserviceaccount.com>2024-04-25 17:24:59 +0000
commit9a2d2989030ec5bd4459d038b166d05e05d3f8ac (patch)
tree692e48baf93e1ee52ae6a1490342488467cf6f76
parent8eaa8655eeb3c980d8e8d835442a8189a2fa4ffb (diff)
parent37d2277bddcc38f9f426b5fa1a0c357787065c75 (diff)
downloadangle-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.cpp36
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,