Add WSI functions to GrVkInterface

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

Review URL: https://codereview.chromium.org/1834903003
diff --git a/src/gpu/vk/GrVkBackendContext.cpp b/src/gpu/vk/GrVkBackendContext.cpp
index bc2e247..6aae6a2 100644
--- a/src/gpu/vk/GrVkBackendContext.cpp
+++ b/src/gpu/vk/GrVkBackendContext.cpp
@@ -68,6 +68,30 @@
         instanceExtensionNames.push_back(VK_EXT_DEBUG_REPORT_EXTENSION_NAME);
         extensionFlags |= kEXT_debug_report_GrVkExtensionFlag;
     }
+    if (extensions.hasInstanceExtension(VK_KHR_SURFACE_EXTENSION_NAME)) {
+        instanceExtensionNames.push_back(VK_KHR_SURFACE_EXTENSION_NAME);
+        extensionFlags |= kKHR_surface_GrVkExtensionFlag;
+    }
+    if (extensions.hasInstanceExtension(VK_KHR_SWAPCHAIN_EXTENSION_NAME)) {
+        instanceExtensionNames.push_back(VK_KHR_SWAPCHAIN_EXTENSION_NAME);
+        extensionFlags |= kKHR_swapchain_GrVkExtensionFlag;
+    }
+#ifdef SK_BUILD_FOR_WIN
+    if (extensions.hasInstanceExtension(VK_KHR_WIN32_SURFACE_EXTENSION_NAME)) {
+        instanceExtensionNames.push_back(VK_KHR_WIN32_SURFACE_EXTENSION_NAME);
+        extensionFlags |= kKHR_win32_surface_GrVkExtensionFlag;
+    }
+#elif SK_BUILD_FOR_ANDROID
+    if (extensions.hasInstanceExtension(VK_KHR_ANDROID_SURFACE_EXTENSION_NAME)) {
+        instanceExtensionNames.push_back(VK_KHR_ANDROID_SURFACE_EXTENSION_NAME);
+        extensionFlags |= kKHR_android_surface_GrVkExtensionFlag;
+}
+#elif SK_BUILD_FOR_UNIX
+    if (extensions.hasInstanceExtension(VK_KHR_XLIB_SURFACE_EXTENSION_NAME)) {
+        instanceExtensionNames.push_back(VK_KHR_XLIB_SURFACE_EXTENSION_NAME);
+        extensionFlags |= kKHR_xlib_surface_GrVkExtensionFlag;
+    }
+#endif
 #endif
 
     const VkInstanceCreateInfo instance_create = {
diff --git a/src/gpu/vk/GrVkBuffer.h b/src/gpu/vk/GrVkBuffer.h
index 7dac3a1..289ef30 100644
--- a/src/gpu/vk/GrVkBuffer.h
+++ b/src/gpu/vk/GrVkBuffer.h
@@ -8,8 +8,8 @@
 #ifndef GrVkBuffer_DEFINED
 #define GrVkBuffer_DEFINED
 
-#include "vk/GrVkInterface.h"
 #include "GrVkResource.h"
+#include "vk/GrVkDefines.h"
 
 class GrVkGpu;
 
@@ -86,7 +86,7 @@
     const Resource*         fResource;
     void*                   fMapPtr;
 
-    typedef SkRefCnt INHERITED;
+    typedef SkNoncopyable INHERITED;
 };
 
 #endif
diff --git a/src/gpu/vk/GrVkCaps.h b/src/gpu/vk/GrVkCaps.h
index 649dce7..a2c9f1f 100644
--- a/src/gpu/vk/GrVkCaps.h
+++ b/src/gpu/vk/GrVkCaps.h
@@ -10,7 +10,7 @@
 
 #include "GrCaps.h"
 #include "GrVkStencilAttachment.h"
-#include "vulkan/vulkan.h"
+#include "vk/GrVkDefines.h"
 
 struct GrVkInterface;
 class GrGLSLCaps;
