Vulkan: Optimize Attribute Change Perf (1/5) This patch series optimizes programs that use the pattern: for (;;) { glVertexAttribPointer(...) glDraw(...) } Change 1: Don't null out pipeline on state change. This allows us to use the transition table for reduced CPU overhead. Note that we don't use a transition table for compute pipelines. In total the patch series reduces test iteration time by 25%. This is the most significant patch, reducing test time by 20%. Test: DrawCallPerfBenchmark.Run/vulkan_attrib_change Bug: angleproject:5045 Bug: b/168493024 Change-Id: I3823bb7d83bc2c66357fc5eb8f5dc3e4e54f6a17 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2407340 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>