Vulkan: Do vertex conversion with fine grain dirtyRange Right now when we do vertex conversion with multiple dirty ranges, we are merging dirty ranges into single range and then UtilsVk::convertVertexBuffer() is called for the merged dirty range. If there is big gap between two ranges, the merged range could be very big. This means we end up doing many unnecessary conversion. This CL tracks individual dirty ranges and issues dispatchCompute for each dirty range, thus minimize the unnecessary conversions. On S24, this change further reduces TraceTest.gangstar_vegas frame time from ~6.0ms to ~3.8ms, almost parity to native GLES's ~3.6ms. Bug: b/357622380 Change-Id: Ia103f3963bdb5996ff3f95164c955a3e4f33f311 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5787633 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>