@@ -75,9 +75,9 @@
                     uint32_t featureFlags);
     void initGLSLCaps(const VkPhysicalDeviceProperties&, uint32_t featureFlags);
     void initSampleCount(const VkPhysicalDeviceProperties& properties);
-    void initConfigRenderableTable(const GrVkInterface* interface, VkPhysicalDevice physDev);
-    void initConfigTexturableTable(const GrVkInterface* interface, VkPhysicalDevice physDev);
-    void initStencilFormats(const GrVkInterface* interface, VkPhysicalDevice physDev);
+    void initConfigRenderableTable(const GrVkInterface* iface, VkPhysicalDevice physDev);
+    void initConfigTexturableTable(const GrVkInterface* iface, VkPhysicalDevice physDev);
+    void initStencilFormats(const GrVkInterface* iface, VkPhysicalDevice physDev);
 
 
     bool fConfigTextureSupport[kGrPixelConfigCnt];
diff --git a/src/gpu/vk/GrVkCommandBuffer.h b/src/gpu/vk/GrVkCommandBuffer.h
index e7b2543..c3d2978 100644
--- a/src/gpu/vk/GrVkCommandBuffer.h
+++ b/src/gpu/vk/GrVkCommandBuffer.h
@@ -11,7 +11,7 @@
 #include "GrVkGpu.h"
 #include "GrVkResource.h"
 #include "GrVkUtil.h"
-#include "vulkan/vulkan.h"
+#include "vk/GrVkDefines.h"
 
 class GrVkPipeline;
 class GrVkRenderPass;
diff --git a/src/gpu/vk/GrVkDescriptorPool.h b/src/gpu/vk/GrVkDescriptorPool.h
index ad24453..19f778c 100644
--- a/src/gpu/vk/GrVkDescriptorPool.h
+++ b/src/gpu/vk/GrVkDescriptorPool.h
@@ -10,7 +10,7 @@
 
 #include "GrVkResource.h"
 
-#include "vulkan/vulkan.h"
+#include "vk/GrVkDefines.h"
 
 class GrVkGpu;
 
diff --git a/src/gpu/vk/GrVkExtensions.h b/src/gpu/vk/GrVkExtensions.h
index f02d15d..93b258e 100644
--- a/src/gpu/vk/GrVkExtensions.h
+++ b/src/gpu/vk/GrVkExtensions.h
@@ -10,7 +10,7 @@
 
 #include "../private/SkTArray.h"
 #include "SkString.h"
