Use dynamic state from vulkan pipelines

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1813913002

Review URL: https://codereview.chromium.org/1813913002
diff --git a/src/gpu/vk/GrVkGpu.cpp b/src/gpu/vk/GrVkGpu.cpp
index ee87f49..96c74dd 100644
--- a/src/gpu/vk/GrVkGpu.cpp
+++ b/src/gpu/vk/GrVkGpu.cpp
@@ -1533,6 +1533,9 @@
     (*program)->setData(this, primProc, pipeline);
 
     (*program)->bind(this, fCurrentCmdBuffer);
+
+    GrVkPipeline::SetDynamicState(this, fCurrentCmdBuffer, pipeline);
+
     return true;
 }
 
@@ -1548,6 +1551,8 @@
     const GrVkRenderPass* renderPass = vkRT->simpleRenderPass();
     SkASSERT(renderPass);
 
+    fCurrentCmdBuffer->beginRenderPass(this, renderPass, *vkRT);
+
     GrVkProgram* program = nullptr;
     GrPrimitiveType primitiveType = meshes[0].primitiveType();
     if (!this->prepareDrawState(pipeline, primProc, primitiveType, *renderPass, &program)) {
@@ -1590,7 +1595,6 @@
                                   false);
     }
 
-    fCurrentCmdBuffer->beginRenderPass(this, renderPass, *vkRT);
 
     for (int i = 0; i < meshCount; ++i) {
         if (GrXferBarrierType barrierType = pipeline.xferBarrierType(*this->caps())) {