Invalidate Vulkan CB state after vending it out via drawable

When we vend out a Vulkan Secondary Command Buffer via GpuDrawHandler,
we need to invalidate our local Skia state for this Command Buffer, as
the external code is free to make changes to the state.

Bug: 900965
Change-Id: Iddeebff4b93c10b78bd45191fd16acde0567bc68
Reviewed-on: https://skia-review.googlesource.com/c/186000
Auto-Submit: Eric Karl <ericrk@chromium.org>
Commit-Queue: Stan Iliev <stani@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
diff --git a/src/gpu/vk/GrVkGpuCommandBuffer.cpp b/src/gpu/vk/GrVkGpuCommandBuffer.cpp
index ef6ec6d..8cc91a8 100644
--- a/src/gpu/vk/GrVkGpuCommandBuffer.cpp
+++ b/src/gpu/vk/GrVkGpuCommandBuffer.cpp
@@ -851,6 +851,9 @@
 
     GrBackendDrawableInfo info(vkInfo);
 
+    // After we draw into the command buffer via the drawable, cached state we have may be invalid.
+    cbInfo.currentCmdBuf()->invalidateState();
+
     drawable->draw(info);
     fGpu->addDrawable(std::move(drawable));