Commit 745023ef849582956a892a4e6697cb436fb8583d

Charlie Lao 2023-08-14T10:47:11

Vulkan: Ensure mComputeDirtyBits is set for potential submission. When ContextVk::flushOutsideRenderPassCommands is called and we run out of serial numbers reserved for outsideRPCommands (which means we have an already started renderpass)., we will call flushCommandsAndEndRenderPass so that we can have new queue serials for both renderPass and outsideRP commands. When this happens, the current bug is that we will not add mNewComputeCommandBufferDirtyBits to mComputeDirtyBits. If another thread comes in did the submission, and then this context calls dispatchCompute again without any state change, we will get a new primprary command buffer without dirty bits for the new command buffer. This CL ensures we always add mNewComputeCommandBufferDirtyBits immediately after mRenderer->flushOutsideRPCommands call. Bug: b/295533354 Change-Id: I1c672310b3b00cd9be25b5ee55a0a060239102a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4778445 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Hailin Zhang <hailinzhang@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>