Enable dual source blending for Vulkan

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

Review URL: https://codereview.chromium.org/1837213003
diff --git a/src/gpu/vk/GrVkCaps.cpp b/src/gpu/vk/GrVkCaps.cpp
index 8f46408..88ff8ee 100644
--- a/src/gpu/vk/GrVkCaps.cpp
+++ b/src/gpu/vk/GrVkCaps.cpp
@@ -62,7 +62,9 @@
     this->initStencilFormats(vkInterface, physDev);
 
     if (SkToBool(extensionFlags & kNV_glsl_shader_GrVkExtensionFlag)) {
-        fCanUseGLSLForShaderModule = true;
+        // Currently disabling this feature since it does not play well with validation layers which
+        // expect a SPIR-V shader
+        // fCanUseGLSLForShaderModule = true;
     }
 
     this->applyOptionsOverrides(contextOptions);
@@ -147,10 +149,9 @@
 
     glslCaps->fShaderDerivativeSupport = true;
     glslCaps->fGeometryShaderSupport = SkToBool(featureFlags & kGeometryShader_GrVkFeatureFlag);
-#if 0
-    // For now disabling dual source blending till we get it hooked up in the rest of system
+
     glslCaps->fDualSourceBlendingSupport = SkToBool(featureFlags & kDualSrcBlend_GrVkFeatureFlag);
-#endif
+
     glslCaps->fIntegerSupport = true;
 
     glslCaps->fMaxVertexSamplers =
diff --git a/src/gpu/vk/GrVkPipelineStateBuilder.cpp b/src/gpu/vk/GrVkPipelineStateBuilder.cpp
index 871e94e..00e81d4 100644
--- a/src/gpu/vk/GrVkPipelineStateBuilder.cpp
+++ b/src/gpu/vk/GrVkPipelineStateBuilder.cpp
@@ -53,6 +53,10 @@
     outputColor.setLayoutQualifier("location = 0");
 }
 
+void GrVkPipelineStateBuilder::finalizeFragmentSecondaryColor(GrGLSLShaderVar& outputColor) {
+    outputColor.setLayoutQualifier("location = 1");
+}
+
 VkShaderStageFlags visibility_to_vk_stage_flags(uint32_t visibility) {
     VkShaderStageFlags flags = 0;
 
diff --git a/src/gpu/vk/GrVkPipelineStateBuilder.h b/src/gpu/vk/GrVkPipelineStateBuilder.h
index 5120e25..5a4cfb8 100644
--- a/src/gpu/vk/GrVkPipelineStateBuilder.h
+++ b/src/gpu/vk/GrVkPipelineStateBuilder.h
@@ -43,6 +43,7 @@
     GrVkGpu* gpu() const { return fGpu; }
 
     void finalizeFragmentOutputColor(GrGLSLShaderVar& outputColor) override;
+    void finalizeFragmentSecondaryColor(GrGLSLShaderVar& outputColor) override;
 
 private:
     GrVkPipelineStateBuilder(GrVkGpu*,