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/+/1700147Reviewed-by:
Tobin Ehlis <tobine@google.com>
Reviewed-by:
Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Showing
Please
register
or
sign in
to comment