aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Daniel <egdaniel@google.com>2018-12-20 14:09:36 -0500
committerSkia Commit-Bot <skia-commit-bot@chromium.org>2018-12-27 19:21:00 +0000
commit487132b828260f271d9e7d6ab52226db55b94f4f (patch)
tree8f17120d1d81ef3eb3f6ec56b893d0d52d96f1cb
parentd2fa2eb59f2d1cd3a7d117ff4c0bb32ad2ca1d4e (diff)
downloadskqp-487132b828260f271d9e7d6ab52226db55b94f4f.tar.gz
Don't include system vulkan header when building skia files.
With this change clients will still have to have vulkan/vulkan_core.h on their include path when compiling files that include Skia. However, it will not be required when compiling Skia files. Bug: skia: Change-Id: I1cd75f4f18d3097c8a1606c3e8a51a371b01b565 Reviewed-on: https://skia-review.googlesource.com/c/179560 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
-rw-r--r--BUILD.gn2
-rw-r--r--include/gpu/vk/GrVkTypes.h8
-rw-r--r--include/gpu/vk/GrVkVulkan.h32
-rw-r--r--src/gpu/GrAHardwareBufferImageGenerator.cpp1
-rw-r--r--src/gpu/GrBackendSurface.cpp1
-rw-r--r--src/gpu/GrDirectContext.cpp1
-rw-r--r--src/gpu/vk/GrVkAMDMemoryAllocator.h1
-rw-r--r--src/gpu/vk/GrVkBuffer.h2
-rw-r--r--src/gpu/vk/GrVkBufferView.h3
-rw-r--r--src/gpu/vk/GrVkCaps.h3
-rw-r--r--src/gpu/vk/GrVkCommandBuffer.h3
-rw-r--r--src/gpu/vk/GrVkCopyManager.h3
-rw-r--r--src/gpu/vk/GrVkDescriptorPool.h3
-rw-r--r--src/gpu/vk/GrVkDescriptorSet.h3
-rw-r--r--src/gpu/vk/GrVkDescriptorSetManager.h3
-rw-r--r--src/gpu/vk/GrVkFramebuffer.h3
-rw-r--r--src/gpu/vk/GrVkGpu.h5
-rw-r--r--src/gpu/vk/GrVkGpuCommandBuffer.h3
-rw-r--r--src/gpu/vk/GrVkImage.h2
-rw-r--r--src/gpu/vk/GrVkImageLayout.h2
-rw-r--r--src/gpu/vk/GrVkImageView.h3
-rw-r--r--src/gpu/vk/GrVkIndexBuffer.h2
-rw-r--r--src/gpu/vk/GrVkInterface.h2
-rw-r--r--src/gpu/vk/GrVkMemory.h2
-rw-r--r--src/gpu/vk/GrVkPipeline.h3
-rw-r--r--src/gpu/vk/GrVkPipelineLayout.h3
-rw-r--r--src/gpu/vk/GrVkPipelineState.h3
-rw-r--r--src/gpu/vk/GrVkPipelineStateBuilder.h3
-rw-r--r--src/gpu/vk/GrVkPipelineStateCache.cpp1
-rw-r--r--src/gpu/vk/GrVkPipelineStateDataManager.h3
-rw-r--r--src/gpu/vk/GrVkRenderPass.h3
-rw-r--r--src/gpu/vk/GrVkRenderTarget.h3
-rw-r--r--src/gpu/vk/GrVkResource.h1
-rw-r--r--src/gpu/vk/GrVkResourceProvider.h3
-rw-r--r--src/gpu/vk/GrVkSampler.h2
-rw-r--r--src/gpu/vk/GrVkSamplerYcbcrConversion.h2
-rw-r--r--src/gpu/vk/GrVkSemaphore.h3
-rw-r--r--src/gpu/vk/GrVkStencilAttachment.h3
-rw-r--r--src/gpu/vk/GrVkTexture.h3
-rw-r--r--src/gpu/vk/GrVkTextureRenderTarget.h3
-rw-r--r--src/gpu/vk/GrVkTransferBuffer.h3
-rw-r--r--src/gpu/vk/GrVkTypesPriv.cpp2
-rw-r--r--src/gpu/vk/GrVkUniformBuffer.h3
-rw-r--r--src/gpu/vk/GrVkUtil.h3
-rw-r--r--src/gpu/vk/GrVkVaryingHandler.h2
-rw-r--r--src/gpu/vk/GrVkVertexBuffer.h2
-rw-r--r--src/gpu/vk/GrVkVulkan.h27
-rw-r--r--third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp1
-rw-r--r--third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.h5
49 files changed, 67 insertions, 116 deletions
diff --git a/BUILD.gn b/BUILD.gn
index a6fcb0bfa1..e8effe2851 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -189,7 +189,6 @@ config("skia_private") {
if (skia_enable_gpu) {
include_dirs += [ "src/gpu" ]
if (is_skia_dev_build && skia_use_vulkan) {
- include_dirs += [ "include/third_party/vulkan" ]
include_dirs += [ "tools/gpu/vk" ]
}
}
@@ -1452,6 +1451,7 @@ if (skia_enable_tools) {
sources += [ "tools/gpu/gl/angle/GLTestContext_angle.cpp" ]
}
+ public_include_dirs += [ "include/third_party/vulkan" ]
if (skia_use_vulkan) {
sources += [ "tools/gpu/vk/VkTestContext.cpp" ]
sources += [ "tools/gpu/vk/VkTestUtils.cpp" ]
diff --git a/include/gpu/vk/GrVkTypes.h b/include/gpu/vk/GrVkTypes.h
index d3f1a5cb3a..9bd5d61b1c 100644
--- a/include/gpu/vk/GrVkTypes.h
+++ b/include/gpu/vk/GrVkTypes.h
@@ -9,11 +9,9 @@
#ifndef GrVkTypes_DEFINED
#define GrVkTypes_DEFINED
-#ifdef SK_VULKAN
-#include <vulkan/vulkan_core.h>
-#else
-#include "../../third_party/vulkan/vulkan/vulkan_core.h"
-#endif
+#include "SkTypes.h"
+#include "GrVkVulkan.h"
+
#ifndef VK_VERSION_1_1
#error Skia requires the use of Vulkan 1.1 headers
#endif
diff --git a/include/gpu/vk/GrVkVulkan.h b/include/gpu/vk/GrVkVulkan.h
new file mode 100644
index 0000000000..89f6437e6e
--- /dev/null
+++ b/include/gpu/vk/GrVkVulkan.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2018 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef GrVkVulkan_DEFINED
+#define GrVkVulkan_DEFINED
+
+#include "SkTypes.h"
+
+#if SKIA_IMPLEMENTATION || !defined(SK_VULKAN)
+#include "../../include/third_party/vulkan/vulkan/vulkan_core.h"
+#else
+// For google3 builds we don't set SKIA_IMPLEMENTATION so we need to make sure that the vulkan
+// headers stay up to date for our needs
+#include <vulkan/vulkan_core.h>
+#endif
+
+#ifdef SK_BUILD_FOR_ANDROID
+// This is needed to get android extensions for external memory
+#if SKIA_IMPLEMENTATION || !defined(SK_VULKAN)
+#include "../../include/third_party/vulkan/vulkan/vulkan_android.h"
+#else
+// For google3 builds we don't set SKIA_IMPLEMENTATION so we need to make sure that the vulkan
+// headers stay up to date for our needs
+#include <vulkan/vulkan_android.h>
+#endif
+#endif
+
+#endif
diff --git a/src/gpu/GrAHardwareBufferImageGenerator.cpp b/src/gpu/GrAHardwareBufferImageGenerator.cpp
index b8b43b7b30..6ed48fb487 100644
--- a/src/gpu/GrAHardwareBufferImageGenerator.cpp
+++ b/src/gpu/GrAHardwareBufferImageGenerator.cpp
@@ -11,7 +11,6 @@
#define GL_GLEXT_PROTOTYPES
#define EGL_EGLEXT_PROTOTYPES
-#include "vk/GrVkVulkan.h"
#include "GrAHardwareBufferImageGenerator.h"
diff --git a/src/gpu/GrBackendSurface.cpp b/src/gpu/GrBackendSurface.cpp
index 44b08b379b..ecb7844793 100644
--- a/src/gpu/GrBackendSurface.cpp
+++ b/src/gpu/GrBackendSurface.cpp
@@ -5,7 +5,6 @@
* found in the LICENSE file.
*/
-#include "vk/GrVkVulkan.h"
#include "GrBackendSurface.h"
diff --git a/src/gpu/GrDirectContext.cpp b/src/gpu/GrDirectContext.cpp
index a726e76b64..d25852f270 100644
--- a/src/gpu/GrDirectContext.cpp
+++ b/src/gpu/GrDirectContext.cpp
@@ -5,7 +5,6 @@
* found in the LICENSE file.
*/
-#include "vk/GrVkVulkan.h"
#include "GrContext.h"
diff --git a/src/gpu/vk/GrVkAMDMemoryAllocator.h b/src/gpu/vk/GrVkAMDMemoryAllocator.h
index ac15fa7462..57d607657f 100644
--- a/src/gpu/vk/GrVkAMDMemoryAllocator.h
+++ b/src/gpu/vk/GrVkAMDMemoryAllocator.h
@@ -8,7 +8,6 @@
#ifndef GrVkAMDMemoryAllocator_DEFINED
#define GrVkAMDMemoryAllocator_DEFINED
-#include "GrVkVulkan.h"
#include "vk/GrVkMemoryAllocator.h"
diff --git a/src/gpu/vk/GrVkBuffer.h b/src/gpu/vk/GrVkBuffer.h
index f534734e66..f096921955 100644
--- a/src/gpu/vk/GrVkBuffer.h
+++ b/src/gpu/vk/GrVkBuffer.h
@@ -8,8 +8,6 @@
#ifndef GrVkBuffer_DEFINED
#define GrVkBuffer_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrVkResource.h"
#include "vk/GrVkTypes.h"
diff --git a/src/gpu/vk/GrVkBufferView.h b/src/gpu/vk/GrVkBufferView.h
index 439a93d9d3..ce3873ac01 100644
--- a/src/gpu/vk/GrVkBufferView.h
+++ b/src/gpu/vk/GrVkBufferView.h
@@ -8,10 +8,9 @@
#ifndef GrVkBufferView_DEFINED
#define GrVkBufferView_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrTypes.h"
#include "GrVkResource.h"
+#include "vk/GrVkTypes.h"
class GrVkBufferView : public GrVkResource {
public:
diff --git a/src/gpu/vk/GrVkCaps.h b/src/gpu/vk/GrVkCaps.h
index bb7ec4893e..79bd7d45b6 100644
--- a/src/gpu/vk/GrVkCaps.h
+++ b/src/gpu/vk/GrVkCaps.h
@@ -8,10 +8,9 @@
#ifndef GrVkCaps_DEFINED
#define GrVkCaps_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrCaps.h"
#include "GrVkStencilAttachment.h"
+#include "vk/GrVkTypes.h"
class GrShaderCaps;
class GrVkExtensions;
diff --git a/src/gpu/vk/GrVkCommandBuffer.h b/src/gpu/vk/GrVkCommandBuffer.h
index 21ffb7919e..d30b767023 100644
--- a/src/gpu/vk/GrVkCommandBuffer.h
+++ b/src/gpu/vk/GrVkCommandBuffer.h
@@ -8,12 +8,11 @@
#ifndef GrVkCommandBuffer_DEFINED
#define GrVkCommandBuffer_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrVkGpu.h"
#include "GrVkResource.h"
#include "GrVkSemaphore.h"
#include "GrVkUtil.h"
+#include "vk/GrVkTypes.h"
class GrVkBuffer;
class GrVkFramebuffer;
diff --git a/src/gpu/vk/GrVkCopyManager.h b/src/gpu/vk/GrVkCopyManager.h
index 426749a16c..716c87cfe8 100644
--- a/src/gpu/vk/GrVkCopyManager.h
+++ b/src/gpu/vk/GrVkCopyManager.h
@@ -8,10 +8,9 @@
#ifndef GrVkCopyManager_DEFINED
#define GrVkCopyManager_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrTypes.h"
#include "GrVkDescriptorSetManager.h"
+#include "vk/GrVkTypes.h"
class GrSurface;
class GrVkCopyPipeline;
diff --git a/src/gpu/vk/GrVkDescriptorPool.h b/src/gpu/vk/GrVkDescriptorPool.h
index 7abf6458cc..08f7431a15 100644
--- a/src/gpu/vk/GrVkDescriptorPool.h
+++ b/src/gpu/vk/GrVkDescriptorPool.h
@@ -8,9 +8,8 @@
#ifndef GrVkDescriptorPool_DEFINED
#define GrVkDescriptorPool_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrVkResource.h"
+#include "vk/GrVkTypes.h"
class GrVkGpu;
diff --git a/src/gpu/vk/GrVkDescriptorSet.h b/src/gpu/vk/GrVkDescriptorSet.h
index cb586e317f..2931d858f2 100644
--- a/src/gpu/vk/GrVkDescriptorSet.h
+++ b/src/gpu/vk/GrVkDescriptorSet.h
@@ -8,10 +8,9 @@
#ifndef GrVkDescriptorSet_DEFINED
#define GrVkDescriptorSet_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrVkDescriptorSetManager.h"
#include "GrVkResource.h"
+#include "vk/GrVkTypes.h"
class GrVkDescriptorPool;
class GrVkGpu;
diff --git a/src/gpu/vk/GrVkDescriptorSetManager.h b/src/gpu/vk/GrVkDescriptorSetManager.h
index 64bde8f425..b69fe36f94 100644
--- a/src/gpu/vk/GrVkDescriptorSetManager.h
+++ b/src/gpu/vk/GrVkDescriptorSetManager.h
@@ -8,13 +8,12 @@
#ifndef GrVkDescriptorSetManager_DEFINED
#define GrVkDescriptorSetManager_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrResourceHandle.h"
#include "GrVkDescriptorPool.h"
#include "GrVkSampler.h"
#include "SkRefCnt.h"
#include "SkTArray.h"
+#include "vk/GrVkTypes.h"
class GrVkDescriptorSet;
class GrVkGpu;
diff --git a/src/gpu/vk/GrVkFramebuffer.h b/src/gpu/vk/GrVkFramebuffer.h
index 9885f0b4c7..0cb0e63ad9 100644
--- a/src/gpu/vk/GrVkFramebuffer.h
+++ b/src/gpu/vk/GrVkFramebuffer.h
@@ -8,10 +8,9 @@
#ifndef GrVkFramebuffer_DEFINED
#define GrVkFramebuffer_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrTypes.h"
#include "GrVkResource.h"
+#include "vk/GrVkTypes.h"
class GrVkGpu;
class GrVkImageView;
diff --git a/src/gpu/vk/GrVkGpu.h b/src/gpu/vk/GrVkGpu.h
index 5aff1ff89e..3aae807201 100644
--- a/src/gpu/vk/GrVkGpu.h
+++ b/src/gpu/vk/GrVkGpu.h
@@ -8,10 +8,7 @@
#ifndef GrVkGpu_DEFINED
#define GrVkGpu_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrGpu.h"
-#include "vk/GrVkBackendContext.h"
#include "GrVkCaps.h"
#include "GrVkCopyManager.h"
#include "GrVkIndexBuffer.h"
@@ -20,6 +17,8 @@
#include "GrVkSemaphore.h"
#include "GrVkVertexBuffer.h"
#include "GrVkUtil.h"
+#include "vk/GrVkBackendContext.h"
+#include "vk/GrVkTypes.h"
class GrPipeline;
diff --git a/src/gpu/vk/GrVkGpuCommandBuffer.h b/src/gpu/vk/GrVkGpuCommandBuffer.h
index d9900f8b60..a4ed1fa473 100644
--- a/src/gpu/vk/GrVkGpuCommandBuffer.h
+++ b/src/gpu/vk/GrVkGpuCommandBuffer.h
@@ -8,14 +8,13 @@
#ifndef GrVkGpuCommandBuffer_DEFINED
#define GrVkGpuCommandBuffer_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrGpuCommandBuffer.h"
#include "GrColor.h"
#include "GrMesh.h"
#include "GrTypes.h"
#include "GrVkPipelineState.h"
+#include "vk/GrVkTypes.h"
class GrVkGpu;
class GrVkImage;
diff --git a/src/gpu/vk/GrVkImage.h b/src/gpu/vk/GrVkImage.h
index 1df25eb896..91ae4889de 100644
--- a/src/gpu/vk/GrVkImage.h
+++ b/src/gpu/vk/GrVkImage.h
@@ -8,8 +8,6 @@
#ifndef GrVkImage_DEFINED
#define GrVkImage_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrBackendSurface.h"
#include "GrTexture.h"
#include "GrTypesPriv.h"
diff --git a/src/gpu/vk/GrVkImageLayout.h b/src/gpu/vk/GrVkImageLayout.h
index 79d8ce3d0b..8f21fa8bfb 100644
--- a/src/gpu/vk/GrVkImageLayout.h
+++ b/src/gpu/vk/GrVkImageLayout.h
@@ -8,8 +8,6 @@
#ifndef GrVkImageLayout_DEFINED
#define GrVkImageLayout_DEFINED
-#include "GrVkVulkan.h"
-
#include "SkRefCnt.h"
#include "vk/GrVkTypes.h"
diff --git a/src/gpu/vk/GrVkImageView.h b/src/gpu/vk/GrVkImageView.h
index 27d70d29a6..a9a8b43066 100644
--- a/src/gpu/vk/GrVkImageView.h
+++ b/src/gpu/vk/GrVkImageView.h
@@ -8,10 +8,9 @@
#ifndef GrVkImageView_DEFINED
#define GrVkImageView_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrTypes.h"
#include "GrVkResource.h"
+#include "vk/GrVkTypes.h"
class GrVkSamplerYcbcrConversion;
struct GrVkYcbcrConversionInfo;
diff --git a/src/gpu/vk/GrVkIndexBuffer.h b/src/gpu/vk/GrVkIndexBuffer.h
index c6290c4576..cd945ac5b3 100644
--- a/src/gpu/vk/GrVkIndexBuffer.h
+++ b/src/gpu/vk/GrVkIndexBuffer.h
@@ -8,8 +8,6 @@
#ifndef GrVkIndexBuffer_DEFINED
#define GrVkIndexBuffer_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrBuffer.h"
#include "GrVkBuffer.h"
diff --git a/src/gpu/vk/GrVkInterface.h b/src/gpu/vk/GrVkInterface.h
index 67e8f28f13..5168ab2937 100644
--- a/src/gpu/vk/GrVkInterface.h
+++ b/src/gpu/vk/GrVkInterface.h
@@ -8,8 +8,6 @@
#ifndef GrVkInterface_DEFINED
#define GrVkInterface_DEFINED
-#include "GrVkVulkan.h"
-
#include "SkRefCnt.h"
#include "vk/GrVkBackendContext.h"
diff --git a/src/gpu/vk/GrVkMemory.h b/src/gpu/vk/GrVkMemory.h
index d68f9a4881..a1cdf1cb60 100644
--- a/src/gpu/vk/GrVkMemory.h
+++ b/src/gpu/vk/GrVkMemory.h
@@ -8,8 +8,6 @@
#ifndef GrVkMemory_DEFINED
#define GrVkMemory_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrVkBuffer.h"
#include "SkTArray.h"
#include "vk/GrVkTypes.h"
diff --git a/src/gpu/vk/GrVkPipeline.h b/src/gpu/vk/GrVkPipeline.h
index fa164becf9..e02fd7ca9f 100644
--- a/src/gpu/vk/GrVkPipeline.h
+++ b/src/gpu/vk/GrVkPipeline.h
@@ -8,10 +8,9 @@
#ifndef GrVkPipeline_DEFINED
#define GrVkPipeline_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrTypesPriv.h"
#include "GrVkResource.h"
+#include "vk/GrVkTypes.h"
class GrPipeline;
class GrPrimitiveProcessor;
diff --git a/src/gpu/vk/GrVkPipelineLayout.h b/src/gpu/vk/GrVkPipelineLayout.h
index a7b6dc54ae..f9722d222f 100644
--- a/src/gpu/vk/GrVkPipelineLayout.h
+++ b/src/gpu/vk/GrVkPipelineLayout.h
@@ -8,10 +8,9 @@
#ifndef GrVkPipelineLayout_DEFINED
#define GrVkPipelineLayout_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrTypes.h"
#include "GrVkResource.h"
+#include "vk/GrVkTypes.h"
class GrVkPipelineLayout : public GrVkResource {
public:
diff --git a/src/gpu/vk/GrVkPipelineState.h b/src/gpu/vk/GrVkPipelineState.h
index cd28a82865..297209eb6e 100644
--- a/src/gpu/vk/GrVkPipelineState.h
+++ b/src/gpu/vk/GrVkPipelineState.h
@@ -9,11 +9,10 @@
#ifndef GrVkPipelineState_DEFINED
#define GrVkPipelineState_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrVkDescriptorSetManager.h"
#include "GrVkPipelineStateDataManager.h"
#include "glsl/GrGLSLProgramBuilder.h"
+#include "vk/GrVkTypes.h"
class GrPipeline;
class GrStencilSettings;
diff --git a/src/gpu/vk/GrVkPipelineStateBuilder.h b/src/gpu/vk/GrVkPipelineStateBuilder.h
index a665136a32..fc322dff26 100644
--- a/src/gpu/vk/GrVkPipelineStateBuilder.h
+++ b/src/gpu/vk/GrVkPipelineStateBuilder.h
@@ -8,8 +8,6 @@
#ifndef GrVkPipelineStateBuilder_DEFINED
#define GrVkPipelineStateBuilder_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrPipeline.h"
#include "GrProgramDesc.h"
#include "GrVkPipelineState.h"
@@ -17,6 +15,7 @@
#include "GrVkVaryingHandler.h"
#include "SkSLCompiler.h"
#include "glsl/GrGLSLProgramBuilder.h"
+#include "vk/GrVkTypes.h"
class GrVkGpu;
class GrVkRenderPass;
diff --git a/src/gpu/vk/GrVkPipelineStateCache.cpp b/src/gpu/vk/GrVkPipelineStateCache.cpp
index 7b0f9f8038..0b742f70ec 100644
--- a/src/gpu/vk/GrVkPipelineStateCache.cpp
+++ b/src/gpu/vk/GrVkPipelineStateCache.cpp
@@ -5,7 +5,6 @@
* found in the LICENSE file.
*/
-#include "GrVkVulkan.h"
#include "GrProcessor.h"
#include "GrRenderTargetPriv.h" // TODO: remove once refPipelineState gets passed stencil settings.
diff --git a/src/gpu/vk/GrVkPipelineStateDataManager.h b/src/gpu/vk/GrVkPipelineStateDataManager.h
index 95e04a9324..f112d9ed55 100644
--- a/src/gpu/vk/GrVkPipelineStateDataManager.h
+++ b/src/gpu/vk/GrVkPipelineStateDataManager.h
@@ -8,11 +8,10 @@
#ifndef GrVkPipelineStateDataManager_DEFINED
#define GrVkPipelineStateDataManager_DEFINED
-#include "GrVkVulkan.h"
-
#include "glsl/GrGLSLProgramDataManager.h"
#include "SkAutoMalloc.h"
+#include "vk/GrVkTypes.h"
#include "vk/GrVkUniformHandler.h"
class GrVkGpu;
diff --git a/src/gpu/vk/GrVkRenderPass.h b/src/gpu/vk/GrVkRenderPass.h
index ef752b1875..ce668115ce 100644
--- a/src/gpu/vk/GrVkRenderPass.h
+++ b/src/gpu/vk/GrVkRenderPass.h
@@ -8,10 +8,9 @@
#ifndef GrVkRenderPass_DEFINED
#define GrVkRenderPass_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrTypes.h"
#include "GrVkResource.h"
+#include "vk/GrVkTypes.h"
class GrProcessorKeyBuilder;
class GrVkGpu;
diff --git a/src/gpu/vk/GrVkRenderTarget.h b/src/gpu/vk/GrVkRenderTarget.h
index 5ce87cd386..f936a19269 100644
--- a/src/gpu/vk/GrVkRenderTarget.h
+++ b/src/gpu/vk/GrVkRenderTarget.h
@@ -9,13 +9,12 @@
#ifndef GrVkRenderTarget_DEFINED
#define GrVkRenderTarget_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrVkImage.h"
#include "GrRenderTarget.h"
#include "GrVkRenderPass.h"
#include "GrVkResourceProvider.h"
+#include "vk/GrVkTypes.h"
class GrVkCommandBuffer;
class GrVkFramebuffer;
diff --git a/src/gpu/vk/GrVkResource.h b/src/gpu/vk/GrVkResource.h
index c1cd310e43..306269ba4f 100644
--- a/src/gpu/vk/GrVkResource.h
+++ b/src/gpu/vk/GrVkResource.h
@@ -8,7 +8,6 @@
#ifndef GrVkResource_DEFINED
#define GrVkResource_DEFINED
-#include "GrVkVulkan.h"
#include "SkRandom.h"
#include "SkTHash.h"
diff --git a/src/gpu/vk/GrVkResourceProvider.h b/src/gpu/vk/GrVkResourceProvider.h
index 72d0b60a09..4b0e00a35f 100644
--- a/src/gpu/vk/GrVkResourceProvider.h
+++ b/src/gpu/vk/GrVkResourceProvider.h
@@ -8,8 +8,6 @@
#ifndef GrVkResourceProvider_DEFINED
#define GrVkResourceProvider_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrResourceHandle.h"
#include "GrVkDescriptorPool.h"
#include "GrVkDescriptorSetManager.h"
@@ -23,6 +21,7 @@
#include "SkTArray.h"
#include "SkTDynamicHash.h"
#include "SkTInternalLList.h"
+#include "vk/GrVkTypes.h"
#include <mutex>
#include <thread>
diff --git a/src/gpu/vk/GrVkSampler.h b/src/gpu/vk/GrVkSampler.h
index 874ba78479..9fca6c9ece 100644
--- a/src/gpu/vk/GrVkSampler.h
+++ b/src/gpu/vk/GrVkSampler.h
@@ -8,8 +8,6 @@
#ifndef GrVkSampler_DEFINED
#define GrVkSampler_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrVkResource.h"
#include "GrVkSamplerYcbcrConversion.h"
#include "SkOpts.h"
diff --git a/src/gpu/vk/GrVkSamplerYcbcrConversion.h b/src/gpu/vk/GrVkSamplerYcbcrConversion.h
index 372876ca70..4b7b63b1a0 100644
--- a/src/gpu/vk/GrVkSamplerYcbcrConversion.h
+++ b/src/gpu/vk/GrVkSamplerYcbcrConversion.h
@@ -8,8 +8,6 @@
#ifndef GrVkSamplerYcbcrConverison_DEFINED
#define GrVkSamplerYcbcrConverison_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrVkResource.h"
#include "SkOpts.h"
diff --git a/src/gpu/vk/GrVkSemaphore.h b/src/gpu/vk/GrVkSemaphore.h
index 3373ff86e2..d90a498c40 100644
--- a/src/gpu/vk/GrVkSemaphore.h
+++ b/src/gpu/vk/GrVkSemaphore.h
@@ -8,13 +8,10 @@
#ifndef GrVkSemaphore_DEFINED
#define GrVkSemaphore_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrSemaphore.h"
#include "GrResourceProvider.h"
#include "GrVkResource.h"
-
#include "vk/GrVkTypes.h"
class GrBackendSemaphore;
diff --git a/src/gpu/vk/GrVkStencilAttachment.h b/src/gpu/vk/GrVkStencilAttachment.h
index 79dc74f960..cb471304b9 100644
--- a/src/gpu/vk/GrVkStencilAttachment.h
+++ b/src/gpu/vk/GrVkStencilAttachment.h
@@ -8,10 +8,9 @@
#ifndef GrVkStencil_DEFINED
#define GrVkStencil_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrStencilAttachment.h"
#include "GrVkImage.h"
+#include "vk/GrVkTypes.h"
class GrVkImageView;
class GrVkGpu;
diff --git a/src/gpu/vk/GrVkTexture.h b/src/gpu/vk/GrVkTexture.h
index 696db6b5cb..d913aedd34 100644
--- a/src/gpu/vk/GrVkTexture.h
+++ b/src/gpu/vk/GrVkTexture.h
@@ -8,10 +8,9 @@
#ifndef GrVkTexture_DEFINED
#define GrVkTexture_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrTexture.h"
#include "GrVkImage.h"
+#include "vk/GrVkTypes.h"
class GrVkGpu;
class GrVkImageView;
diff --git a/src/gpu/vk/GrVkTextureRenderTarget.h b/src/gpu/vk/GrVkTextureRenderTarget.h
index d774296049..5026213afa 100644
--- a/src/gpu/vk/GrVkTextureRenderTarget.h
+++ b/src/gpu/vk/GrVkTextureRenderTarget.h
@@ -9,10 +9,9 @@
#ifndef GrVkTextureRenderTarget_DEFINED
#define GrVkTextureRenderTarget_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrVkTexture.h"
#include "GrVkRenderTarget.h"
+#include "vk/GrVkTypes.h"
class GrVkGpu;
diff --git a/src/gpu/vk/GrVkTransferBuffer.h b/src/gpu/vk/GrVkTransferBuffer.h
index 988267c9d1..af9ed1bc7c 100644
--- a/src/gpu/vk/GrVkTransferBuffer.h
+++ b/src/gpu/vk/GrVkTransferBuffer.h
@@ -8,10 +8,9 @@
#ifndef GrVkTransferBuffer_DEFINED
#define GrVkTransferBuffer_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrBuffer.h"
#include "GrVkBuffer.h"
+#include "vk/GrVkTypes.h"
class GrVkGpu;
diff --git a/src/gpu/vk/GrVkTypesPriv.cpp b/src/gpu/vk/GrVkTypesPriv.cpp
index 5a2379e90a..ec75e58e3b 100644
--- a/src/gpu/vk/GrVkTypesPriv.cpp
+++ b/src/gpu/vk/GrVkTypesPriv.cpp
@@ -5,8 +5,6 @@
* found in the LICENSE file.
*/
-#include "GrVkVulkan.h"
-
#include "GrVkTypesPriv.h"
#include "GrVkImageLayout.h"
diff --git a/src/gpu/vk/GrVkUniformBuffer.h b/src/gpu/vk/GrVkUniformBuffer.h
index 5ffd13ba9b..1991f06445 100644
--- a/src/gpu/vk/GrVkUniformBuffer.h
+++ b/src/gpu/vk/GrVkUniformBuffer.h
@@ -8,9 +8,8 @@
#ifndef GrVkUniformBuffer_DEFINED
#define GrVkUniformBuffer_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrVkBuffer.h"
+#include "vk/GrVkTypes.h"
class GrVkGpu;
diff --git a/src/gpu/vk/GrVkUtil.h b/src/gpu/vk/GrVkUtil.h
index dd4319b904..b27954675a 100644
--- a/src/gpu/vk/GrVkUtil.h
+++ b/src/gpu/vk/GrVkUtil.h
@@ -8,13 +8,12 @@
#ifndef GrVkUtil_DEFINED
#define GrVkUtil_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrColor.h"
#include "GrTypes.h"
#include "GrVkInterface.h"
#include "SkMacros.h"
#include "ir/SkSLProgram.h"
+#include "vk/GrVkTypes.h"
class GrVkGpu;
diff --git a/src/gpu/vk/GrVkVaryingHandler.h b/src/gpu/vk/GrVkVaryingHandler.h
index 29b38ad429..cebf455914 100644
--- a/src/gpu/vk/GrVkVaryingHandler.h
+++ b/src/gpu/vk/GrVkVaryingHandler.h
@@ -8,8 +8,6 @@
#ifndef GrVkVaryingHandler_DEFINED
#define GrVkVaryingHandler_DEFINED
-#include "GrVkVulkan.h"
-
#include "glsl/GrGLSLVarying.h"
class GrVkVaryingHandler : public GrGLSLVaryingHandler {
diff --git a/src/gpu/vk/GrVkVertexBuffer.h b/src/gpu/vk/GrVkVertexBuffer.h
index 02b3451d74..cae781e311 100644
--- a/src/gpu/vk/GrVkVertexBuffer.h
+++ b/src/gpu/vk/GrVkVertexBuffer.h
@@ -8,8 +8,6 @@
#ifndef GrVkVertexBuffer_DEFINED
#define GrVkVertexBuffer_DEFINED
-#include "GrVkVulkan.h"
-
#include "GrBuffer.h"
#include "GrVkBuffer.h"
diff --git a/src/gpu/vk/GrVkVulkan.h b/src/gpu/vk/GrVkVulkan.h
deleted file mode 100644
index 3bea44b204..0000000000
--- a/src/gpu/vk/GrVkVulkan.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright 2018 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef GrVkVulkan_DEFINED
-#define GrVkVulkan_DEFINED
-
-#include "SkTypes.h"
-
-#ifdef VULKAN_CORE_H_
-#error "Skia's private vulkan header must be included before any other vulkan header."
-#endif
-
-#include "../../../include/third_party/vulkan/vulkan/vulkan_core.h"
-
-#ifdef SK_BUILD_FOR_ANDROID
-#ifdef VULKAN_ANDROID_H_
-#error "Skia's private vulkan android header must be included before any other vulkan header."
-#endif
-// This is needed to get android extensions for external memory
-#include "../../../include/third_party/vulkan/vulkan/vulkan_android.h"
-#endif
-
-#endif
diff --git a/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp b/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp
index 58884630c5..00a20c2e2f 100644
--- a/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp
+++ b/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp
@@ -12,5 +12,6 @@
#define VMA_STATIC_VULKAN_FUNCTIONS 0
#define VMA_IMPLEMENTATION
+#include <vulkan/vulkan_core.h>
#include "GrVulkanMemoryAllocator.h"
diff --git a/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.h b/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.h
index 419eb55748..518923a556 100644
--- a/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.h
+++ b/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.h
@@ -12,7 +12,10 @@
#ifndef GrVulkanMemoryAllocator_DEFINED
#define GrVulkanMemoryAllocator_DEFINED
-#include <vulkan/vulkan_core.h>
+// We only ever include this from src files which have already included vulkan.
+#ifndef VULKAN_CORE_H_
+#error "vulkan_core.h has not been included before trying to include the GrVulkanMemoryAllocator"
+#endif
#include "include/vk_mem_alloc.h"
#endif