Cache simple descriptor sets on GrVkTexture.

We add a small cache of descriptor sets on each texture which only contain
one descriptor which a a texture/sampler using the given texture.

This helps to reduce the overhead of finding a new descriptor and re-writing
data to it every frame we want to use it.

Seeing about 25% gpu main thread performance win on linux vulkan
css_opacity_plus_n_layers.html?layer_count=1000&visible_layers=1000 test

Bug: skia:9574
Change-Id: I9979d7d874350e12caae0e5e70113c9347228e8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251243
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
3 files changed