From 938ee1e80fc8c56a5c0915f2d4659e2729381c8c Mon Sep 17 00:00:00 2001 From: Roman Lavrov Date: Fri, 21 Jul 2023 16:16:23 -0400 Subject: [PATCH] Vulkan: legacy_dithering disallow reactivate when breaking RP Hitting the assert in dEQP GLES2.functional.fragment_ops.random.0: https://crsrc.org/c/third_party/angle/src/libANGLE/renderer/vulkan/ContextVk.cpp;drc=52fe3116ead9a5de51ddad17fcb14bf8ecb3a69d;l=2347 Bug: b/292259684 Change-Id: Ib40b90dde3b271c714b6181e4ba4d70f3e1b5e86 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4706174 Reviewed-by: Charlie Lao Auto-Submit: Roman Lavrov Commit-Queue: Roman Lavrov --- src/libANGLE/renderer/vulkan/ContextVk.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libANGLE/renderer/vulkan/ContextVk.cpp b/src/libANGLE/renderer/vulkan/ContextVk.cpp index 23abf385006..31e3dcd3aae 100644 --- a/src/libANGLE/renderer/vulkan/ContextVk.cpp +++ b/src/libANGLE/renderer/vulkan/ContextVk.cpp @@ -5099,6 +5099,9 @@ void ContextVk::updateDither() FramebufferVk *framebufferVk = vk::GetImpl(mState.getDrawFramebuffer()); if (framebufferVk->updateLegacyDither(this)) { + // Can't reactivate: same framebuffer but the render pass desc has changed. + mAllowRenderPassToReactivate = false; + onRenderPassFinished(RenderPassClosureReason::LegacyDithering); } }