-#include "vulkan/vulkan.h"
+#include "vk/GrVkDefines.h"
 
 /**
  * This helper queries the Vulkan driver for available extensions and layers, remembers them, 
diff --git a/src/gpu/vk/GrVkFramebuffer.h b/src/gpu/vk/GrVkFramebuffer.h
index 7e67d3f..0f8a1c5 100644
--- a/src/gpu/vk/GrVkFramebuffer.h
+++ b/src/gpu/vk/GrVkFramebuffer.h
@@ -12,7 +12,7 @@
 
 #include "GrVkResource.h"
 
-#include "vulkan/vulkan.h"
+#include "vk/GrVkDefines.h"
 
 class GrVkGpu;
 class GrVkImageView;
@@ -42,4 +42,4 @@
     typedef GrVkResource INHERITED;
 };
 
-#endif
\ No newline at end of file
+#endif
diff --git a/src/gpu/vk/GrVkGpu.h b/src/gpu/vk/GrVkGpu.h
index 0e94b11..bf25f1c 100644
--- a/src/gpu/vk/GrVkGpu.h
+++ b/src/gpu/vk/GrVkGpu.h
@@ -18,7 +18,7 @@
 #include "GrVkUtil.h"
 
 #include "shaderc/shaderc.h"
-#include "vulkan/vulkan.h"
+#include "vk/GrVkDefines.h"
 
 class GrPipeline;
 class GrNonInstancedMesh;
diff --git a/src/gpu/vk/GrVkImage.h b/src/gpu/vk/GrVkImage.h
index fbf80f3..13c6e36 100644
--- a/src/gpu/vk/GrVkImage.h
+++ b/src/gpu/vk/GrVkImage.h
@@ -11,7 +11,7 @@
 #include "GrVkResource.h"
 #include "SkTypes.h"
 
-#include "vulkan/vulkan.h"
+#include "vk/GrVkDefines.h"
 
 class GrVkGpu;
 
diff --git a/src/gpu/vk/GrVkImageView.h b/src/gpu/vk/GrVkImageView.h
index 43e9604..ab988c0 100644
--- a/src/gpu/vk/GrVkImageView.h
+++ b/src/gpu/vk/GrVkImageView.h
@@ -12,7 +12,7 @@
 
 #include "GrVkResource.h"
 
-#include "vulkan/vulkan.h"
+#include "vk/GrVkDefines.h"
 
 class GrVkImageView : public GrVkResource {
 public:
@@ -38,4 +38,4 @@
     typedef GrVkResource INHERITED;
 };
 
-#endif
\ No newline at end of file
+#endif
diff --git a/src/gpu/vk/GrVkIndexBuffer.h b/src/gpu/vk/GrVkIndexBuffer.h
index 4bca5a6..cd945ac5 100644
--- a/src/gpu/vk/GrVkIndexBuffer.h
+++ b/src/gpu/vk/GrVkIndexBuffer.h
@@ -10,7 +10,6 @@
 
 #include "GrBuffer.h"
 #include "GrVkBuffer.h"
-#include "vk/GrVkInterface.h"
 
 class GrVkGpu;
 
diff --git a/src/gpu/vk/GrVkInterface.cpp b/src/gpu/vk/GrVkInterface.cpp
index a6ac8d6..bc6b87e 100644
--- a/src/gpu/vk/GrVkInterface.cpp
+++ b/src/gpu/vk/GrVkInterface.cpp
@@ -157,25 +157,45 @@
     GET_DEV_PROC(CmdNextSubpass);
     GET_DEV_PROC(CmdEndRenderPass);
     GET_DEV_PROC(CmdExecuteCommands);
-    // TODO: break these out with extension checks
-    GET_PROC(DestroySurfaceKHR);
-    GET_PROC(GetPhysicalDeviceSurfaceSupportKHR);
-    GET_PROC(GetPhysicalDeviceSurfaceCapabilitiesKHR);
-    GET_PROC(GetPhysicalDeviceSurfaceFormatsKHR);
-    GET_PROC(GetPhysicalDeviceSurfacePresentModesKHR);
-    GET_DEV_PROC(CreateSwapchainKHR);
-    GET_DEV_PROC(DestroySwapchainKHR);
-    GET_DEV_PROC(GetSwapchainImagesKHR);
-    GET_DEV_PROC(AcquireNextImageKHR);
-    GET_DEV_PROC(QueuePresentKHR);
-    GET_PROC(GetPhysicalDeviceDisplayPropertiesKHR);
-    GET_PROC(GetPhysicalDeviceDisplayPlanePropertiesKHR);
-    GET_PROC(GetDisplayPlaneSupportedDisplaysKHR);
-    GET_PROC(GetDisplayModePropertiesKHR);
-    GET_PROC(CreateDisplayModeKHR);
-    GET_PROC(GetDisplayPlaneCapabilitiesKHR);
-    GET_PROC(CreateDisplayPlaneSurfaceKHR);
-    GET_DEV_PROC(CreateSharedSwapchainsKHR);
+    if (extensionFlags & kKHR_surface_GrVkExtensionFlag) {
+        GET_PROC(DestroySurfaceKHR);
+        GET_PROC(GetPhysicalDeviceSurfaceSupportKHR);
+        GET_PROC(GetPhysicalDeviceSurfaceCapabilitiesKHR);
+        GET_PROC(GetPhysicalDeviceSurfaceFormatsKHR);
+        GET_PROC(GetPhysicalDeviceSurfacePresentModesKHR);
+    }
+    if (extensionFlags & kKHR_surface_GrVkExtensionFlag) {
+        GET_DEV_PROC(CreateSwapchainKHR);
+        GET_DEV_PROC(DestroySwapchainKHR);
+        GET_DEV_PROC(GetSwapchainImagesKHR);
+        GET_DEV_PROC(AcquireNextImageKHR);
+        GET_DEV_PROC(QueuePresentKHR);
+    }
+#if defined(VK_USE_PLATFORM_WIN32_KHR)
+    if (extensionFlags & kKHR_win32_surface_GrVkExtensionFlag) {
+        GET_PROC(CreateWin32SurfaceKHR);
+        GET_PROC(GetPhysicalDeviceWin32PresentationSupportKHR);
+    }
+#elif defined(VK_USE_PLATFORM_ANDROID_KHR)
+    if (extensionFlags & kKHR_android_surface_GrVkExtensionFlag) {
+        GET_PROC(CreateAndroidSurfaceKHR);
+    }
+#elif defined(VK_USE_PLATFORM_XLIB_KHR)
+    if (extensionFlags & kKHR_xlib_surface_GrVkExtensionFlag) {
+        GET_PROC(CreateXlibSurfaceKHR);
+        GET_PROC(GetPhysicalDeviceXlibPresentationSupportKHR);
+    }
+#endif
+
+    // We probably don't care about these, they're for consoles
+    //GET_PROC(GetPhysicalDeviceDisplayPropertiesKHR);
+    //GET_PROC(GetPhysicalDeviceDisplayPlanePropertiesKHR);
+    //GET_PROC(GetDisplayPlaneSupportedDisplaysKHR);
+    //GET_PROC(GetDisplayModePropertiesKHR);
+    //GET_PROC(CreateDisplayModeKHR);
+    //GET_PROC(GetDisplayPlaneCapabilitiesKHR);
+    //GET_PROC(CreateDisplayPlaneSurfaceKHR);
+    //GET_DEV_PROC(CreateSharedSwapchainsKHR);
 
     if (extensionFlags & kEXT_debug_report_GrVkExtensionFlag) {
         GET_PROC(CreateDebugReportCallbackEXT);
@@ -326,18 +346,17 @@
         NULL == fFunctions.fCmdBeginRenderPass ||
         NULL == fFunctions.fCmdNextSubpass ||
         NULL == fFunctions.fCmdEndRenderPass ||
-        NULL == fFunctions.fCmdExecuteCommands
-#ifdef VK_CHECK_ALL_FUNCTIONS
-        // || NULL == fFunctions.fDestroySurfaceKHR ||
-        //NULL == fFunctions.fGetPhysicalDeviceSurfaceSupportKHR ||
-        //NULL == fFunctions.fGetPhysicalDeviceSurfaceCapabilitiesKHR ||
-        //NULL == fFunctions.fGetPhysicalDeviceSurfaceFormatsKHR ||
-        //NULL == fFunctions.fGetPhysicalDeviceSurfacePresentModesKHR ||
-        //NULL == fFunctions.fCreateSwapchainKHR ||
-        //NULL == fFunctions.fDestroySwapchainKHR ||
-        //NULL == fFunctions.fGetSwapchainImagesKHR ||
-        //NULL == fFunctions.fAcquireNextImageKHR ||
-        //NULL == fFunctions.fQueuePresentKHR ||
+        NULL == fFunctions.fCmdExecuteCommands ||
+        NULL == fFunctions.fDestroySurfaceKHR ||
+        NULL == fFunctions.fGetPhysicalDeviceSurfaceSupportKHR ||
+        NULL == fFunctions.fGetPhysicalDeviceSurfaceCapabilitiesKHR ||
+        NULL == fFunctions.fGetPhysicalDeviceSurfaceFormatsKHR ||
+        NULL == fFunctions.fGetPhysicalDeviceSurfacePresentModesKHR ||
+        NULL == fFunctions.fCreateSwapchainKHR ||
+        NULL == fFunctions.fDestroySwapchainKHR ||
+        NULL == fFunctions.fGetSwapchainImagesKHR ||
+        NULL == fFunctions.fAcquireNextImageKHR ||
+        NULL == fFunctions.fQueuePresentKHR ||
         //NULL == fFunctions.fGetPhysicalDeviceDisplayPropertiesKHR ||
         //NULL == fFunctions.fGetPhysicalDeviceDisplayPlanePropertiesKHR ||
         //NULL == fFunctions.fGetDisplayPlaneSupportedDisplaysKHR ||
@@ -346,12 +365,10 @@
         //NULL == fFunctions.fGetDisplayPlaneCapabilitiesKHR ||
         //NULL == fFunctions.fCreateDisplayPlaneSurfaceKHR ||
         //NULL == fFunctions.fCreateSharedSwapchainsKHR ||
-        //NULL == fFunctions.fCreateDebugReportCallbackEXT ||
-        //NULL == fFunctions.fDebugReportMessageEXT ||
-        //NULL == fFunctions.fDestroyDebugReportCallbackEXT) {
-#else
-        ) {
-#endif
+        NULL == fFunctions.fCreateDebugReportCallbackEXT ||
+        NULL == fFunctions.fDebugReportMessageEXT ||
+        NULL == fFunctions.fDestroyDebugReportCallbackEXT) {
+
         return false;
     }
     return true;
diff --git a/src/gpu/vk/GrVkMemory.cpp b/src/gpu/vk/GrVkMemory.cpp
index 276fd4b..7e8c577 100644
--- a/src/gpu/vk/GrVkMemory.cpp
+++ b/src/gpu/vk/GrVkMemory.cpp
@@ -62,11 +62,11 @@
                                           VkBuffer buffer,
                                           const VkMemoryPropertyFlags flags,
                                           VkDeviceMemory* memory) {
-    const GrVkInterface* interface = gpu->vkInterface();
+    const GrVkInterface* iface = gpu->vkInterface();
     VkDevice device = gpu->device();
 
     VkMemoryRequirements memReqs;
-    GR_VK_CALL(interface, GetBufferMemoryRequirements(device, buffer, &memReqs));
+    GR_VK_CALL(iface, GetBufferMemoryRequirements(device, buffer, &memReqs));
 
 
     if (!alloc_device_memory(gpu, &memReqs, flags, memory)) {
@@ -74,9 +74,9 @@
     }
 
     // Bind Memory to queue
-    VkResult err = GR_VK_CALL(interface, BindBufferMemory(device, buffer, *memory, 0));
+    VkResult err = GR_VK_CALL(iface, BindBufferMemory(device, buffer, *memory, 0));
     if (err) {
-        GR_VK_CALL(interface, FreeMemory(device, *memory, nullptr));
+        GR_VK_CALL(iface, FreeMemory(device, *memory, nullptr));
         return false;
     }
     return true;
@@ -86,20 +86,20 @@
                                          VkImage image,
                                          const VkMemoryPropertyFlags flags,
                                          VkDeviceMemory* memory) {
-    const GrVkInterface* interface = gpu->vkInterface();
+    const GrVkInterface* iface = gpu->vkInterface();
     VkDevice device = gpu->device();
 
     VkMemoryRequirements memReqs;
-    GR_VK_CALL(interface, GetImageMemoryRequirements(device, image, &memReqs));
+    GR_VK_CALL(iface, GetImageMemoryRequirements(device, image, &memReqs));
 
     if (!alloc_device_memory(gpu, &memReqs, flags, memory)) {
         return false;
     }
 
     // Bind Memory to queue
-    VkResult err = GR_VK_CALL(interface, BindImageMemory(device, image, *memory, 0));
+    VkResult err = GR_VK_CALL(iface, BindImageMemory(device, image, *memory, 0));
     if (err) {
-        GR_VK_CALL(interface, FreeMemory(device, *memory, nullptr));
+        GR_VK_CALL(iface, FreeMemory(device, *memory, nullptr));
         return false;
     }
     return true;
diff --git a/src/gpu/vk/GrVkMemory.h b/src/gpu/vk/GrVkMemory.h
index 4d351dc..2e61451 100644
--- a/src/gpu/vk/GrVkMemory.h
+++ b/src/gpu/vk/GrVkMemory.h
@@ -8,7 +8,7 @@
 #ifndef GrVkMemory_DEFINED
 #define GrVkMemory_DEFINED
 
-#include "vulkan/vulkan.h"
+#include "vk/GrVkDefines.h"
 
 class GrVkGpu;
 
@@ -32,4 +32,4 @@
     VkAccessFlags LayoutToSrcAccessMask(const VkImageLayout layout);
 }
 
-#endif
\ No newline at end of file
+#endif
diff --git a/src/gpu/vk/GrVkPipeline.h b/src/gpu/vk/GrVkPipeline.h
index 46f53a7..be422e1 100644
--- a/src/gpu/vk/GrVkPipeline.h
+++ b/src/gpu/vk/GrVkPipeline.h
@@ -12,7 +12,7 @@
 
 #include "GrVkResource.h"
 
-#include "vulkan/vulkan.h"
+#include "vk/GrVkDefines.h"
 
 class GrNonInstancedVertices;
 class GrPipeline;
diff --git a/src/gpu/vk/GrVkPipelineState.h b/src/gpu/vk/GrVkPipelineState.h
index 740004b..2533bff 100644
--- a/src/gpu/vk/GrVkPipelineState.h
+++ b/src/gpu/vk/GrVkPipelineState.h
@@ -14,7 +14,7 @@
 #include "GrVkPipelineStateDataManager.h"
 #include "glsl/GrGLSLProgramBuilder.h"
 
-#include "vulkan/vulkan.h"
+#include "vk/GrVkDefines.h"
 
 class GrPipeline;
 class GrVkCommandBuffer;
diff --git a/src/gpu/vk/GrVkPipelineStateBuilder.h b/src/gpu/vk/GrVkPipelineStateBuilder.h
index 751a62a..5120e25 100644
--- a/src/gpu/vk/GrVkPipelineStateBuilder.h
+++ b/src/gpu/vk/GrVkPipelineStateBuilder.h
@@ -16,7 +16,7 @@
 #include "GrVkVaryingHandler.h"
 
 #include "shaderc/shaderc.h"
-#include "vulkan/vulkan.h"
+#include "vk/GrVkDefines.h"
 
 class GrVkGpu;
 class GrVkRenderPass;
diff --git a/src/gpu/vk/GrVkProgramDesc.h b/src/gpu/vk/GrVkProgramDesc.h
index 1767a05..33bb26c 100644
--- a/src/gpu/vk/GrVkProgramDesc.h
+++ b/src/gpu/vk/GrVkProgramDesc.h
@@ -14,7 +14,7 @@
 #include "GrTypesPriv.h"
 
 #include "shaderc/shaderc.h"
-#include "vulkan/vulkan.h"
+#include "vk/GrVkDefines.h"
 
 class GrVkGpu;
 class GrVkProgramDescBuilder;
diff --git a/src/gpu/vk/GrVkRenderPass.h b/src/gpu/vk/GrVkRenderPass.h
index 1068ada..d38848fe 100644
--- a/src/gpu/vk/GrVkRenderPass.h
+++ b/src/gpu/vk/GrVkRenderPass.h
@@ -12,7 +12,7 @@
 
 #include "GrVkResource.h"
 
-#include "vulkan/vulkan.h"
+#include "vk/GrVkDefines.h"
 
 class GrProcessorKeyBuilder;
 class GrVkGpu;
diff --git a/src/gpu/vk/GrVkResourceProvider.h b/src/gpu/vk/GrVkResourceProvider.h
index 5e2d172..6d93897 100644
--- a/src/gpu/vk/GrVkResourceProvider.h
+++ b/src/gpu/vk/GrVkResourceProvider.h
@@ -16,7 +16,7 @@
 #include "SkTArray.h"
 #include "SkTDynamicHash.h"
 
-#include "vulkan/vulkan.h"
+#include "vk/GrVkDefines.h"
 
 class GrPipeline;
 class GrPrimitiveProcessor;
diff --git a/src/gpu/vk/GrVkSampler.h b/src/gpu/vk/GrVkSampler.h
index 7218135..3e08745 100644
--- a/src/gpu/vk/GrVkSampler.h
+++ b/src/gpu/vk/GrVkSampler.h
@@ -10,7 +10,7 @@
 
 #include "GrVkResource.h"
 
-#include "vulkan/vulkan.h"
+#include "vk/GrVkDefines.h"
 
 class GrTextureAccess;
 class GrTextureParams;
diff --git a/src/gpu/vk/GrVkStencilAttachment.h b/src/gpu/vk/GrVkStencilAttachment.h
index d05a809..282fdf7 100644
--- a/src/gpu/vk/GrVkStencilAttachment.h
+++ b/src/gpu/vk/GrVkStencilAttachment.h
@@ -10,7 +10,7 @@
 
 #include "GrStencilAttachment.h"
 #include "GrVkImage.h"
-#include "vulkan/vulkan.h"
+#include "vk/GrVkDefines.h"
 
 class GrVkImageView;
 class GrVkGpu;
diff --git a/src/gpu/vk/GrVkTransferBuffer.h b/src/gpu/vk/GrVkTransferBuffer.h
index c6ca214..a9756cb 100644
--- a/src/gpu/vk/GrVkTransferBuffer.h
+++ b/src/gpu/vk/GrVkTransferBuffer.h
@@ -10,7 +10,6 @@
 
 #include "GrBuffer.h"
 #include "GrVkBuffer.h"
-#include "vk/GrVkInterface.h"
 
 class GrVkGpu;
 
diff --git a/src/gpu/vk/GrVkUniformBuffer.h b/src/gpu/vk/GrVkUniformBuffer.h
index 0eae47b..a894aec 100644
--- a/src/gpu/vk/GrVkUniformBuffer.h
+++ b/src/gpu/vk/GrVkUniformBuffer.h
@@ -9,7 +9,6 @@
 #define GrVkUniformBuffer_DEFINED
 
 #include "GrVkBuffer.h"
-#include "vk/GrVkInterface.h"
 
 class GrVkGpu;
 
diff --git a/src/gpu/vk/GrVkUtil.h b/src/gpu/vk/GrVkUtil.h
index 4fee310..a3064c8 100644
--- a/src/gpu/vk/GrVkUtil.h
+++ b/src/gpu/vk/GrVkUtil.h
@@ -12,7 +12,7 @@
 #include "GrTypes.h"
 #include "vk/GrVkInterface.h"
 
-#include "vulkan/vulkan.h"
+#include "vk/GrVkDefines.h"
 
 // makes a Vk call on the interface
 #define GR_VK_CALL(IFACE, X) (IFACE)->fFunctions.f##X;
diff --git a/src/gpu/vk/GrVkVertexBuffer.h b/src/gpu/vk/GrVkVertexBuffer.h
index 7786f62..cae781e 100644
--- a/src/gpu/vk/GrVkVertexBuffer.h
+++ b/src/gpu/vk/GrVkVertexBuffer.h
@@ -10,7 +10,6 @@
 
 #include "GrBuffer.h"
 #include "GrVkBuffer.h"
-#include "vk/GrVkInterface.h"
 
 class GrVkGpu;