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>
This commit is contained in:
Greg Daniel 2018-12-20 14:09:36 -05:00 committed by Skia Commit-Bot
parent d2fa2eb59f
commit 487132b828
49 changed files with 67 additions and 116 deletions

View File

@ -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" ]

View File

@ -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

View File

@ -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

View File

@ -11,7 +11,6 @@
#define GL_GLEXT_PROTOTYPES
#define EGL_EGLEXT_PROTOTYPES
#include "vk/GrVkVulkan.h"
#include "GrAHardwareBufferImageGenerator.h"

View File

@ -5,7 +5,6 @@
* found in the LICENSE file.
*/
#include "vk/GrVkVulkan.h"
#include "GrBackendSurface.h"

View File

@ -5,7 +5,6 @@
* found in the LICENSE file.
*/
#include "vk/GrVkVulkan.h"
#include "GrContext.h"

View File

@ -8,7 +8,6 @@
#ifndef GrVkAMDMemoryAllocator_DEFINED
#define GrVkAMDMemoryAllocator_DEFINED
#include "GrVkVulkan.h"
#include "vk/GrVkMemoryAllocator.h"

View File

@ -8,8 +8,6 @@
#ifndef GrVkBuffer_DEFINED
#define GrVkBuffer_DEFINED
#include "GrVkVulkan.h"
#include "GrVkResource.h"
#include "vk/GrVkTypes.h"

View File

@ -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:

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -8,9 +8,8 @@
#ifndef GrVkDescriptorPool_DEFINED
#define GrVkDescriptorPool_DEFINED
#include "GrVkVulkan.h"
#include "GrVkResource.h"
#include "vk/GrVkTypes.h"
class GrVkGpu;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -8,8 +8,6 @@
#ifndef GrVkImage_DEFINED
#define GrVkImage_DEFINED
#include "GrVkVulkan.h"
#include "GrBackendSurface.h"
#include "GrTexture.h"
#include "GrTypesPriv.h"

View File

@ -8,8 +8,6 @@
#ifndef GrVkImageLayout_DEFINED
#define GrVkImageLayout_DEFINED
#include "GrVkVulkan.h"
#include "SkRefCnt.h"
#include "vk/GrVkTypes.h"

View File

@ -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;

View File

@ -8,8 +8,6 @@
#ifndef GrVkIndexBuffer_DEFINED
#define GrVkIndexBuffer_DEFINED
#include "GrVkVulkan.h"
#include "GrBuffer.h"
#include "GrVkBuffer.h"

View File

@ -8,8 +8,6 @@
#ifndef GrVkInterface_DEFINED
#define GrVkInterface_DEFINED
#include "GrVkVulkan.h"
#include "SkRefCnt.h"
#include "vk/GrVkBackendContext.h"

View File

@ -8,8 +8,6 @@
#ifndef GrVkMemory_DEFINED
#define GrVkMemory_DEFINED
#include "GrVkVulkan.h"
#include "GrVkBuffer.h"
#include "SkTArray.h"
#include "vk/GrVkTypes.h"

View File

@ -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;

View File

@ -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:

View File

@ -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;

View File

@ -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;

View File

@ -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.

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -8,7 +8,6 @@
#ifndef GrVkResource_DEFINED
#define GrVkResource_DEFINED
#include "GrVkVulkan.h"
#include "SkRandom.h"
#include "SkTHash.h"

View File

@ -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>

View File

@ -8,8 +8,6 @@
#ifndef GrVkSampler_DEFINED
#define GrVkSampler_DEFINED
#include "GrVkVulkan.h"
#include "GrVkResource.h"
#include "GrVkSamplerYcbcrConversion.h"
#include "SkOpts.h"

View File

@ -8,8 +8,6 @@
#ifndef GrVkSamplerYcbcrConverison_DEFINED
#define GrVkSamplerYcbcrConverison_DEFINED
#include "GrVkVulkan.h"
#include "GrVkResource.h"
#include "SkOpts.h"

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -5,8 +5,6 @@
* found in the LICENSE file.
*/
#include "GrVkVulkan.h"
#include "GrVkTypesPriv.h"
#include "GrVkImageLayout.h"

View File

@ -8,9 +8,8 @@
#ifndef GrVkUniformBuffer_DEFINED
#define GrVkUniformBuffer_DEFINED
#include "GrVkVulkan.h"
#include "GrVkBuffer.h"
#include "vk/GrVkTypes.h"
class GrVkGpu;

View File

@ -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;

View File

@ -8,8 +8,6 @@
#ifndef GrVkVaryingHandler_DEFINED
#define GrVkVaryingHandler_DEFINED
#include "GrVkVulkan.h"
#include "glsl/GrGLSLVarying.h"
class GrVkVaryingHandler : public GrGLSLVaryingHandler {

View File

@ -8,8 +8,6 @@
#ifndef GrVkVertexBuffer_DEFINED
#define GrVkVertexBuffer_DEFINED
#include "GrVkVulkan.h"
#include "GrBuffer.h"
#include "GrVkBuffer.h"

View File

@ -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

View File

@ -12,5 +12,6 @@
#define VMA_STATIC_VULKAN_FUNCTIONS 0
#define VMA_IMPLEMENTATION
#include <vulkan/vulkan_core.h>
#include "GrVulkanMemoryAllocator.h"

View File

@ -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