Vulkan: Optimize texture upload barriers When flushing staged uploads to an image, a 64-wide bitfield is used to track subresources that are uploaded since the last barrier. If a collision is detected, a barrier is inserted and the bitfield is reset. If the image has more than 64 subresources, some subresources would map to the same bit and cause a few unnecessary barriers. Texture upload benchmarks show 5% to 10% improvement both in CPU and GPU time. Bug: angleproject:3347 Change-Id: I21dd23c78879bb01d58bc869ffc8bee06c79e6c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700147 Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>