Vulkan: Limit vertexBufferConversion to the data within dirtyRange Right now when we do vertex buffer conversion, we always convert from the binding.offset all the way to the end of the buffer, because we do not know who much vertex will be drawn. According to the comment, if we choose to only convert the number of vertices this draw call will be using, then we may end up issuing a lot of conversions in the case that there are many draw calls with small vertex numbers. This CL intends to keep this behavior (i.e, still do the conversion of the data from binding offset to end of the buffer), but apply the optimization that pays attention of mDirtyRange and only convert the portion of data that has actually been modified. Note that the mDirtyRange is the union of all data ranges that has been modified, so may include the unmodified data between two modified ranges. Bug: b/357622380 Change-Id: I91f3dbf4cacb17d3fa4d8d599519865be765557f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5785860 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>